ПЛАГИН ДЛЯ CLAUDE CODE · ОНБОРДИНГ
qa-pilot
Скиллы для Claude Code: QA-план задачи, анализ покрытия, аудит требований и тестов, написание тестов.
3 команды
1100+ правил QA
проверки скриптами
ПРАВИЛА · ТЕСТЫ
Четыре правила для тестов
Тест должен доказать, что умеет падать
Новый тест: агент ломает проверяемый код или саму проверку, видит падение, откатывает; основная сессия перепроверяет выборочно. Существующие: аудит тестов ломает код под выборкой тестов скриптом, который сам откатывает файл.
Убирает тесты, которые проходят при любом поведении.
Ожидаемый результат — с источником
Источник — строка спеки или AC, решение проекта, инвариант из базы или конвенция в другом месте кода. Проверяемый код источником не бывает. Нет источника — вопрос владельцу, а не тест.
Убирает тесты, которые закрепляют баг как норму.
UI-тест проверяет то, что видит пользователь
Удалили — строки нет в списке. Сохранили — значение на месте после перезагрузки. Статус ответа проверяется только в дополнение. Исключения (у действия нет следа в UI, API-тест) помечаются в тесте с причиной.
Убирает зелёный тест при ответе 200 и неизменившемся экране.
«Покрыто» — это три ссылки
Тест по файлу и строке, проверка именно этого условия, слой тестов запускается в CI. «Не покрыто» тоже доказывается: прикладывается поиск и число совпадений.
Убирает «всё покрыто» на слово.
ПРАВИЛА · РАБОТА В ПРОЕКТЕ
Как плагин работает в репозитории
Требования проверяются до кода
Если test вызван до разработки: тестируемость AC, согласованность с кодом и соседними спеками, неописанные состояния сущностей.
Спрашивает, а не угадывает
Недостающее — одним списком вопросов. Без ответа — в раздел «Open gaps», зависимая работа помечается заблокированной.
Правила проекта главнее правил плагина
CLAUDE.md, AGENTS.md и конфиги репозитория перекрывают плагин. Конфликт отмечается в отчёте.
Границы автонаписания тестов
Без отдельного согласования — до 5 тестов и 1 e2e на задачу. Продуктовый код не меняется. Тест на баг остаётся красным. Удалить или ослабить тест решает владелец.
Ревью перед сдачей
Ревьюеры по узким аспектам: ложно-зелёные тесты, флаки, простота, конвенции. До 3 раундов, каждая находка сверяется с кодом.
Безопасность
Браузер запускается только на окружениях, отмеченных безопасными в профиле. Значения секретов не читаются.
ЧТО ЭТО
Плагин для Claude Code: набор QA-скиллов и база правил тестирования
Установка. Две команды в Claude Code. Менять что-либо в репозитории не нужно.
Контекст проекта. Стек, тестовые слои, команды и CI записываются в профиль один раз.
Результаты. Планы, отчёты и тесты сохраняются файлами в репозитории. Прогресс пишется по ходу работы, прерванную сессию можно продолжить.
Состав. Три команды для пользователя, восемь внутренних скиллов, база из 1137 правил книги и 176 собственных, Python-скрипты проверок.
КАК УСТРОЕНО
Три команды
| Команда | Что делает | Когда вызывать |
|---|---|---|
| /qa-pilot:onboard | Создаёт профиль проекта: стек, тестовые слои, команды, CI, критичные флоу, окружения | Один раз при подключении. Повторно — после смены фреймворка или структуры тестов |
| /qa-pilot:test [контекст] | QA одной задачи: план до кода, проверка после кода, проверка в браузере, тесты по готовому плану | На каждую задачу: до начала разработки и после реализации |
| /qa-pilot:audit [контекст] | Аудит всего проекта, требований одной фичи или кода тестов. Результат — список работ по приоритету | При входе в проект, после большой фичи, перед релизом, при нестабильных тестах |
Контекст — номер тикета, название фичи, URL или «в браузере». Без контекста режим определяется по ветке и диффу.
ОБЩАЯ СХЕМА
Когда какую команду вызывать
ВХОД В ПРОЕКТ · ОДИН РАЗ
Пришли на проект
onboard
audit
→ карта рисков и план: что чинить, что покрыть первым
КАЖДАЯ ЗАДАЧА
Тикет
test
QA-план
Пишете код
test
проверка + тесты
Мерж
ВРЕМЯ ОТ ВРЕМЕНИ
audit — после большой фичи или серии мелких изменений, перед релизом
test «в браузере» — пройти флоу руками, воспроизвести баг, проверить фикс
ШАГ 1 · КАК УСТРОЕН
/qa-pilot:onboard
1 · Сканирование, без вопросов
Читает манифесты, конфиги, CI-воркфлоу, CLAUDE.md и AGENTS.md, выборку тестов. Записывает команды тестов, линта и тайпчека; какие слои тестов запускает CI; как ошибки API доходят до UI; зрелость тестового фреймворка по 9 областям. Значения секретов не читаются.
2 · Вопросы, одним сообщением
Только то, чего нет в коде: безопасные и запрещённые окружения, источник тестовых учёток, трекер, 3–7 критичных флоу (плагин предлагает, человек подтверждает), черты продукта, противоречия из шага 1. Без ответа — в раздел «Open gaps».
3 · Профиль и где он используется
- команды и CI-слои → запуск тестов, проверка «покрыто»
- критичные флоу → P2 на них становится Must
- черты продукта → отбор правил из базы
- окружения → где разрешена проверка в браузере
4 · Проверки
Запуск самой дешёвой команды из профиля. Скрипт сверки профиля с репозиторием должен пройти без расхождений. Та же сверка выполняется перед каждым test и audit; при расхождении — список отличий и обновление только этих строк.
Результат: docs/qa/project-profile.md. Остальные команды читают его вместо сканирования репозитория.
ШАГ 2 · ВЫБОР РЕЖИМА И ПЛАН ДО КОДА
/qa-pilot:test
РЕЖИМ ПО СИГНАЛАМ: СЛОВА ПОСЛЕ КОМАНДЫ, ТИКЕТ, ДИФФ НА ВЕТКЕ, ФАЙЛ ПЛАНА
тикет, кода нет → план
есть дифф → проверка
«в браузере», URL → ручное исследование
путь к плану → написание тестов
«покрой» → тесты на готовый код
РЕЖИМ «ПЛАН» — ДО НАЧАЛА РАЗРАБОТКИ
1 · Область
Изменение в терминах пользователя, затронутые модули и сущности, задет ли критичный флоу.
2 · Проверка AC
Каждый критерий: проверяем ли, согласован ли с кодом, полон ли по обязательным веб-паттернам. Пробел → правка AC или вопрос.
3 · Карта влияния
Кто использует затронутый код: импорты, запросы, вызовы сервисов. Для каждой связи — файл, строка и ожидаемый эффект.
4 · Тест-дельта
Какие тесты поменять, новые тесты по корзинам Must / Should (до 5) / Highlight, регрессионный набор.
Результат: docs/qa/tasks/<тикет>.md. Бюджет — около 80 тыс. токенов. Перед запуском режим и причина выводятся одной строкой.
ШАГ 2 · ПРОВЕРКА ПОСЛЕ КОДА
/qa-pilot:test
1 · Сверка с планом
Каждый фрагмент диффа: запланирован, объяснимый рефакторинг или меняет поведение без плана. Невыполненные пункты плана — списком.
2 · Пересчёт влияния
Карта влияния строится заново по реальному диффу. Изменение там, где ждали «без изменений», → вопрос «это намеренно?» с доказательством.
3 · Покрытие
Для каждого Must и Should: тест, проверка именно этого условия, слой в CI. Прогон регрессии и новых тестов командами из профиля.
4 · Недостающие тесты
Пишутся в стиле проекта и проходят ревью. Тест на найденный баг остаётся красным и уходит владельцу вместе с багом.
ОГРАНИЧЕНИЯ ДЛЯ АВТОМАТИЧЕСКИХ ТЕСТОВ
Ожидаемый результат берётся из AC, спеки или решения — не из изменённого кода
Не больше 5 новых тестов и 1 e2e за задачу, остальное — списком владельцу
Продуктовый код не меняется
Результат: раздел «Verify log» в файле задачи и готовый блок для описания PR. Бюджет — около 100 тыс. токенов. Если план не делали, сначала строится его сжатая версия.
ШАГ 3 · КАК УСТРОЕН АУДИТ ПРОЕКТА
/qa-pilot:audit
Без контекста — весь проект, шаги 1–5. С фичей, спекой или тикетом — аудит требований этой фичи (шаг 3 на полной глубине). Со словом «тесты» — аудит кода тестов (шаг 4 по всему набору).
1 · Фундамент
Зрелость тестового фреймворка по 9 областям профиля. Блокеры (слой считается покрытием, но CI его не запускает; ложно-зелёные тесты) — первыми в Must.
2 · Критичные флоу
3–7 флоу из профиля. Пользователь подтверждает список и видит стоимость до запуска: около 150–250 тыс. токенов на флоу.
3 · Аудит флоу
Скрипт отбирает правила под черты продукта. Для каждой сущности — карточка «сущность × обязательный паттерн»: у каждой ячейки вердикт с доказательством, пустая ячейка блокирует отчёт.
4 · Код тестов
Тесты вокруг критичных флоу: ложная зелень, флаки, неверный уровень теста.
5 · Дорожная карта
Отчёт и список задач в JSON для агента-исполнителя. JSON проходит валидатор: ошибок должно быть 0.
НА ЧЁМ ОСНОВАНО · 1
Приоритет — по риску, а не по проценту покрытия
Приоритет находки определяется последствиями для продукта, а не формулировкой правила.
P1 — потеря данных, сломанная защита, нет проверки перед продом. Ставится, только если показано место в коде.
P2 — серьёзная дыра. P3 — косметика.
Must
P1, любой подтверждённый баг и P2 на критичном флоу. Делается всегда
Should
Остальные P2 — не больше 8, чтобы список можно было реально сделать
Highlight
Одна строка о риске, без теста — пока вы сами не решите его поднять
Риски, исключённые фильтрами проекта, перечисляются в отдельном разделе отчёта.
НА ЧЁМ ОСНОВАНО · 2
База знаний по тестированию
1300+
правил в базе знаний по тестированию
Тест-дизайн, требования, API, формы, доступность (WCAG 2.2), безопасность, локализация, производительность, мобильные платформы, UX, AI-фичи, качество тест-кода
Каждое правило сверено со стандартами
RFC, W3C, ISTQB, OWASP, NIST. У правила есть уровень авторитета — стандарт, практика индустрии, гайд вендора или мнение автора. Правило уровня «мнение автора» не может быть обязательным.
Расширено для продуктовых команд
Собственные домены qa-pilot: веб-паттерны поломок, безопасность (OWASP ASVS), HTTP API, аутентификация (NIST), стратегия тестирования, AI-фичи, качество тест-кода — и правила, выученные на реальных аудитах.
Отдельное спасибо Роману Суркову: базовый свод правил взят из его книги «Качество решает всё».
КОНТРОЛЬ · 1
Что проверяют скрипты
Модель
Суждение: что здесь может сломаться, какие сценарии важны, как сформулировать находку.
Скрипты без LLM
- отбирают правила под черты продукта
- ищут в требованиях «TBD», «быстро», «удобно»
- валидируют отчёт аудита: поля, источник, вердикты
- ломают код под тестом и откатывают файл
- сверяют профиль с репозиторием
- проверяют сам плагин: скиллы и ссылки
Вы
Решения о продукте: что считать критичным, какую глубину выбрать, что делать с багом.
Скрипты проверяют данные и форму результата, а не суждение модели. Отчёт с ошибкой валидации не считается готовым.
КОНТРОЛЬ · 2
Требования к доказательствам
«ПОКРЫТО» — ТОЛЬКО ПРИ ТРЁХ ДОКАЗАТЕЛЬСТВАХ
1
Есть тест — с точным файлом и строкой
2
Он ловит именно этот случай, а не соседний
3
Этот слой реально запускается в CI
«Теста нет» — только с приложенным поиском: команда и число совпадений
Умеет падать: новый тест проверяется на сломанном коде, существующие — пробой скрипта на выборке
Код тестов проходит ревью отдельными агентами, до 3 раундов; каждая находка сверяется с кодом
Баги в продукте не исправляются автоматически: передаются владельцу с шагами и ожидаемым поведением
КОНТРОЛЬ · 3
Ограничения
| Ограничение | Что это значит на практике |
|---|---|
| Сильнее всего на фронтенде и e2e | На чистом бэкенде работает, но опирается на конвенции проекта, а не на готовую библиотеку паттернов |
| Аудиты стоят токенов | Порядка 150–250 тыс. на один флоу. Цену плагин называет заранее, флоу выбираете вы |
| Один репозиторий — один профиль | Связи между репозиториями плагин не анализирует |
| Требует ответов на вопросы | В первую неделю нужно время на ответы: от них зависит точность профиля |
| Продуктовые решения — за командой | Продуктовый код не меняется, приоритеты бизнеса не определяются |
КОГДА ПОЛЕЗНО
Типовые сценарии и команды
Новый проект с существующими тестами
onboard → audit
Оценка тестового фреймворка, риски критичных флоу, порядок работ
Задача до начала разработки
test TICKET-123
Проверка AC, карта влияния, список тестов к добавлению
Задача после реализации
test
Сверка диффа с планом, недостающие тесты
Проверка спецификации
audit <фича>
Противоречия, неописанные состояния, вопросы к продукту
Нестабильные тесты
audit тесты
Ложно-зелёные и флаки-тесты, дубли, план рефакторинга
Ручная проверка в браузере
test в браузере
Прохождение флоу, баги с шагами воспроизведения, перепроверка фикса
КАК НАЧАТЬ
Установка
1 /plugin marketplace add grooownow/qa-pilot
2 /plugin install qa-pilot@qa-pilot
3 /qa-pilot:onboard
Нужно: Claude Code и Node.js. Работает на подписке Claude Pro.
Дальше: audit для общей картины, потом test на каждую задачу.
Подробнее: github.com/grooownow/qa-pilot