create-verification-skill
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", or when a project has no scripted way to prove UI/CLI/service behavior.
1How It Works & Mechanism
This is a 'generator' skill: instead of running verifications directly, it generates a project-local skill (.cursor/skills/verify-<app>/) for the repository so subsequent agents can drive the real application and collect evidence 'cold, with no human walkthrough'.
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 (`.cursor/skills/verify-<app>/`) tailored to the repo.
Interview the repository before asking the user: prioritize self-answering all five questions (Surface/Run/Drive/Observe/Isolate) from the codebase, asking a human only when observations fail; existing harnesses (Playwright/Cypress/expect/PTY/curl/debug port) take precedence over generic recipes.
Answer these from the codebase and only ask the user what you cannot observe
The generated artifact enforces a mandatory six-section structure (Launch/Doctor/Drive/Evidence/Cleanup/Helpers); every section must be backed by empirical interview findings with zero placeholders allowed; missing frontmatter prevents skill registration and is strictly required.
Write `.cursor/skills/verify-<app>/SKILL.md` with YAML frontmatter (`name: verify-<app>` and a `description` that names the app, the surface, and when to reach for it — without frontmatter the skill never registers) and these sections, each grounded in what the interview actually found (no placeholders left)
Evidence criteria and mock boundaries are codified into hard rules: must follow real user paths rather than internal setters/test-only endpoints; capture both action and result state; verify side effects (written files/inserted rows/sent messages) alongside visible surfaces; mocks are permitted only when production boundaries isolate external systems; dry-run/test modes must be empirically proven to skip operations rather than trusted by name alone.
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
Seed the feature map: generate a features/README.md index + one file per user feature (initial batch of 3-5 from routes/commands/menus/docs), mirroring references/feature-map-example/, with four fixed H2s (Sub-features / How to get to it (user POV) / Driving it with <harness> / Gotchas), written from a user POV.
Follow the shape in [`references/feature-map-example/`](references/feature-map-example/), with a README index and one file per feature.
Delivery gate = end-to-end empirical verification: after generation, you must execute the generated skill yourself (launch → doctor → drive one feature → gather evidence → cleanup); failures during iteration must also execute cleanup to avoid leaking processes/ports; unrun generated artifacts are merely drafts.
A generated skill that was never executed is a draft, not a deliverable.
Built-in isolation discipline: the interview's Isolate question evaluates parallel dual-instance viability; if safe concurrency is not possible, the generated skill must explicitly include 'refuse to drive a shared instance concurrently' to avoid polluting real user sessions.
If not, say so in the generated skill: refusing to double-drive a shared instance beats corrupting the user's session.
2Core Capabilities
3External Dependencies
| Kind | Dependency / Endpoint |
|---|---|
| cli | 无固定第三方 CLI;harness 按仓库访谈结果选定(Playwright/Cypress/expect/curl/tmux/PTY/browser CDP 等,均为宿主工具或仓库既有依赖) |
4Recommended Governance & Evidence
- 本地工作目录: File I/O and artifact output: Writes generated artifacts locally to the project: .cursor/skills/verify-<app>/SKILL.md, features/README.md, and one file per feature; required
5Second-Pass Verification
- [ok] 纯 prompt 生成器、无自带脚本 — 目录仅 SKILL.md + references/feature-map-example/{README,create-note,search}.md;skill 自身无可执行代码。
- [ok] 五问访谈与『先仓库后用户』 — 'Answer these from the codebase and only ask the user what you cannot observe' 原文在;五问标题逐字齐全(含 Isolate 双实例题)。
- [ok] 生成技能六段结构 + frontmatter 必写 — Launch/Doctor/Drive/Evidence/Cleanup/Helpers 六段均以 '- **X:**' 形式存在;'without frontmatter the skill never registers' 原文在。
- [ok] 证据标准/mock/dry-run 边界 — 真实用户路径、副作用核验、mock 边界句逐字存在;'some dry-runs still touch the network or open a browser.' 原文在。
- [ok] feature map 契约(四 H2 + 用户 POV + 3-5 起步) — 四 H2 名称原文在;example 三个文件均按 README→功能文件的索引关系组织,create-note.md 与 search.md 各含四 H2 与 Preconditions。
- [ok] 端到端实证门禁与清理纪律 — 'A generated skill that was never executed is a draft, not a deliverable.'、'Never kill by process name; kill what you started.'、'a cleanup that eats the proof fails this step' 均逐字存在。
- [ok] 外部依赖清单(动态 harness) — 无固定第三方;harness 列表(Playwright/Cypress/expect/curl/debug port/tmux/PTY/CDP/HTTP)是候选配方而非强制依赖,已在条目中限定表述。
- [ok] 无凭证/无固定外发 — 全文无密钥/token/env 读取指令;Interview 提及 env vars/auth 仅作为『要记录的运行前提』,不是采集动作。
6Verdict & Scenarios
b679c7c74e03480f…