Guide · Agent skill
How to use the Verification Before Completion 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 that stops an AI coding agent from declaring a task finished, fixed, or passing until it has run the relevant verification command and read the real output. It is aimed at developers who have caught an agent claiming tests pass when they were never run. After this guide you will know what the skill changes, how to install it, how to trigger it with plain requests, and when it is not worth using.
Quick start
- 1Download the ZIP. Download the verification-before-completion ZIP from this page. It contains SKILL.md.
- 2Choose where to install. Pick ~/.claude/skills/ for all your projects or the project's .claude/skills/ folder for one project.
- 3Unzip the package. Unzip the ZIP into the chosen folder so the skill files sit in place.
- 4Or upload in the Claude apps. In the Claude apps, go to Settings → Capabilities → Skills and upload the ZIP.
- 5Ask for real evidence. Make a normal request and say you want the test, lint, or build run before the task is called done.
- 6Check the output. Read the command output the agent quotes and confirm it matches the claim before accepting it.
What the skill makes the agent do
The skill is built on one rule: evidence before claims, always. Before the agent says anything like "done", "fixed" or "all tests pass", it must identify the command that proves the claim, run the full command fresh, read the complete output and check the exit code and failure count, and only then state the result. If the output does not confirm the claim, the agent reports the actual status instead.
The skill also covers agent delegation. When a sub-agent reports success, the agent is told to check the version control diff and verify the changes itself rather than trusting the report. It is a set of rules and checklists in plain instructions, so it changes how the agent behaves rather than adding a new tool.
- Tests pass: needs test command output showing 0 failures, not a previous run or "should pass".
- Linter clean: needs linter output showing 0 errors.
- Build succeeds: needs build command exit 0. A passing linter does not count.
- Bug fixed: the original symptom must be tested and pass.
- Agent completed: the VCS diff must show the changes; an agent saying "success" is not enough.
- Requirements met: a line-by-line checklist, not passing tests alone.
Install the skill from the ZIP or the Claude apps
Download the ZIP for verification-before-completion from this page. The package contains one file, SKILL.md.
To install for yourself across projects, unzip it into ~/.claude/skills/. To install for one project only, unzip it into the project's .claude/skills/ folder. Alternatively, in the Claude apps go to Settings → Capabilities → Skills and upload the ZIP there.
- Personal install: ~/.claude/skills/
- Project install: .claude/skills/ inside your project folder
- Claude apps: Settings → Capabilities → Skills, then upload the ZIP
Trigger the skill with natural requests
The skill's description tells the agent when to use it: when about to claim work is complete, fixed, or passing, and before committing or creating PRs. In practice you rarely need special wording. Ask for the work in the normal way and make clear you want proof.
Asking for the verification step explicitly, such as "run the tests before you tell me it's done", makes it harder for the agent to skip the check. The skill applies to paraphrases too, so an agent saying "this should be good now" is covered by the same rule.
- "Fix the failing login test and confirm the full test suite passes before you say it's done."
- "Before you open a PR, run the build and show me the exit code."
- "Delegate the refactor to a sub-agent, then check its diff against the plan."
Examples of verification in practice
Here is the pattern the skill teaches for tests. The agent runs the test command, sees the result, and only then reports it, quoting the numbers. Writing "should pass now" without running anything is the failure the skill is meant to prevent.
For regression tests, the skill describes a red-green cycle: write the test, run it and see it pass, revert the fix and confirm it fails, then restore the fix and confirm it passes again. A test that passes once proves little.
- Good: run the test command, see 34/34 pass, then report "All tests pass" with that output.
- Bad: "Should pass now" or "Looks correct" with no run.
- Good: a linter passing is reported as a linter result only, not as proof the code compiles.
What you need before using it
The skill itself lists no requirements. It works only when your project has commands the agent can run as evidence, such as tests, a linter, or a build. If there is nothing to run, the skill cannot create verification on its own.
- A project with test, lint, or build commands the agent can execute.
- An agent setup that loads skills from the folders above or the Claude apps upload.
Safety notes: scripts and network
This skill runs no scripts and uses no network access. It is plain instruction text in SKILL.md. The commands the agent runs are the ones your project already defines, so review those commands as you normally would before letting an agent execute them.
- Runs scripts: no
- Uses network: no
- Licence: MIT
Tips for getting the most from it
Use the skill where the cost of a false "done" is high: before commits, pull requests, and handing work to someone else. For a quick throwaway edit, the extra step may cost more time than it saves.
Watch for the red flags the skill lists, such as hedging words like "probably" or satisfaction like "Done!" before any run. Those are signs the agent has skipped verification.
- Name the exact test, lint, or build command in your request so the agent knows what counts as proof.
- Ask for a checklist on multi-part requirements and check each item.
- Check the diff yourself when a sub-agent reports success.
What people use it for
- Confirming a bug fix by re-running the original failing test before merging.
- Checking that a build exits 0 before opening a pull request.
- Verifying a sub-agent's refactor by reviewing the version control diff against the plan.
- Working through a multi-part feature by checking each requirement against a written checklist.
Frequently asked questions
Is the verification before completion skill free?
The skill is published under the MIT licence, as stated on this page. Check the licence file in the source repository for the full terms.
What do I need to use this skill?
The skill lists no requirements. It needs a project with test, lint, or build commands the agent can run, because the skill relies on real command output as evidence.
Where do I put the skill files?
Unzip the ZIP into ~/.claude/skills/ for personal use or into a project's .claude/skills/ folder for one project. You can also upload the ZIP in the Claude apps under Settings → Capabilities → Skills.
Does this skill run scripts or use the internet?
No. The skill runs no scripts and uses no network access. It consists of instructions in SKILL.md.
Can it write tests for my project if I have none?
No. The skill cannot create verification on its own. If the project has no test, lint, or build commands, there is nothing for the agent to run as evidence, so the skill adds little.
Why does my agent still say tests pass without running them?
Name the exact command in your request and ask for its output. The skill describes the behaviour, but the clearer the instruction to run the command, the less room the agent has to skip it.
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 work on a project with test, lint, or build commands and have seen an agent claim success without running them, or if you hand work to sub-agents and want their results checked against the diff. Pick something else, or skip it, for projects without runnable checks, for writing or design work with no command that proves success, or for quick throwaway edits where the extra step is not worth the delay.
Download the skill