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.

Zur Installation springen

Quellinformationen

Repository
1t1sCooL/claude-skills
Letzte Quellaktivität
30. Juli 2026 um 11:17
Erkannte Sprache von SKILL.md
Russisch
Sterne
16
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
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-вопросы (расхождения с ТЗ) кодом без решения автора ТЗ.
Auf GitHub ansehen