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\",
Use withClaudeCursorCodex
The file stays in the publisher's repository. PlugMCP does not host or rewrite it.
Download skill.agents/skills/create-verification-skill/SKILL.md on GitHubGenerate 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.
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 (.agents/skills/verify-<app>/) tailored to the repo. 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.
Answer these from the codebase and only ask the user what you cannot observe:
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.
Write .agents/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):
For Paperclip, read the map contract and use the sibling
maps/feature-map/ and maps/agent-access-map/ directories. The generated
verification skill consumes both maps and reports drift; maintenance owns their
updates. Reuse existing feature files and preserve Poteto's product format. Every
new feature file needs a same-named agent access companion with matching stable
sub-feature IDs. Record APIs, actual agent entry points, policy, evidence and gaps
using the contract. Mark representative source inventory as baseline /
source-only; enumerate operations before claiming full access coverage. Reuse
Paperclip's APIs, admitted tools and existing verification infrastructure. Run
node scripts/check-maps.mjs after map changes. Do not create maps inside a skill
directory or generate a second runtime.
For Paperclip, add navigation metadata to each feature recipe as described in the map contract. Discovery generates the indexes; do not register new features in a central table or commit generated catalogs. Keep review/run evidence in the PR or evidence report and use Git for source history.
For other projects, create .agents/skills/verify-<app>/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/, 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. The map is the repo's maintained verification source; a proof that drives one convenient entry point is incomplete when the map lists others.
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.
Point the user at /maintain-verification-skill for keeping the map honest as the app changes. Suggest a cadence only if they ask.
Origin and license: NOTICE.md.