К основному содержанию
скилл CX Codex

qp-regress — скилл для Claude Code: что делает и как установить

Повторно прогоняет тест-кейсы без правок, проверяет выход за пределы стартового экрана и строит дельту по каждому тесту.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add chrono-meta/forge-harness --skill qp-regress -a claude-code
Открыть на GitHub

Что делает qp-regress

Скилл отвечает за этап регрессионного тестирования в пайплайне QP. На вход он берёт базовый прогон из qp/run/<ts>/ и исходный файл qp/plan/tcs.tsv. Все тесты выполняются заново через qp-run без изменений: редактировать сценарии ради прохождения нельзя, потому что это превращает регрессию в новый запуск.

Затем скрипт plugins/fh-qp/scripts/qp_tools.sh вычисляет метрику surface_reach. Она показывает, вышли ли тесты дальше входного экрана или весь прогон упёрся в форму входа либо сломанное окружение. Результат делится на REACHED, PARTIAL, NOT_REACHED или UNMEASURED. Если прогон получил NOT_REACHED, упавшие тесты считаются неизмеренными, а не найденными ошибками продукта.

Итог работы сохраняется в папку qp/regress/<ts>/. Скилл формирует таблицу delta.tsv, где фиксирует статус по каждому кейсу отдельно. Если агрегат показывает одинаковое число пройденных проверок, но статус сместился или автоматический вердикт сменился эвристическим, строка помечается флагом changed=yes. Без установленного интерпретатора bash и готовой структуры базового прогона запуск завершится ошибкой.

Какие задачи решает

  • повторить прогон набора тестов без ручных правок сценариев
  • проверить блокировку тестов на начальном экране интерфейса
  • сравнить результаты двух прогонов по каждому отдельному тест-кейсу
  • выявить ослабление автоматических проверок между прогонами

Примеры запросов агенту

  • Проверь регрессию относительно прошлого запуска
  • Перезапусти прошлый тестовый прогон и сравни результаты
  • Сравни текущий прогон с базовым через qp-regress

Как установить qp-regress

1Через Skills CLI (Vercel)

npx skills add chrono-meta/forge-harness --skill qp-regress -a claude-code

2Вручную: положить файлы

~/.claude/skills/qp-regress/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/qp-regress/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о qp-regress

Как установить qp-regress в Claude Code?

Выполните команду npx skills add chrono-meta/forge-harness --skill qp-regress -a claude-code в терминале.

Что делает qp-regress?

Он перезапускает базовые тест-кейсы без изменений, проверяет достижимость экранов через surface_reach и формирует отчёт report.md с дельтой статусов по каждому тесту.

Что означает статус NOT_REACHED в отчёте?

Этот статус означает, что ни один тест не ушёл дальше стартового экрана, поэтому все падения считаются неизмеренными, а не подтверждёнными дефектами.

Исходный текст

SKILL.md · MIT
---
name: qp-regress
description: Regression stage of QP — re-executes a previous run's test cases unchanged, computes surface_reach (how many TCs left the entry screen, as a ratio over ALL TCs), and reports the per-TC delta against the earlier run so a "no change" claim is per case, not an aggregate. Triggers on "did anything regress since last run", "re-run last week's QA pass", "compare this run with the previous one", "회귀 확인해줘", "지난 런이랑 비교해줘".
user-invocable: true
allowed-tools: ["Read", "Bash", "Write", "Glob", "Grep"]
model: sonnet
origin: chamber run fh-qa-generic (2026-09-05)
---

# qp-regress — Regression (re-run unchanged → surface_reach → delta)

Input: a baseline `qp/run/<ts>/` and the same `qp/plan/tcs.tsv`. Output: `qp/regress/<ts>/`.

## 1. Re-run unchanged
Execute the baseline's TCs with `qp-run` **without editing them**. Editing a TC to make it pass is a new run, not a regression — say so if the user asks for it.

## 2. surface_reach — did the batch leave the entry screen?
```
bash plugins/fh-qp/scripts/qp_tools.sh surface-reach qp/run/<new-ts>/evidence.tsv
```
| result | meaning |
|---|---|
| `REACHED n/n` | every TC observed a screen other than the modal (entry) one |
| `PARTIAL k/n` | some did — report **which** did not, by tc_id |
| `NOT_REACHED 0/n` | the whole batch sat on one screen (a login wall, a dead env). Every FAIL in that run is **unmeasured**, not a detection — write that sentence in the report |
| `UNMEASURED` (rc 10) | no evidence file / empty — not a zero |
Denominator is **all TCs**, including ones that never executed; write `surface_reach.txt` with the raw line.

