AC capacitor-plugin-upgrade-v4-to-v5
Обновляет библиотеку плагина Capacitor с v4 до v5 с помощью `npx @capacitor/plugin-migration-v4-to-v5@latest`, затем выполняет ручную проверку: зависимости `@capacitor/*` до `latest-5`, компиляция/целевой SDK 33 по умолчанию, AGP 8.0.0, Gradle 8.0.2, `namespace` в build.gradle вместо `package` в манифесте, Java 17, удаление Jetifier, Kotlin 1.8.20 с `kotlin-stdlib`, а также изменения в коде — требования `CAPBridgedPlugin` перенесены на уровень экземпляра (`pluginId` -> `identifier`, `pluginMethods` с типом `[CAPPluginMethod]`) и в Android `PluginCall.getObject()` / `getArray()` могут возвращать null. Используйте, когда зависимость плагина — Capacitor 4, и он должен поддерживать 5, или когда приложения на v5 выдают ошибку "Namespace not specified" в модуле плагина. Не используйте для обновлений приложений, других основных версий или библиотек, не относящихся к Capacitor.
машинный переводПоказать оригиналСкрыть оригинал«Upgrades a Capacitor plugin library from v4 to v5 using `npx @capacito…»
Upgrades a Capacitor plugin library from v4 to v5 using `npx @capacitor/plugin-migration-v4-to-v5@latest`, then the manual checklist - `@capacitor/*` dev deps to `latest-5`, compile/target SDK 33 defaults, AGP 8.0.0, Gradle 8.0.2, `namespace` in build.gradle instead of manifest `package`, Java 17, Jetifier removal, Kotlin 1.8.20 with `kotlin-stdlib`, plus code changes - `CAPBridgedPlugin` requirements moved to instance level (`pluginId` -> `identifier`, `pluginMethods` typed `[CAPPluginMethod]`) and Android `PluginCall.getObject()` / `getArray()` may return null. Use when a plugin's peer dependency is Capacitor 4 and it must support 5, or apps on v5 fail with "Namespace not specified" in the plugin module. Do not use for app upgrades, other major versions, or non-Capacitor libraries.
Обновляет библиотеку плагина Capacitor с v4 до v5 с помощью npx @capacitor/plugin-migration-v4-to-v5@latest, затем выполняет ручную проверку: зависимости…
Как процесс C 61/100 · Есть пробелы — слабые места: результат и критерий готовности, входы и предусловия, повторный запуск
Как улучшить
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 2
✓ Критических и высоких находок нет
Средние и низкие: 2
-
низкая Широкие права
meta-dynamic-shellSKILL.md:27Shell-команда, выполняемая автоматически при загрузке скилла (преамбула !`cmd` в Claude Code)!`node -e "const fs=require('fs');if(!fs.existsSync('package.json'))process.exit(0);const pkg=JSON.parse(fs.readFileSync('package.json','utf8'));const out=['package.name='+(pkg.name||''),'package.vers -
низкая Широкие права
meta-dynamic-shellSKILL.md:30Shell-команда, выполняемая автоматически при загрузке скилла (преамбула !`cmd` в Claude Code)!`find . -maxdepth 3 \( -path './example-app' -o -path './ios' -o -path './android' \)`
Просканировано файлов: 3. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
✓ По спецификации Agent Skills замечаний нет
Процессный рейтинг: все десять параметров 61/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 30Повторный запуск. Изменяющих операций: 4, без проверки текущего состояния
- 50Когда включается. Не сказано, при каком запросе скилл включается
- 50Ошибки и развилки. Развилок: 0, есть раздел про ошибки
- 100Инструменты и файлы. Инструменты объявлены во frontmatter
- 100Шаги. Шагов: 14
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 1068 токенов
- 100Отчётность по ходу. Скилл сообщает о ходе работы
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +3Формат ответа не описан: модель каждый раз решает сама
- +1Лицензия не указана
- +2Инструкции на одном языке
- +4Описание говорит, когда скилл НЕ применять
- +3Длина description 794 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 8 заголовков
- +3Пошаговые инструкции: 14 пунктов
- +4Есть примеры (2 блоков кода)
- +4Справочные файлы упоминаются в инструкциях (1 из 1)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 92.