verify
Skill0 starsChanged 4 months agoMITView on GitHub
Prove a feature actually works by driving the running application and capturing evidence, rather than trusting a green test suite. Builds the project's own verification CLI and feature map on first use, runs a verification on demand, and keeps the map in step with the app.
188 other projects use a version of this.
Adopted by
Most recently taken up by
- Doist/todoist-aitheir own version, first seen Nov 9, 2026
- udecode/better-convextheir own version, first seen Nov 9, 2026
- pytorch/heliontheir own version, first seen Nov 8, 2026
- amir20/dozzletheir own version, first seen Nov 8, 2026
- Doist/todoist-clitheir own version, first seen Nov 8, 2026
- codewithmukesh/dotnet-claude-kittheir own version, first seen Nov 8, 2026
Used with
Projects with it also use instinct-export, instinct-import and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
TheKREATORSSkillinstinct-export
Export instincts from project/global scope to a file
Also in 3 projects that use this
TheKREATORSSkillinstinct-import
Import instincts from file or URL into project/global scope
Also in 3 projects that use this
AviadPSkillrisk-assess
Assess the risk and blast radius of a proposed code change before implementing it. Evaluates CI impact, framework-wide vs localized scope, rollback path, and identifies blindspots. Use when user says "what's the risk", "is this safe", "assess the impact", "risk assess", "blast radius", or before applying framework-wide or CI-affecting changes. Do NOT use for code quality review (use code-quality) or plan validation (use design-validator).
Also in 3 projects that use this
diego-tobalinaSkillbuild-fix
Fix build and compilation errors systematically. Run when build fails.
Also in 6 projects that use this
AaravChadhaSkillsecure
Security review with a confidence gate - a finding exists only with a concrete exploit scenario and a high/medium/low confidence rating; everything else goes to a worth-hardening list, never inflated. Sweeps five surfaces: auth gates, secrets hygiene, injection and unsafe sinks, unsafe deserialization/crypto/transport, and LLM tool-use trust boundaries. Reports only, never fixes. Use when the user asks for a security review or to check vulnerabilities, secrets, or auth.
Also in 3 projects that use this
ArvorCoSkillspecify
Create feature specification from natural language description. Use when starting a new feature or creating a spec. Triggers on: create spec, specify feature, new feature spec.
Also in 10 projects that use this
- +1 more from TheKREATORS
Other versions188 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 188
- react/react★ 252ksame name
- facebook/react★ 252ksame name
- garrytan/gstack★ 141ksame name
- oven-sh/bun★ 97ksame name
- anthropics/financial-services★ 41ksame name
- anthropics/financial-services-plugins★ 41ksame name
- Yeachan-Heo/oh-my-claude-sisyphus★ 41ksame name
- Yeachan-Heo/oh-my-claudecode★ 41ksame name
- anthropics/claude-quickstarts★ 19ksame name
- NVIDIA-NeMo/Speech★ 19ksame name
178 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository18 other files it gives its agents.
- brainstormSkill
- buildSkill
- code-reviewSkill
- howSkill
- improve-codebase-architectureSkill
- inceptionSkill
- interview-loopSkill
- quickSkill
- recallSkill
- setupSkill
- surveySkill
- tddSkill
- to-issuesSkill
- to-prdSkill
- triageSkill
- validateSkill
- whySkill
- worktreeSkill
The file
We split this skill into the rules it gives an agent
10 rules. 0 are common, 1 is distinctive, and 9 are very specific to this project.
0
Common
Most of the 167 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 45
Read docs/groundwork/config.json.
- Very specific: line 48
Read docs_dir from the config and resolve every path below against it.
- Very specific: line 51
If the config has no verify block and --init was not passed, say so in one line and run --init first - there is nothing to verify with yet.
- Distinctive: line 56
Do not write the CLI from guesswork.
- Very specific: line 58
Read before asking: Check the README, package.json scripts, Makefile, Procfile, compose files, CI workflows, and any existing test setup.
- Very specific: line 61
Interview for what's left: Use the groundwork:interview-loop technique, one question at a time, and only for what you could not find: how …
- Very specific: line 88
Add <docs_dir>/verify/evidence/ to .gitignore.
- Very specific: line 94
Read the feature map entry.
- Very specific: line 125
Run this when features land or change.
- Very specific: line 130
After a verification, report the outcome and the evidence, then stop.
“Common” is measured: kept by at least 6 in 10 of the 167 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
groundwork:verify
A passing test is the agent grading its own homework. This skill exists so a slice can be shown working, not asserted working.
The idea, and the shape of the asset below, are adapted from the pstack articles credited in
this repository's NOTICE.
What this builds
Verification lives in the repository being worked on, not inside this plugin and not inside
any one agent's directory, so a human at a terminal and any agent can run the same thing.
Everything below sits under the configured docs_dir (docs/groundwork by default):
<docs_dir>/verify/
README.md how to launch, check health, drive, prove, and clean up
control the project's own CLI - executable, any language
features/
README.md the index, and the order to sweep them in
NNNN-slug.md one file per feature
evidence/ scratch space, gitignoredTwo things earn their keep here.
The CLI is the lever. Prose telling an agent how to run your app is re-read and
re-interpreted every session. A command is not. control is a real program in whatever
language the project already uses, with subcommands, a --dry-run for anything destructive,
machine-readable output behind --json, and help text worth reading.
The feature map is behaviour, not code. Each file answers the same four questions, so an agent can drive a feature without opening the source. The glossary names the domain; the feature map says what the product actually does and how to see it doing it.
0. Preconditions
Read docs/groundwork/config.json. If it doesn't exist, don't stop - bootstrap it per the
"Lazy bootstrap" section of the groundwork setup skill, then continue.
Read docs_dir from the config and resolve every path below against it. Never hardcode
docs/groundwork; a repository is free to have moved it.
If the config has no verify block and --init was not passed, say so in one line and run
--init first - there is nothing to verify with yet.
1. --init: build the verification asset
Do not write the CLI from guesswork. Find out how this project actually runs, then build.
- Read before asking. Check the README,
package.jsonscripts,Makefile,Procfile, compose files, CI workflows, and any existing test setup. Most of the answers are already written down somewhere. - Interview for what's left. Use the
groundwork:interview-looptechnique, one question at a time, and only for what you could not find: how the app is started for local use, what it needs to be healthy (database, migrations, seed data, a logged-in user), how a developer normally drives it, and what counts as visible proof that something worked. Write
control. Give it these subcommands at minimum, and add whatever this project needs beyond them:launch- start the app in a state ready to be driven, and return only when it isdoctor- check preconditions and report what is wrong, never fix silentlydrive <feature>- exercise a feature the way a user wouldprove <feature>- capture evidence of the outcome intoevidence/clean- return the machine to the state it was in beforelaunch
Rules: any subcommand that destroys or mutates shared state takes
--dry-runand prints exactly what it would do. Every subcommand supports--json. Errors say what failed, what was expected, and what to try next.- Seed the feature map. Walk the codebase and write one file per user-visible feature
from
templates/feature.md, plus the index fromtemplates/features-README.md. Base the files on behaviour you can see, and mark anything you inferred rather than confirmed. - Run it once before handing over. Execute
doctor, thendriveandproveon one feature. If any of that fails, fix it now. Do not deliver a verification asset you have not seen work - that is the exact failure this skill exists to prevent. Record it in the config, with paths relative to
docs_dir:"verify": { "cli": "verify/control", "evidence_dir": "verify/evidence" }Add
<docs_dir>/verify/evidence/to.gitignore.
2. Running a verification
Given a feature slug, or the feature a slice touches:
- Read the feature map entry. If none exists, say so and stop - verifying against an
unwritten expectation proves nothing. Write the entry first, or run
--sync. control doctor. If the environment is not healthy, report that and stop. A failed verification and an unrunnable app are different results and must never be reported alike.control drive <feature>, thencontrol prove <feature>.- Report one of three outcomes, never a bare pass or fail:
- proven - the expected observable outcome happened, and here is the evidence
- disproven - the app ran and did something other than what the feature map says
- not verifiable - the app would not run, or the feature has no observable outcome defined yet. This is not a pass.
Where the evidence actually lives
evidence/ is gitignored scratch. It disappears when a worktree is removed, so a file path
in it is worthless to anyone on another machine or in a later session.
The proof of record is the artifact itself, posted to the tracker: pasted into the issue comment, or into the PR body when the slice became a PR. A screenshot, a log excerpt, a captured response - small enough to read inline. If the evidence is too large for that, summarise it inline and say where the full artifact came from.
3. --sync: keep the map honest
A feature map that drifts is worse than none, because it is trusted. Reconcile it against the app:
- features in the code with no map entry - write one
- map entries whose described path no longer exists - correct them, or delete the entry if the feature is gone, and say which you did
- entries no verification has exercised in a long time - flag them, don't quietly trust them
Run this when features land or change. build triggers it at the end of a pass; running it
by hand periodically is worth it on a codebase moving faster than its map.
4. Hand off
After a verification, report the outcome and the evidence, then stop. This skill proves or
disproves; it does not fix. A disproven feature goes back to build with the specific
mismatch, and validate is what decides whether the feature as a whole is done.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

