Guide · Agent skill
How to use the Verify Before Claiming Done agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
The verification-before-completion skill is a set of written rules for an AI agent. Its job is to stop the agent from saying work is finished, fixed or passing until it has run the relevant check again and read the result. This guide is for developers who want fewer confident-sounding reports that turn out to be wrong, and it walks through what the skill changes, how to install it, how to trigger it and where it fits.
Quick start
- 1Download the ZIP. Download the skill ZIP from this page and unzip it. It contains SKILL.md.
- 2Choose an install location. Use ~/.claude/skills/ for all projects, or .claude/skills/ inside one project.
- 3Place the skill folder. Move the unzipped skill folder into the chosen skills directory.
- 4Or upload in the Claude apps. In the Claude apps, go to Settings → Capabilities → Skills and upload the skill.
- 5Make sure checks exist. Confirm your project has test, lint or build commands the agent can run.
- 6Ask for finished work normally. Request a fix or feature as usual, and ask the agent to confirm checks pass before reporting done.
- 7Review the evidence. Read the command output the agent reports before accepting its conclusion.
What the skill makes the agent do
The skill is built around one rule: no claim of completion without fresh verification evidence. Before the agent says a test passes, a build succeeds or a bug is fixed, it should identify the command that proves the claim, run the full command, read the complete output including the exit code and failure count, and only then state the result.
The skill also lists common failure patterns with what counts as adequate evidence. For example, a passing linter does not prove a build succeeds, and an agent's report of success is not a substitute for checking the version control diff. It also lists warning phrases such as 'should work now' or 'probably' that the agent should treat as a signal to stop and verify.
- Tests: the test command's output must show zero failures, not an earlier run or a belief that it will pass.
- Build: the build command must exit with code 0. A linter passing does not count.
- Bug fixes: the original symptom must be re-tested and shown to pass.
- Delegated work: when a sub-agent reports success, the agent checks the VCS diff and reports the actual state.
- Regression tests: the skill describes a red-green cycle, where the test is seen to fail without the fix and pass with it.
Install the skill from a ZIP file
Download the ZIP for this skill from this page and unzip it. The skill is a folder containing a single file, SKILL.md. Put the folder in one of two places, depending on how you want it used.
For all your projects, place it in ~/.claude/skills/. For a single project, place it in that project's .claude/skills/ folder. The skill's files should sit inside a folder named for the skill, so that the agent finds SKILL.md.
In the Claude apps, you can instead upload the skill under Settings → Capabilities → Skills.
- Personal install: ~/.claude/skills/
- Project install: .claude/skills/ inside your project
- Claude apps: Settings → Capabilities → Skills, then upload
Trigger the skill with natural requests
You do not need a special command. The skill's description tells the agent to use it before claiming success, before committing or creating a pull request, before marking a task done, and before delegating work to a sub-agent. So ordinary requests that involve finishing work are enough to bring it in.
Be specific about the checks you want if your project has more than one. The skill can only verify with commands the project already has, so naming them helps.
- "Fix the failing login test and confirm the full suite passes before you tell me it's done."
- "Before you open the PR, run the build and show me the exit code."
- "The sub-agent says the migration is finished. Check the diff and tell me what actually changed."
- "Make sure the bug is really fixed by re-running the original reproduction steps."
What a good response looks like
With the skill active, a good completion report names the command it ran, quotes the relevant result, and states the conclusion only after that. If the check fails or cannot be run, the agent should say so with evidence rather than softening the claim.
The skill's own examples show the pattern: run the test command, see the pass count, then report that all tests pass. Phrases like 'it should pass' are the thing the skill is designed to block.
- Good: run the test command, see 34 of 34 passing, then say all tests pass.
- Not acceptable: 'It should pass now' or 'the linter is clean, so the build is fine'.
Safety notes: scripts and network
This skill contains guidance only. The package includes no scripts, and it does not use the network. It does not run anything by itself. Any commands that run are the ones your agent executes as part of checking its work, using the project's existing test, lint or build tools.
Because the agent will run your project's commands, the usual precautions for letting an agent execute code in your repository still apply.
- Runs scripts: no
- Uses network: no
- Requires: nothing listed in the skill metadata
Tips for getting the most from it
The skill works best on projects that have clear test, lint and build commands. Without them, the agent has nothing concrete to verify against. Requirement checks are also more useful when the agent has a written plan or checklist to compare against.
Skip the full check cycle for trivial throwaway work, where the extra runs cost more time than they add.
- Make sure your project has documented test, lint and build commands before relying on the skill.
- For larger tasks, ask the agent to write a checklist of requirements and verify each item.
- Ask for the diff to be checked whenever a sub-agent reports success.
What people use it for
- Confirming a failing test suite passes after a bug fix before a commit.
- Checking that a build exits with code 0 before opening a pull request.
- Reviewing a sub-agent's changes against the actual VCS diff before accepting them.
- Re-running the original reproduction steps to confirm a reported bug is gone.
- Checking each item of a requirements list against the code before marking a phase complete.
Frequently asked questions
How do I install the verification-before-completion skill?
Download the ZIP from this page and unzip it. Place the folder in ~/.claude/skills/ for all projects, or in .claude/skills/ inside a single project. In the Claude apps, you can instead upload it under Settings → Capabilities → Skills.
Does this skill require anything else to run?
The skill metadata lists no requirements. It contains only guidance in SKILL.md and no scripts. It can only verify work using test, lint or build commands your project already has.
Is the verification-before-completion skill free?
The skill is released under the MIT licence, as stated on this page. The source does not mention pricing for other parts of the project.
Does the skill run tests or checks by itself?
No. It changes how the agent behaves and requires it to run whatever commands the project already has. It does not perform verification on its own and does not use the network.
Why does my agent still say tests pass without running them?
The skill has to be installed in a location the agent reads, and the request should involve finishing or committing work so the skill applies. Also check the project has test commands; without them the agent may run ad hoc checks instead.
Is this skill written in English?
No. SKILL.md is written in Chinese, so the rules and examples will appear in Chinese. The skill is best suited to readers who can work with that language or whose agent handles it well.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Use this skill if you have seen an agent declare code finished that later failed, or you want test output and build exit codes before commits and pull requests. Skip it for projects without test, lint or build commands, for quick throwaway tasks, or if you want a tool that performs verification itself.
Download the skill