# capacitor-plugin-upgrade-v4-to-v5

Ведёт плагин Capacitor с версии 4 на 5: запускает официальный мигратор, потом добивает Gradle, Java 17 и правки в коде.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 634 установки · ★ 73
- Автор: Cap-go
- Лицензия: MIT · policy=mirror · лицензия открытая, файл — в исходнике
- Исходник: https://github.com/Cap-go/capgo-skills/tree/HEAD/skills/capacitor-plugin-upgrade-v4-to-v5/SKILL.md
- Обновлён: 2026-10-17
- HTML: https://affpapa.org/nevibecode/skills/capacitor-plugin-upgrade-v4-to-v5

## Что делает

Скилл для тех, кто поддерживает библиотеку плагинов Capacitor и хочет, чтобы она собиралась в приложениях на Capacitor 5. Сначала он проверяет по снимку проекта, что `@capacitor/core` действительно 4.x, и просит чистый `git status`. Затем запускает `npx @capacitor/plugin-migration-v4-to-v5@latest` — команда правит `package.json`, `android/build.gradle`, wrapper, `gradle.properties` и манифест. После неё стоит посмотреть `git diff`: часть изменений мигратор не применяет.

Ручной чек-лист закрывает остальное. Dev-зависимости `@capacitor/cli`, `core`, `android`, `ios` переводятся на `latest-5`, peer-зависимость `@capacitor/core` — на `^5.0.0`. В Android это compile/target SDK 33, AGP 8.0.0, Gradle 8.0.2, `namespace` в блоке `android {}` вместо `package=` в манифесте, Java 17, удаление Jetifier и Kotlin 1.8.20 с `kotlin-stdlib`. В iOS-коде требования `CAPBridgedPlugin` переезжают на уровень экземпляра: `pluginId` становится `identifier`, `pluginMethods` типизируется как `[CAPPluginMethod]`, `getMethod(_:)` убирается. Плагинам на макросе `CAP_PLUGIN` это не нужно.

Главная ловушка на Android: `call.getObject(key)` и `call.getArray(key)` теперь могут вернуть `null`. Если ключ обязательный, добавьте проверку и `call.reject(...)` с внятным сообщением, иначе получите `NullPointerException` в рантайме. Скилл не подходит для миграции самого приложения, для других мажорных версий и для библиотек вне Capacitor — для приложения берите `capacitor-app-upgrade-v4-to-v5`.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add Cap-go/capgo-skills --skill capacitor-plugin-upgrade-v4-to-v5 -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/capacitor-plugin-upgrade-v4-to-v5/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/capacitor-plugin-upgrade-v4-to-v5/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add Cap-go/capgo-skills --skill capacitor-plugin-upgrade-v4-to-v5 -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/capacitor-plugin-upgrade-v4-to-v5/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add Cap-go/capgo-skills --skill capacitor-plugin-upgrade-v4-to-v5 -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/capacitor-plugin-upgrade-v4-to-v5/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install Cap-go/capgo-skills capacitor-plugin-upgrade-v4-to-v5
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/capacitor-plugin-upgrade-v4-to-v5/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add Cap-go/capgo-skills --skill capacitor-plugin-upgrade-v4-to-v5 -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/Cap-go/capgo-skills --path skills/capacitor-plugin-upgrade-v4-to-v5
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/capacitor-plugin-upgrade-v4-to-v5/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add Cap-go/capgo-skills --skill capacitor-plugin-upgrade-v4-to-v5 -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/Cap-go/capgo-skills/tree/HEAD/skills/capacitor-plugin-upgrade-v4-to-v5/SKILL.md

## Когда брать
- перевести библиотеку плагина с Capacitor 4 на 5
- починить сборку плагина с ошибкой `Namespace not specified`
- заменить `package=` в манифесте на `namespace` в `build.gradle`
- добавить проверки на `null` после `getObject()` и `getArray()`
- перенести требования `CAPBridgedPlugin` на уровень экземпляра в iOS

## Примеры запросов агенту
- прогони миграцию плагина Capacitor с 4 на 5 и покажи `git diff`
- проверь, что в `package.json` все `@capacitor/*` на 5.x, и добери ручной чек-лист
- найди в `android/src/main/` вызовы `getObject(` и `getArray(` и добавь проверки на `null`

## Похожие
- [capacitor-plugin-upgrades](https://affpapa.org/nevibecode/skills/capacitor-plugin-upgrades.md) — скилл · 811 установок
- [agp-9-upgrade](https://affpapa.org/nevibecode/skills/agp-9-upgrade.md) — скилл · 1200 установок
- [capacitor-plugins](https://affpapa.org/nevibecode/skills/capacitor-plugins.md) — скилл · 1800 установок
- [play-billing-library-version-upgrade](https://affpapa.org/nevibecode/skills/play-billing-library-version-upgrade.md) — скилл · 1900 установок
- [upgrade-react-native](https://affpapa.org/nevibecode/skills/upgrade-react-native.md) — скилл · 1300 установок
- [kotlin-multiplatform](https://affpapa.org/nevibecode/skills/kotlin-multiplatform.md) — скилл · 1600 установок

Из того же набора: [cap-go/capgo-skills](https://affpapa.org/nevibecode/by/cap-go/capgo-skills.md) — 29 карточек

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
