code-assessment
Code Assessment — навык для локальной проверки качества и корректности проектов AEM as a Cloud Service. Он предназначен для AEM Java, Sling Models, OSGi и Maven-кода: умеет направлять проверку, находить проблемы, составлять план и выполнять хирургические исправления только после явного запроса. Рабочий цикл завершается проверкой через mvn compile, когда исправление действительно применялось. В исходном описании отдельно подчёркнуто, что обычный сценарий работает против локального workspace и не обращается к внешним сервисам или сетевым API. Навык принимает два вида входа. Если пользователь назвал файлы или координаты, проверяются именно они. Если пользователь просит просканировать проект или не назвал файлы, запускается режим discover с детерминированным analyzer-ом и заданными корнями workspace. Analyzer один раз разбирает проект и возвращает единый формат findings. Для каждого обнаруженного шаблона downstream-runbook одинаково обрабатывает обнаружение, план, редактирование и проверку. LLM-сканирование не является запасным механизмом: шаблоны без detector-а остаются planned и не выдаются за фактически найденные проблемы. В маршрутизации описаны типовые сигналы для обновления AEM SDK и Mockito, устаревших зависимостей, неправильного @Inject в Sling Models, отсутствующих timeout у исходящих HTTP-вызовов, неограниченных запросов и deprecated API. Для более крупных миграций предусмотрены направления по Scheduler, ResourceChangeListener, JobConsumer, replication, event migration, AssetManager и отдельным HTL-предупреждениям. Это не означает, что каждый такой паттерн автоматически исправляется в любом проекте: конкретная поддержка определяется каталогом patterns и соответствующим expert skill. Ключевое правило применения — один pattern за сессию. Такой предел нужен для атомарности и понятного отката; запрос «исправить всё» не превращается в массовую неаудируемую правку. Большие изменения обрабатываются возобновляемыми пакетами с checkpoint-файлом последнего запуска. Правила также требуют хирургических изменений без переформатирования, явной фиксации skipped-находок с причиной и запрета commit, push или открытия PR самим навыком. Навык полезен, когда нужно локально проверить Sling Models, зависимости Maven, конфигурацию OSGi, исходящие клиенты, Query Builder/JCR-запросы или следы устаревшего API перед compile-проверкой. Он не заменяет тестирование в работающем AEM, проверку Cloud Manager, runtime-телеметрию, анализ live-репозитория и проверку исторических изменений. В исходном SKILL.md также зафиксировано требование JDK 11 или новее для analyzer-а; если JDK отсутствует, обнаружение должно завершиться понятным сообщением, а не имитацией результата. У навыка есть практические границы: большинство detectors работают локально и не делают сетевых вызовов, а специальное исключение для remove-deprecated-api связано с загрузкой AEM Analyser Maven Plugin и его данных. Если такое сетевое предварительное действие недоступно, этот паттерн следует пропустить с точной причиной, сохранив остальные результаты. Для задач, зависящих от live AEM, runtime-состояния или внешних сервисов, карточка должна честно сообщать, что они находятся за пределами её scope.
Для чего подходит
- Ревью AEM Cloud Service кода
- Проверка Sling и OSGi-конфигурации
- Compile-проверка Maven-проекта
Установка
Сначала прочитайте SKILL.md и scripts в исходном репозитории. Затем выполните команду в каталоге проекта:
npx skills add https://github.com/adobe/skills/tree/main/plugins/aem/cloud-service/skills/code-assessment