Skip to main content

qa

QA-верификация задачи против ТЗ/тикета — сверяет каждое требование с реальностью (SSR HTML через view-source, HTTP-коды, sitemap/robots, реальный браузер через Playwright, computed-styles diff с эталоном), выносит вердикт по пунктам (PASS/FAIL/QUESTION), на каждый подтверждённый баг пишет регресс-тест (TDD: сначала красный), и не объявляет «готово» без полного гейта + браузерной проверки. Умеет и проверять чужой QA-отчёт на «бред/не бред». Use when user says "проверь по ТЗ", "приёмка задачи", "проверь QA-отчёт", "верифицируй таску", "qa задачи", "бред или не бред", or types /qa.

Aller à l'installation

Informations de source

Dépôt
1t1sCooL/claude-skills
Dernière activité de la source
30 juillet 2026 à 11:17
Langue détectée de SKILL.md
russe
Étoiles
16
Forks
0

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
qa
description
QA-верификация задачи против ТЗ/тикета — сверяет каждое требование с реальностью (SSR HTML через view-source, HTTP-коды, sitemap/robots, реальный браузер через Playwright, computed-styles diff с эталоном), выносит вердикт по пунктам (PASS/FAIL/QUESTION), на каждый подтверждённый баг пишет регресс-тест (TDD: сначала красный), и не объявляет «готово» без полного гейта + браузерной проверки. Умеет и проверять чужой QA-отчёт на «бред/не бред». Use when user says "проверь по ТЗ", "приёмка задачи", "проверь QA-отчёт", "верифицируй таску", "qa задачи", "бред или не бред", or types /qa.
# QA-верификация задачи Единый QA-цикл: **требования → факты → вердикт → регресс-тесты → гейт**. Собран из лучших практик skill-каталогов (superpowers/TDD, verification-before-completion, webapp-testing, playwright-pro, vitest-unit-testing) + проектные засады из боевых сессий. Два режима — определяются входом: - **Приёмка задачи**: вход — ТЗ/тикет (+ ветка/стенд) → отчёт-вердикт по пунктам. - **Аудит чужого QA-отчёта** («бред или не бред»): вход — отчёт → перепроверка каждого факта по коду и живому окружению; отчёт судить только по фактам, не по тону. ## Что на входе (`$ARGUMENTS`) - ТЗ: `.docx` (конвертировать: `textutil -convert txt -output <scratchpad>/tz.txt "<file>"`), `.md`, текст тикета или путь к QA-отчёту (`.html` — читать как есть). - Ветка/коммит/MR задачи (по умолчанию — текущая ветка, `git log` по номеру таски). - URL стенда (если есть) — иначе локальный рендер. ## Шаги ### 1. Требования → чек-лист Пронумеровать каждое требование ТЗ (п.1, п.2, …). Из ТЗ вытащить **проверяемые факты**: точные URL, тексты, количества (посчитать самому: страны/ссылки/пункты), placement («перед блоком X»), коды редиректов. Сверить с планом (`.ai-factory/PLAN.md`) и коммитами ветки (`git show --stat`), чтобы знать, что заявлено сделанным. ### 2. Статическая сверка (код — источник правды) - Данные/константы: посчитать реальные количества скриптом (python/grep -c), не на глаз. - Дифф с эталоном: если ТЗ ссылается на образец («как на /euro-cards/») — вычислить точную разницу множеств (что добавлено/потеряно), а не «похоже». - Всё, чего нет в ТЗ, но есть в реализации (и наоборот) — в отдельный список вопросов. ### 3. SSR / HTTP (краулер не кликает и не ждёт JS) **Правило: для SEO-требований проверять серверный HTML (`curl`), НЕ DOM после гидрации.** ```bash curl -s <url> -o page.html grep -c 'href="/target/"' page.html # ссылка есть как <a href> в разметке? curl -sI -o /dev/null -w '%{http_code} %{redirect_url}\n' <url> # именно 301, не 302/307/308 ``` Чек-лист: целевые ссылки в SSR HTML; статусы и коды редиректов; `robots` meta + `X-Robots-Tag` + `robots.txt`; sitemap (URL добавлены/удалены); canonical; заголовки h1-h3 там, где ТЗ их требует. Скрытый контент (`hidden`, CSS) в HTML — ОК для краулера; контент только в JSON-пейлоаде/после клика — НЕ ОК. ### 4. Живой рендер (гейт не ловит всё — например, отсутствие "use client") Поднять свой сервер на **отдельном порту** (`:3000` занят пользователем — не убивать!): ```bash NEXT_DIST_DIR=.next-qa nohup pnpm exec next dev -p 3199 > <scratchpad>/dev.log 2>&1 & # НЕ `pnpm run dev -- -p 3199` — «--» уходит аргументом next и ломает запуск ``` Через Playwright MCP: пройти интерактив из ТЗ (клики/табы/раскрытия), проверить что видима ровно одна панель/состояние, скриншоты блоков. **Замер после клика — отдельным evaluate-вызовом** (React обновляется асинхронно, «после» в том же evaluate = «до»). Визуальная целостность: не полагаться на скриншоты со скроллом (sticky-хедер даёт артефакты) — числовой дифф `getComputedStyle` (font-size/weight/family/margins/цвет) нового кода против эталона (стенд со старым кодом / reference :4444 — там фейковый шрифт, сравнивать layout, не размеры текста). **Уборка после**: `kill <PID>`; `NEXT_DIST_DIR` пачкает репо — `git checkout -- next-env.d.ts tsconfig.json`; удалить `.next-qa`, скриншоты из корня. ### 5. Регресс-тесты на каждый подтверждённый баг На каждый FAIL — тест, который **падает до фикса и зеленеет после** (TDD-петля). Паттерны: Vitest + RTL, селектить по testid/ролям/семантике (css:false — module-классы в тест-DOM исчезают); для SSR-требований — тест на присутствие ссылок в разметке (`container.querySelectorAll('a[href^=…]')`), для скрытости — `closest("[hidden]")`. Именовать тесты по номеру бага/пункта ТЗ, чтобы отчёт ссылался на них. ### 6. Гейт и честный вердикт (verification-before-completion) `pnpm run check` (или гейт проекта) целиком; при чужом WIP в дереве — коммитить точечным `git add` своих файлов, чужое не стейджить. Не писать «готово», пока: гейт зелёный И SSR-проверки пройдены И живой рендер проверен. Если что-то не прогнано — так и написать в отчёте («не проверено: …, нужно …»). ## Выход Markdown-отчёт (в чат; по запросу — файл/HTML): 1. **Вердикт-таблица по пунктам ТЗ**: п.N → PASS / PASS с замечанием / FAIL / QUESTION. 2. **Дефекты** `BUG-NN` с severity (major/minor/low), «Где / Суть / Почему важно / Шаги / Ожидаемо»; честно помечать «не регресс этой задачи», если баг старый. 3. **Вопросы** `UNC-NN` — расхождения ТЗ↔реализация, которые решает автор ТЗ/SEO, а не код. Не чинить их молча. 4. **Не проверено** — что и почему, с командой для ручной проверки. 5. Если чинили: список фиксов + регресс-тестов, результат гейта, что осталось. ## Анти-паттерны - Проверять SEO-требования по DOM после гидрации вместо `curl` серверного HTML. - Верить «редирект работает» без кода ответа (301 ≠ 302/307/308). - Считать количества «на глаз» вместо скрипта. - Скриншот-диффы элементов со sticky-контентом вместо числового computed-styles диффа. - Убивать чужой dev на `:3000`; оставлять `.next-qa`/tsconfig-мусор после себя. - Объявлять «готово» с непрогнанным гейтом или непроверенным живым рендером. - Чинить UNC-вопросы (расхождения с ТЗ) кодом без решения автора ТЗ.
Voir sur GitHub