## 3. Per-TC delta — `delta.tsv`
```
tc_id	baseline_status	new_status	changed	note
```
One row per TC. `changed=yes` on any status change **or** on a same-status verdict whose `closure` moved from MACHINE to JUDGMENT (the check got weaker). A run where every row is `changed=no` may say "no regression"; a run reported only as "12 PASS both times" may not — the aggregate hides a swap.

## 4. Report — `report.md`
First 8 lines: target · engine/adapter/evidence · `#mtm:` state · surface_reach line · counts PASS/FAIL/BLOCKED/AMBIGUOUS new vs baseline · number of `changed=yes` · the sentence for NOT_REACHED if it applies · what was **not** measured (unexecuted TCs, dropped screenshots).

## Done When
1. `surface_reach.txt` holds a `REACHED|PARTIAL|NOT_REACHED|UNMEASURED` line produced by the tool · **[mandatory-pass]**.
2. `delta.tsv` has one row per TC in the baseline · **[measured]** — row count equals distinct tc_ids.
3. A NOT_REACHED run's report contains the "FAILs are unmeasured" sentence · **[measured]** — grep.
4. The delta's `changed` column reflects real behavior change, not selector drift · **[judged — pairing: for each `changed=yes`, the before/after DOM snapshots are attached and a second session confirms the element moved, not the locator]**.

## Independently executable
Yes — needs a baseline run dir in the documented shape and bash.

© chrono-meta · MIT · chrono-meta/forge-harness

Похожие скиллы

Все скиллы по теме «Тесты и QA» →
improve-codebase-architecture Matt Pocock Скилл ищет архитектурные узкие места в кодовой базе и показывает варианты углубления модулей в HTML-отчёте. Подойдёт для ревью перед рефакторингом. 1 163 035установок design-taste-frontend Leonxlnx Скилл задаёт арт-дирекцию для публичных страниц и рабочих экранов, а затем проверяет результат в браузере по скриншотам. Нужен, когда интерфейс выглядит шаблонным или недоработанным. CX Codex +1 678 700установок tdd Matt Pocock Скилл управляет циклом красный-зелёный в TDD: проверяет, что тесты пишутся до кода, держит их на уровне публичных интерфейсов и не завязывает на внутреннюю структуру. 1 141 062установок skill-creator официальный anthropics Помогает создать новый скилл, доработать существующий и проверить результат через тестовые промпты и оценки. 414 180установок agent-browser vercel-labs Скилл управляет браузером через CLI: открывает страницы, заполняет формы, нажимает кнопки и проверяет веб-приложения. Подходит для задач, где агенту нужно действовать в интерфейсе. CX Codex +1 1 200 000установок prototype Matt Pocock Создаёт временный прототип, чтобы проверить логику, модель состояния или вид интерфейса до работы над основным кодом. 986 201установок

Из того же набора40

qp Скилл проводит приложение через планирование тестов, запуск и проверку регрессий. Подходит для QA веб-сайта или десктопного приложения из сессии Claude Code. CX Codex +1 ★ 30звёзд репо qp-run Скилл проходит тест-кейсы из qp-plan по работающему приложению через адаптер сессии и пишет приговор на каждый шаг в TSV. Нужен, когда план тестов уже есть и его пора выполнять. CX Codex +1 ★ 30звёзд репо qp-plan qp-plan составляет карту видимых экранов веб-страницы или десктопного приложения и готовит тест-кейсы в TSV. Пригодится перед ручной проверкой или запуском тестового раннера. CX Codex +1 ★ 30звёзд репо verify-bidirectional Фиксирует возражения пользователя к ответам ассистента и обновляет правила проекта для будущих сессий. CX Codex +1 ★ 30звёзд репо sim-conductor Скилл анализирует целевой файл, подбирает перспективы и запускает параллельную проверку. Пригодится для аудита, ревью кода и оценки реакции внешних пользователей. CX Codex +1 ★ 30звёзд репо salience-splitter Делит перегруженный всегда загруженный файл контекста на тонкий постоянный слой и слой по требованию. Пригодится, когда SKILL.md или CLAUDE.md разрослись. CX Codex +1 ★ 30звёзд репо return-path-gate Находит незамкнутые вызовы между субагентами в файлах SKILL.md и проверяет, ждёт ли вызывающий агент вердикта. CX Codex +1 ★ 30звёзд репо public-surface-audit Скилл ищет приватные токены в отслеживаемых Git-файлах и показывает файл, строку и уровень риска перед публикацией репозитория. CX Codex +1 ★ 30звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой