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.
64
80%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./.agents/skills/create-verification-skill/SKILL.mdEvery 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.
paperclipai/paperclip
412914c
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.