verify-and-review
Skill25 starsChanged 32 days agoMITView on GitHub
Use before you say that work is done, fixed, or ready for review. Also use it when the user says "make sure it works", "verify this", or "is it ready?". Runs the command or page that the user will use, and reads every count, status line, and exit code. Reviews the whole diff, and labels each claim as measured, inferred, or not verified. This catches a wrong count or a buried warning before handoff. Not for writing or proving tests (use `tests-that-catch-bugs`).
In this repository49 other files it gives its agents.
- AGENTS.mdAGENTS.md
- evals/AGENTS.mdAGENTS.md
- tooling/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- evals/CLAUDE.mdCLAUDE.md
- tooling/CLAUDE.mdCLAUDE.md
- choose-by-consequenceSkill
- design-deep-modulesSkill
- diagnose-before-editingSkill
- plan-with-review-pageSkill
- research-primary-sourcesSkill
- resolve-conflicts-by-intentSkill
- scope-confirmed-changesSkill
- shadowclone-build-preferencesSkill
- shadowclone-reviewSkill
- shadowclone-workSkill
- tests-that-catch-bugsSkill
- typescript-type-safetySkill
- verify-and-reviewSkill
- write-plain-englishSkill
- choose-by-consequenceSkill
- data-handlingSkill
- design-deep-modulesSkill
- diagnose-before-editingSkill
- plan-with-review-pageSkill
- research-primary-sourcesSkill
- resolve-conflicts-by-intentSkill
- scope-confirmed-changesSkill
- shadowclone-build-preferencesSkill
- shadowclone-reviewSkill
- shadowclone-workSkill
- tests-that-catch-bugsSkill
- typescript-type-safetySkill
- verify-and-reviewSkill
- write-plain-englishSkill
- choose-by-consequenceSkill
- design-deep-modulesSkill
- diagnose-before-editingSkill
- guided-pr-reviewSkill
- plan-with-review-pageSkill
- research-primary-sourcesSkill
- resolve-conflicts-by-intentSkill
- scope-confirmed-changesSkill
- shadowclone-reviewSkill
- shadowclone-workSkill
- tests-that-catch-bugsSkill
- typescript-type-safetySkill
- verify-review-findingsSkill
- write-plain-englishSkill
The file
We split this skill into the rules it gives an agent
11 rules. About 0 are common, 10 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈10
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 19
If the command writes files, did it run in a temporary home or a copy?
- Distinctive: line 27
Run the focused tests, then the required check of the repository.
- Distinctive: line 28
Run the real command, or open the real page.
- Distinctive: line 29
Read the output line by line.
- Distinctive: line 30
Do one failure path as well, such as a missing file or a bad value.
- Distinctive: line 31
Read the full diff with its context.
- Distinctive: line 33
Write the report, and give each claim its label.
- Very specific: line 40
Best route: Run the command with --json, send its output to a JSON parser, and check the exit code.
- Distinctive: line 46
Never verify a command that writes files against the real home or data of the user.
- Distinctive: line 48
Keep captured user content and secrets out of the report.
- Distinctive: line 49
Keep unrelated work in the worktree.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Verify the Real Outcome
Use when
You are about to say that a change is done, fixed, or ready for review. A question does not need this skill. Answer it directly.
Gates
- Did you run what the user runs: the command, the page, or the request, on the surface that they use? A passing unit test does not show that the command works.
- Did you read every line of the real output, including counts, totals, the final lines, and the exit code? Does each one match what happened?
- If the command writes files, did it run in a temporary home or a copy? Did you read the files that it wrote?
- Does each claim in your report have a label: measured, inferred, or not verified?
- Did you read the whole diff, including new files, and remove debug output, temporary mutations, and unrelated edits?
- Does the report list each behavior choice, such as a skip or a fallback, with its output line?
Process
- List what changed for the user: commands, output lines, exit codes, written files, pages, and documents.
- Run the focused tests, then the required check of the repository. Run a broad check again only when a later change needs it.
- Run the real command, or open the real page. Use a temporary home folder for a command that writes files. For a page, take a screenshot and look at it.
- Read the output line by line. Compare each count, status, and path with what you know happened. A wrong count is a bug, even when all tests pass.
- Do one failure path as well, such as a missing file or a bad value. Check the message and the exit code.
- Read the full diff with its context. Look for secrets, generated files, debug lines, and edits outside the request.
- Compare the changed documents with the behavior that you saw.
- Write the report, and give each claim its label.
Example
Situation: A change adds a --json flag to a status command. The unit tests for the formatter pass.
Easy route: Report "Done, all tests pass."
Hidden cost: The real command printed a warning line before the JSON. Each script that read the output failed to parse it.
Best route: Run the command with --json, send its output to a JSON parser, and check the exit code.
Evidence: The first run failed to parse at line 1, which was "Warning: the config file is old". After the fix, the parser read the output, and the command exited with code 0.
Guardrails
- Match each claim to a check that you ran or a thing that you saw. A successful build does not prove that an unused path works.
- Never verify a command that writes files against the real home or data of the user. Use a copy.
- Report each failure that existed before your change apart from new failures, with the evidence that it existed before.
- Keep captured user content and secrets out of the report.
- Keep unrelated work in the worktree. A worktree with other changes is not a reason to delete them.
- Report execution evidence and agent limitations in chat or local handoff notes. Do not add them to a pull request description unless the user asks for them.
Completion
- Each command that you ran, with its exit code.
- The output lines that show the result, quoted exactly.
- Each claim with its label: measured, inferred, or not verified.
- The
file:lineof each behavior choice, with the output line that shows it. - Each failure that existed before the change, and each path that you did not verify.
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.

