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

create-verification-skill · michael-denyer — скилл Claude Code: как установить

Генерирует проектный скилл для сквозной проверки приложения от лица пользователя. Пригодится, когда у репозитория нет готовых сценариев запуска и фиксации поведения.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add michael-denyer/pstack-claude --skill create-verification-skill -a claude-code
Открыть на GitHub

Что делает create-verification-skill

Скилл исследует репозиторий, определяет доступный интерфейс (веб, консоль или API) и находит команду запуска из проектных скриптов либо документации. Если проект сейчас не собирается, придётся сначала исправить сборку. На основе структуры проекта создаётся файл .claude/skills/verify/SKILL.md с обязательными блоками Launch, Doctor, Drive, Evidence и Cleanup.

Вместе с ним генерируется каталог features/ с картой пользовательских сценариев и селекторами интерфейса. Инструмент сразу проверяет себя в деле: запускает приложение, проводит диагностику, проходит один тестовый путь и подчищает запущенные процессы. Чтобы локальный verify заменил встроенную команду Claude Code, потребуется версия 2.1.200 или новее.

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

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

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

  • /create-verification-skill
  • Создай локальный скилл проверки для этого репозитория
  • Сделай управляющий скилл для запуска приложения и проверки пользовательских сценариев

Как установить create-verification-skill

1Через Skills CLI (Vercel)

npx skills add michael-denyer/pstack-claude --skill create-verification-skill -a claude-code

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

~/.claude/skills/create-verification-skill/SKILL.md

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

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

Вопросы о create-verification-skill

Как установить create-verification-skill в Claude Code?

Выполните команду npx skills add michael-denyer/pstack-claude --skill create-verification-skill -a claude-code. Инструмент сразу зарегистрируется в среде Claude Code.

Что именно делает create-verification-skill?

Он анализирует кодовую базу, находит команды сборки и создаёт файл .claude/skills/verify/SKILL.md вместе с картой сценариев в папке features/. Готовый файл содержит пошаговые инструкции для запуска приложения, проверки готовности и сбора артефактов.

Какая версия Claude Code нужна для переопределения verify?

Для замены стандартной команды /verify на уровне корня проекта требуется Claude Code 2.1.200 или новее. В монорепозиториях генератор записывает скилл в каталог конкретного затронутого пакета.

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

SKILL.md · MIT
---
name: create-verification-skill
description: "Generate a project-local verification skill that drives your app the way a user does — any language, framework, or platform. Use for /create-verification-skill, \"make a control skill for this repo\", \"make a driver skill for this repo\", or when a project has no scripted way to prove UI/CLI/service behavior."
---

# Create a verification skill

On Codex, read the [platform mapping](../poteto-mode/references/codex-tools.md), including its per-skill notes, before following this skill.

On GitHub Copilot, read the [platform mapping](../poteto-mode/references/copilot-tools.md), including its per-skill notes, before following this skill.

On Muse, read the [platform mapping](../poteto-mode/references/muse-tools.md), including its per-skill notes, before following this skill.

Every serious project needs a scripted way to drive the real app and prove behavior: launch it, exercise a feature the way a user would, and capture evidence. This skill generates that as a project-local skill (`.claude/skills/verify/`) tailored to the repo. Name it `verify`. At the repo root a project skill by that name replaces Claude Code's bundled `/verify`, which only the user can invoke, so every playbook that names the driver skill can call the project one ([Claude Code 2.1.200 or later](https://code.claude.com/docs/en/skills#run-and-verify-your-app)). In a monorepo, write it in the touched package directory instead. You write the generator's output for the next agent, not for a human: it will be read cold, mid-task, by an agent that has never seen the app.

## 1. Interview the repo, not the user

Answer these from the codebase and only ask the user what you cannot observe:

- **Surface:** what does a user actually touch? A web UI, a CLI/TUI, a desktop app, an API, a mobile app, a library? A repo can have several; pick the primary one and note the rest.
- **Run:** how does the app start locally? Prefer the repo's own documented dev command (package scripts, Makefile, README quickstart). Note ports, env vars, seed data, auth.
- **Drive:** how can an agent interact with it programmatically? Existing harnesses first — Playwright/Cypress specs, expect scripts, PTY helpers, curl-able endpoints, a debug port. Only then pick a generic recipe: browser/CDP for web and Electron, a tmux/PTY harness for CLI/TUI, plain HTTP for services.
- **Observe:** what evidence can be captured? Screenshots, terminal transcripts, response bodies, logs, exit codes, DB state.
- **Isolate:** can two instances run side by side (ports, data dirs, profiles)? If not, say so in the generated skill: refusing to double-drive a shared instance beats corrupting the user's session.

If the checkout doesn't build or start as-is, fix that first (or report it precisely) before generating; a skill written against a broken base teaches wrong steps. When an irrelevant missing asset blocks startup (a static dir the API never serves, a sample config), the generated skill may create it, clearly marked as verification scaffolding, and remove it in cleanup.

## 2. Generate the skill

Write `.claude/skills/verify/SKILL.md` with YAML frontmatter (`name: verify` and a `description` that names the app, the surface, and when to reach for it — without frontmatter the skill never registers, and with `disable-model-invocation` the model cannot call it) and these sections, each grounded in what the interview actually found (no placeholders left):

