Проверка соответствия implementation-скилам
Проверять реализацию как независимый аудитор. Не исправлять код, тесты,
конфигурацию и документацию. Создавать и обновлять только файл замечаний.
Перед созданием отчёта полностью прочитать
report-template.md и использовать заданные там
структуру, значения полей и правила обновления.
Рабочий процесс
- Прочитать действующие инструкции репозитория.
- Определить режим и область проверки:
- явно названные файлы, компонент, слой или операция означают ограниченную
проверку;
- просьба проверить изменения означает проверку diff относительно явно
указанной базы, а без неё — незакоммиченных изменений;
- просьба проверить сервис или проект целиком означает полную проверку.
- Не угадывать базовую ветку. Запросить её, только если без неё нельзя определить
явно запрошенный diff ветки.
- Читать непосредственные зависимости для понимания, не включая их автоматически
в проверенную область.
- Динамически обнаружить применимые implementation-скилы по актуальному каталогу
навыков среды. Если каталог недоступен, искать frontmatter
name и
description в указанных пользователем каталогах навыков и отметить
ограничение обнаружения.
- Сначала отбирать кандидатов по metadata: назначению, языку, технологии, путям,
слою и концепциям. Не поддерживать закрытый перечень имён скилов.
- Исключать documentation-, creator-, installer-, meta- и review-скилы, а также
скилы отсутствующих в области технологий. Суффикс имени использовать только
как сигнал, но не как условие.
- Полностью прочитать
SKILL.md каждого кандидата. Читать связанные references,
которые сам скил назначает для проверяемой части реализации. После чтения
подтвердить применимость или исключить кандидата.
- Перед содержательным анализом и командами вывести в чат стартовую сводку:
режим, область и её основание, выбранные скилы, планируемые проверки,
исключения и путь
.review/skill-compliance.md. После однозначной сводки не
ждать подтверждения.
- Если область нужно расширить, сначала сообщить отдельную обновлённую сводку.
- Проверить обязательные требования и явно сформулированные рекомендации.
Учитывать предусловия и допустимые варианты правила. Не превращать личное
предпочтение в рекомендацию скила.
- Найти заданные репозиторием lint, type-check и test-команды. Сначала выполнить
узкие безопасные проверки; при полном аудите выполнить полный обязательный
набор, если он доступен и не требует нового разрешения.
- Не запускать автоисправление, обновление snapshots/golden-файлов, установку
зависимостей, внешнюю инфраструктуру или сетевые сервисы без разрешения.
- Создавать замечание только при достаточном доказательстве применимости правила
и нарушения. Подозрения и недоступные проверки записывать в ограничения.
- Если два применимых скила конфликтуют, создавать одно замечание со статусом
Требует согласования; самостоятельно не выбирать правило.
- Обновить отчёт по правилам шаблона. При ограниченной проверке не изменять
замечания вне области.
- Проверить корневой
.gitignore. Если отдельной строки .review/ нет,
предложить пользователю добавить её. Не изменять .gitignore без согласия и
не использовать .git/info/exclude вместо проектного правила.
- Проверить
git status и убедиться, что отчёт не добавлен в index.
- Завершить краткой сводкой: новые и обновлённые замечания, количества по
статусам и приоритетам, высокоприоритетные замечания, вопросы согласования,
выполненные проверки, ограничения и ссылка на отчёт. Не начинать исправления.
Классификация правил
- Отмечать обязательное правило как
Требование.
- Отмечать явно необязательный предпочтительный подход как
Рекомендация.
- Создавать замечания о нарушенных рекомендациях с приоритетом
Низкий.
- Для требования определять приоритет по практическому влиянию, а не по сложности
исправления или уверенности аудитора.
- Не создавать замечание, если допустимое отклонение от рекомендации обосновано в
проекте.
- Если источник правила найден, но его обязательность нельзя определить
однозначно, создавать замечание со статусом
Требует согласования и конкретным
вопросом о типе правила.
Доказательства и автоматические проверки
- Указывать точное правило, раздел или пункт и место реализации.
- Описывать наблюдаемое поведение, ожидаемое состояние и практическое последствие.
- Объединять несколько мест только при одной первопричине.
- Считать падение команды замечанием, только если оно доказывает проверяемое
нарушение; иначе переносить результат в ограничения.
- Продолжать остальные безопасные проверки после независимого отказа команды.
- Не считать частичный вывод успешным завершением команды.
Границы изменений
Разрешено изменять .review/skill-compliance.md и создавать каталог .review/
для него. Строку .review/ разрешено добавлять в корневой .gitignore только
после согласия пользователя. Не исправлять обнаруженные проблемы даже при
очевидном решении и не менять .git/info/exclude.
1---2name: implementation-skill-compliance-review3description: Проверка реализации на соответствие требованиям и рекомендациям динамически обнаруженных implementation-скилов с записью замечаний в `.review/skill-compliance.md`. Использовать для полного или ограниченного аудита кода, структуры, конфигурации и тестов без их исправления. Не использовать для написания или изменения реализации, проверки соответствия документации либо автоматического запуска после каждой правки.4---56# Проверка соответствия implementation-скилам78Проверять реализацию как независимый аудитор. Не исправлять код, тесты,9конфигурацию и документацию. Создавать и обновлять только файл замечаний.1011Перед созданием отчёта полностью прочитать12[report-template.md](references/report-template.md) и использовать заданные там13структуру, значения полей и правила обновления.1415## Рабочий процесс16171. Прочитать действующие инструкции репозитория.182. Определить режим и область проверки:19 - явно названные файлы, компонент, слой или операция означают ограниченную20 проверку;21 - просьба проверить изменения означает проверку diff относительно явно22 указанной базы, а без неё — незакоммиченных изменений;23 - просьба проверить сервис или проект целиком означает полную проверку.243. Не угадывать базовую ветку. Запросить её, только если без неё нельзя определить25 явно запрошенный diff ветки.264. Читать непосредственные зависимости для понимания, не включая их автоматически27 в проверенную область.285. Динамически обнаружить применимые implementation-скилы по актуальному каталогу29 навыков среды. Если каталог недоступен, искать frontmatter `name` и30 `description` в указанных пользователем каталогах навыков и отметить31 ограничение обнаружения.326. Сначала отбирать кандидатов по metadata: назначению, языку, технологии, путям,33 слою и концепциям. Не поддерживать закрытый перечень имён скилов.347. Исключать documentation-, creator-, installer-, meta- и review-скилы, а также35 скилы отсутствующих в области технологий. Суффикс имени использовать только36 как сигнал, но не как условие.378. Полностью прочитать `SKILL.md` каждого кандидата. Читать связанные references,38 которые сам скил назначает для проверяемой части реализации. После чтения39 подтвердить применимость или исключить кандидата.409. Перед содержательным анализом и командами вывести в чат стартовую сводку:41 режим, область и её основание, выбранные скилы, планируемые проверки,42 исключения и путь `.review/skill-compliance.md`. После однозначной сводки не43 ждать подтверждения.4410. Если область нужно расширить, сначала сообщить отдельную обновлённую сводку.4511. Проверить обязательные требования и явно сформулированные рекомендации.46 Учитывать предусловия и допустимые варианты правила. Не превращать личное47 предпочтение в рекомендацию скила.4812. Найти заданные репозиторием lint, type-check и test-команды. Сначала выполнить49 узкие безопасные проверки; при полном аудите выполнить полный обязательный50 набор, если он доступен и не требует нового разрешения.5113. Не запускать автоисправление, обновление snapshots/golden-файлов, установку52 зависимостей, внешнюю инфраструктуру или сетевые сервисы без разрешения.5314. Создавать замечание только при достаточном доказательстве применимости правила54 и нарушения. Подозрения и недоступные проверки записывать в ограничения.5515. Если два применимых скила конфликтуют, создавать одно замечание со статусом56 `Требует согласования`; самостоятельно не выбирать правило.5716. Обновить отчёт по правилам шаблона. При ограниченной проверке не изменять58 замечания вне области.5917. Проверить корневой `.gitignore`. Если отдельной строки `.review/` нет,60 предложить пользователю добавить её. Не изменять `.gitignore` без согласия и61 не использовать `.git/info/exclude` вместо проектного правила.6218. Проверить `git status` и убедиться, что отчёт не добавлен в index.6319. Завершить краткой сводкой: новые и обновлённые замечания, количества по64 статусам и приоритетам, высокоприоритетные замечания, вопросы согласования,65 выполненные проверки, ограничения и ссылка на отчёт. Не начинать исправления.6667## Классификация правил6869- Отмечать обязательное правило как `Требование`.70- Отмечать явно необязательный предпочтительный подход как `Рекомендация`.71- Создавать замечания о нарушенных рекомендациях с приоритетом `Низкий`.72- Для требования определять приоритет по практическому влиянию, а не по сложности73 исправления или уверенности аудитора.74- Не создавать замечание, если допустимое отклонение от рекомендации обосновано в75 проекте.76- Если источник правила найден, но его обязательность нельзя определить77 однозначно, создавать замечание со статусом `Требует согласования` и конкретным78 вопросом о типе правила.7980## Доказательства и автоматические проверки8182- Указывать точное правило, раздел или пункт и место реализации.83- Описывать наблюдаемое поведение, ожидаемое состояние и практическое последствие.84- Объединять несколько мест только при одной первопричине.85- Считать падение команды замечанием, только если оно доказывает проверяемое86 нарушение; иначе переносить результат в ограничения.87- Продолжать остальные безопасные проверки после независимого отказа команды.88- Не считать частичный вывод успешным завершением команды.8990## Границы изменений9192Разрешено изменять `.review/skill-compliance.md` и создавать каталог `.review/`93для него. Строку `.review/` разрешено добавлять в корневой `.gitignore` только94после согласия пользователя. Не исправлять обнаруженные проблемы даже при95очевидном решении и не менять `.git/info/exclude`.