create-verification-skill · michael-denyer — скилл Claude Code: как установить
Генерирует проектный скилл для сквозной проверки приложения от лица пользователя. Пригодится, когда у репозитория нет готовых сценариев запуска и фиксации поведения.
npx skills add michael-denyer/pstack-claude --skill create-verification-skill -a claude-codeЧто делает 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-code2Вручную: положить файлы
~/.claude/skills/create-verification-skill/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/create-verification-skill/
1Через Skills CLI (Vercel)
npx skills add michael-denyer/pstack-claude --skill create-verification-skill -a codex2Вручную: положить файлы
.agents/skills/create-verification-skill/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add michael-denyer/pstack-claude --skill create-verification-skill -a cursor2Вручную: положить файлы
.cursor/skills/create-verification-skill/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install michael-denyer/pstack-claude create-verification-skill2Вручную: положить файлы
.github/skills/create-verification-skill/SKILL.md1Через Skills CLI (Vercel)
npx skills add michael-denyer/pstack-claude --skill create-verification-skill -a gemini-cli2Командой платформы
gemini skills install https://github.com/michael-denyer/pstack-claude --path plugins/pstack/skills/create-verification-skillВручную: положить файлы
.devin/skills/create-verification-skill/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add michael-denyer/pstack-claude --skill create-verification-skill -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в 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 от других авторов.