Что это 🕵️
Verification Loop — это комплексная система верификации для сессий разработки в Agent Skills. Она автоматизирует проверку качества кода перед созданием Pull Request (PR) или после значительных изменений. Скилл последовательно запускает сборку проекта, проверку типов, линтинг, тесты, сканирование безопасности и обзор изменений в Git, а затем формирует единый отчёт о готовности. Цель — поймать проблемы на ранней стадии, не полагаясь только на визуальный осмотр или единичные хуки.
Как работает 🛠️
Скилл состоит из шести последовательных фаз. Каждая фаза запускает соответствующую команду и анализирует вывод.
Фаза 1: Build Verification 🏗️
Проверяет, собирается ли проект без ошибок. Команда зависит от менеджера пакетов:
npm run build 2>&1 | tail -20
# или
pnpm build 2>&1 | tail -20
Если сборка падает — процесснемедленно останавливается. Никакие дальнейшие проверки не имеют смысла, пока проект не компилируется.
Фаза 2: Type Check 🔍
Для TypeScript-проектов запускается npx tsc --noEmit, для Python — pyright .. Выводятся первые 30 строк ошибок. Критические ошибки типов должны быть исправлены до перехода к следующей фазе.
Фаза 3: Lint Check 🧹
Проверка стиля кода.
# JavaScript / TypeScript
npm run lint 2>&1 | head -30
# Python
ruff check . 2>&1 | head -30
Выводятся первые 30 строк предупреждений и ошибок линтера.
Фаза 4: Test Suite 🧪
Запускает тесты с покрытием (минимальный порог — 80%).
npm run test -- --coverage 2>&1 | tail -50
В отчёт попадают:
- Общее количество тестов
- Пройдено / Упало
- Процент покрытия
Фаза 5: Security Scan 🔒
Ищет потенциально опасные данные или забытый отладочный вывод.
# Поиск ключей API (sk-...)
grep -rn "sk-" --include="*.ts" --include="*.js" . 2>/dev/null | head -10
# Поиск строк api_key
grep -rn "api_key" --include="*.ts" --include="*.js" . 2>/dev/null | head -10
# Поиск забытых console.log
grep -rn "console.log" --include="*.ts" --include="*.tsx" src/ 2>/dev/null | head -10
Выводятся только первые 10 совпадений по каждому шаблону, чтобы не завалить консоль.
Фаза 6: Diff Review 📄
Показывает статистику изменений в Git и список изменённых файлов относительно предыдущего коммита (HEAD~1).
git diff --stat
git diff HEAD~1 --name-only
Далее каждый изменённый файл вручную (агентом) просматривается на:
- Непреднамеренные изменения
- Отсутствие обработки ошибок
- Потенциальные краевые случаи
Формат вывода 📋
После всех фаз генерируется единый отчёт:
VERIFICATION REPORT
==================
Build: [PASS/FAIL]
Types: [PASS/FAIL] (X errors)
Lint: [PASS/FAIL] (X warnings)
Tests: [PASS/FAIL] (X/Y passed, Z% coverage)
Security: [PASS/FAIL] (X issues)
Diff: [X files changed]
Overall: [READY/NOT READY] for PR
Issues to Fix:
1. ...
2. ...
Финальный вердикт — READY только если все фазы прошли успешно.
Когда использовать 🔄
- После завершения feature или крупного изменения — перед созданием PR.
- Перед PR — чтобы убедиться, что все качественные ворота пройдены.
- После рефакторинга — чтобы ничего не сломалось.
- В длительных сессиях — скилл предлагает мысленно запускать его каждые 15 минут или после каждой завершённой функции/компонента (команда
/verify).
Важно знать 💡
- Сборка — критическая фаза. Если
npm run build (или pnpm build) падает, процесс останавливается. Дальнейшие проверки не запускаются.
- Порог покрытия тестов — 80%. Если покрытие ниже, фаза считается проваленной.
- Сканирование безопасности проверяет только три шаблона:
sk-, api_key и console.log. Это не замена полноценному SAST-сканеру.
- Diff Review — единственная фаза, которая не имеет автоматического
PASS/FAIL. Она требует от агента анализа изменений.
- Непрерывный режим — не автоматический таймер, а рекомендация: мысленно проверять каждые ~15 минут или использовать
/verify.
- Отличие от postToolUse hooks — хуки ловят ошибки сразу, но поверхностно. Verification Loop даёт полный, глубокий обзор перед отправкой кода.
Комментарии
Комментариев пока нет. Будьте первым.