Fix errors · How to use a skill
test-before-claiming-done
Makes an AI agent prove work is finished before it says so - run the command that proves the claim, read the full output and exit code, then report what it shows. Use when the AI says done, fixed or tests pass without proof, before committing or opening a PR, or when checking a sub-agent's "success" report.
Version 1.0 · Updated 2026-10-31
Install in Claude Code, Cursor or Codex (optional)
Only for AI coding tools that read skill folders. Run one line in a terminal, in your project folder. It downloads this skill's text files from TheSkillVault and nothing else; you can read them first with “View raw SKILL.md”.
Claude Code (all your projects)
curl -fsSL --create-dirs 'https://theskillvault.ai/api/skills/test-before-claiming-done/raw' -o ~/'.claude/skills/test-before-claiming-done/SKILL.md' && curl -fsSL --create-dirs 'https://theskillvault.ai/api/skills/test-before-claiming-done/files/LICENSE.txt' -o ~/'.claude/skills/test-before-claiming-done/LICENSE.txt'Cursor (this project)
curl -fsSL --create-dirs 'https://theskillvault.ai/api/skills/test-before-claiming-done/raw' -o '.cursor/skills/test-before-claiming-done/SKILL.md' && curl -fsSL --create-dirs 'https://theskillvault.ai/api/skills/test-before-claiming-done/files/LICENSE.txt' -o '.cursor/skills/test-before-claiming-done/LICENSE.txt'Codex and other Agent Skills tools (this project)
curl -fsSL --create-dirs 'https://theskillvault.ai/api/skills/test-before-claiming-done/raw' -o '.agents/skills/test-before-claiming-done/SKILL.md' && curl -fsSL --create-dirs 'https://theskillvault.ai/api/skills/test-before-claiming-done/files/LICENSE.txt' -o '.agents/skills/test-before-claiming-done/LICENSE.txt'
Or connect the whole library over MCP
Add TheSkillVault to Cursor or add this to your app's MCP settings (read-only; help):
{
"mcpServers": {
"theskillvault": {
"url": "https://theskillvault.ai/mcp"
}
}
}Test before claiming done
Evidence before claims, always. If the proving command was not run just now, the agent cannot say it passes. "Should work" is not a status.
NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
When to use
- The AI says "done", "fixed" or "all tests pass" and you have not seen proof.
- Before any commit, pull request, deploy or "task complete" message.
- A sub-agent or teammate reports success and you are about to rely on it.
Steps
- Identify the command that proves the claim. Tests pass? The test command. Builds? The build command.
- Run the full command, fresh. Not an earlier run, not a subset.
- Read all of the output. Check the exit code and count failures and warnings.
- Verify that the output really confirms the claim. If it does not, report the real status with the evidence.
- Only then claim it, and quote the proof, for example "npm test: 34/34 passing, exit 0".
What each claim needs
- Tests pass: test output showing 0 failures. Not "should pass" or last hour's run.
- Linter clean: linter output with 0 errors. A partial check proves nothing.
- Build succeeds: the build command exits 0. A clean linter is not a build.
- Bug fixed: the original symptom, re-tested, now passes. Changed code is not a fix.
- Regression test works: red then green. It passes, fails with the fix reverted, then passes again.
- Agent finished: the git diff shows the changes, and you checked them. A "success" message is not proof.
- Requirements met: re-read the plan and tick each item. Passing tests alone do not cover it.
Gotchas
- Red-flag words: "should", "probably", "seems to", "Great, done!" before any output was read. Stop and run the check.
- "Just this once" and "I'm confident" are not evidence. Confidence is not a test run.
- Rewording the claim to dodge the rule still breaks the rule. Any hint of success counts.
- Long output gets skimmed. Search it for "fail", "error" and the summary line.
Safety
- Run verification against local or staging setups, not production data, unless you were told to.
- Do not paste full logs that contain tokens, passwords or customer data into chats or PRs. Quote the summary lines.
Works with any stack
Use the project's own commands: npm test, pytest, go test ./..., cargo test, mvn verify or similar. The rule is the same in any language and with any AI agent.
Done when
- Every "done" or "passing" claim comes with the command and the output that proves it.
- Failures are reported as failures, with evidence, not smoothed over.
Example prompt
"Before you tell me it's fixed, run the tests and the build and show me the output."
---
Adapted from "verification-before-completion" in obra/superpowers by Jesse Vincent (MIT). See LICENSE.txt.
Adapted from Jesse Vincent (obra/superpowers, 'verification-before-completion') (Copyright (c) 2025 Jesse Vincent), MIT License. Adapted by TheSkillVault: renamed to the verb-first house style; plain-language steps; tables shortened to a claim -> proof list; added when-to-use bullets, safety, portability and done-when sections.
Licence: MIT License. Attribution when you reuse it: Based on work by Jesse Vincent (obra/superpowers, 'verification-before-completion') (Copyright (c) 2025 Jesse Vincent, MIT License), https://github.com/obra/superpowers/blob/2ce8aa15d05bd57213e6f746f953aafb7ded7a8b/skills/verification-before-completion/SKILL.md; adapted by TheSkillVault, https://theskillvault.ai