- **Launch:** the exact command that starts the app for verification, and how to tell it's ready (a log line, a prompt). Launch must reach a usable state from an empty data dir, including any migrations and seed data. Ready means usable, not just that a process answers. A database health check can pass while its init scripts are still running. Include teardown. For a short-lived CLI or TUI there is no server to keep alive: launch means build the binary (or install deps) once, then start each drive in its own isolated PTY or tmux session.
- **Doctor:** one read-only check that answers "is this instance worth driving?" — process up, right version/build, port owned by us, auth valid. An agent runs this first whenever anything looks off.
- **Drive:** the harness recipe with real selectors/commands from this repo, not examples. Prefer stable handles (ARIA labels, data attributes, prompt strings, route paths) over coordinates and tab order.
- **Evidence:** what to capture for a proof and where it goes. State the proof standards: exercise the real user path, not internal setters or test-only endpoints; capture the action and the resulting state, not just the final screen; verify side effects (files written, rows inserted, messages sent) alongside what's visible; mocks only where a production boundary already isolates the external system. When the safe path is a dry-run or test mode, verify what it actually skips by observing (files, network, git refs) rather than trusting its name: some dry-runs still touch the network or open a browser.
- **Cleanup:** how to tear down instances the run created. Never kill by process name; kill what you started. Cleanup removes instances and scratch state, never the evidence: proof artifacts survive the teardown, in a location the skill names.
- **Helpers:** any script the skill ships is executable and its invocation is shown in the skill body. A helper the reader has to reverse-engineer is not a helper.

## 3. Seed the feature map

Create `.claude/skills/verify/features/README.md` plus one file per user-facing feature you can identify (aim for the top 3-5 to start, from routes, commands, menus, or docs). Follow the shape in [`references/feature-map-example/`](references/feature-map-example/), with a README index and one file per feature. Each file answers, from the user's point of view: what the feature is, how to reach it, how to drive it with the harness, and what observable end state proves it works. The four H2s are `Sub-features`, `How to get to it (user POV)`, `Driving it with <harness>`, and `Gotchas`. If the seed data lacks a precondition that a journey needs, the journey reports a failure and the reason goes in that feature's `Gotchas`. Never weaken the journey to make it pass. The map is the repo's maintained verification source; a proof that drives one convenient entry point is incomplete when the map lists others.

## 4. Prove the generated skill before handing it over

Run its own instructions end to end once: launch, doctor, drive ONE mapped feature (one is enough; the map exists so later runs can cover the rest), capture evidence, clean up. After cleanup, confirm the evidence still exists at the named location — a cleanup that eats the proof fails this step. Fix what fails, and run the generated cleanup after every failed iteration too, so broken attempts don't strand processes and ports. A generated skill that was never executed is a draft, not a deliverable. If you proved it in a stand-in for the real target (a container in place of a fresh VM, a local stack in place of a remote one), list every setup step the stand-in did that the target will not. Those steps stay unverified until a run on the real target covers them.

## 5. Offer the maintenance loop

Point the user at `/maintain-verification-skill` for keeping the map honest as the app changes. Suggest a cadence only if they ask.

© michael-denyer · MIT · michael-denyer/pstack-claude

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

Всё по теме «Тесты и QA» →

Сначала — create-verification-skill от других авторов.

create-verification-skill backnotprop Генерирует локальный скилл верификации для репозитория, проверяя работу веб-интерфейса, CLI или сервиса по реальным сценариям пользователя. CX Codex +1 5 300установок create-verification-skill tester-army Скилл исследует проект и создаёт локальный рецепт проверки verify-<app> на базе e2e. Он учит агентов запускать приложение, проходить пользовательские сценарии и сохранять артефакты. CX Codex +1 388установок create-formal-verification-skill backnotprop Скилл выбирает участок кода для формальной проверки и создаёт локальную инструкцию, чтобы агент мог повторять её при изменениях. Нужен, когда тестов недостаточно для проверки инварианта или порядка событий. CX Codex +1 1 200установок qa-do kindlmann Маршрутизирует нечёткие задачи тестирования на один или два подходящих скилла и запускает проверку с отчётом. CX Codex +1 1 100установок selector-drift-recovery kindlmann Восстанавливает сломанные селекторы тестов после редизайна интерфейса. Помогает обновить локаторы пачкой через сравнение снимков доступности. CX Codex +1 993установок maintain-formal-verification-skill backnotprop Скилл приводит формальную верификацию в соответствие с кодом после мержей и рефакторингов: обновляет модель, перезапускает проверки и отличает дрейф от настоящего бага. CX Codex +1 1 100установок verification-gate sentimony Скилл не даёт объявить работу законченной без свежих доказательств: собирает матрицу проверок и выносит вердикт по конкретному набору утверждений. CX Codex +1 836установок verification-loop affaan-m Прогоняет работу сессии по шести фазам — сборка, типы, линт, тесты с покрытием, поиск секретов, разбор диффа — и выдаёт отчёт PASS/FAIL. CX Codex +1 5 000установок

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

setup-pstack Скилл выбирает модели для каждой роли pstack, находит доступные в текущей сессии и записывает файл переопределений. CX Codex +1 899установок blast-radius Ищет, что изменение сломает в других местах, за пределами диффа. Полезен перед мержем и когда в задаче утверждают что-то про существующий код. CX Codex +1 889установок automate-me Собирает или обновляет личный -mode скилл по рабочим привычкам, ответам пользователя и недавним транскриптам. Нужен для настройки поведения агента под конкретного человека. CX Codex +1 868установок no-comments Запускает субагента comment-sicko для чистки бесполезных комментариев и подавлений линтера, превращая реальные ограничения в код тестов или типов. CX Codex +1 841установок recall Собирает свежий контекст из истории чатов, живого состояния репозитория и общего следа проекта, затем отдаёт короткий бриф: где вы остановились и что дальше. CX Codex +1 833установок babysit Следит за открытым пул-реквестом: чинит упавший CI, разбирает простые замечания ревью и доводит ветку до состояния, когда её можно влить. CX Codex +1 812установок

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

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