Mandatory proof that work is actually done before declaring completion. Use before saying "done," "complete," or "finished" for any task. Prevents the agent anti-pattern of declaring success without evidence.
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VidyaBodepudi/Code-Skills --skill verification-before-completion --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Verification Before Completion?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vidyabodepudi-verification-before-completion)More formats (shields.io, HTML) on the badges page.
---
name: verification-before-completion
description: >
Mandatory proof that work is actually done before declaring completion.
Use before saying "done," "complete," or "finished" for any task.
Prevents the agent anti-pattern of declaring success without evidence.
version: 1.0.0
permissions:
- fs.read
- shell.exec
triggers:
- context: "about to declare task complete"
- context: "about to say done or finished"
- command: "/test"
platforms:
- claude-code
- cursor
- gemini-cli
- copilot
- codex
- opencode
- windsurf
- kiro
model_variants:
claude:
enforcement_style: "human-partner collaborative"
gate_phrasing: "Before I tell you this is done, let me verify everything actually works."
gemini:
enforcement_style: "structured-checklist"
gate_phrasing: "COMPLETION GATE: ☐ Tests pass ☐ Build succeeds ☐ Requirements met ☐ Evidence collected"
gpt:
enforcement_style: "directive-imperative"
gate_phrasing: "You MUST run tests and verify the build before declaring any task complete."
author: codehands-core
signed: true
tier: 0
---
## Overview
"Done" means proven done, not believed done. This skill is the final gate before any task is declared complete. It prevents the most damaging agent behavior: confidently declaring success when the code doesn't actually work.
## When to Use
- Before EVERY task completion declaration
- Before saying "done," "complete," "finished," or "ready"
- Before marking a plan task as complete
- Before opening a PR
- This skill is NON-NEGOTIABLE. There are no exceptions.
## Process
### The Verification Checklist
Before declaring completion, confirm ALL of these:
1. **Tests pass.**
```bash
npm test # or pytest, go test ./..., cargo test, etc.
```
If there are no tests, you haven't followed `codehands:test-driven-development`. Go back and add them.
2. **Build succeeds.**
```bash
npm run build # or equivalent
```
TypeScript compiles. No warnings treated as errors. No build failures.
3. **Requirements met.** Re-read the spec/task. Compare each requirement against what you built. Every requirement must have evidence.
4. **No regressions.** The FULL test suite passes, not just your new tests.
5. **Code is committed.** All changes are committed with a descriptive message. Nothing is left in an uncommitted state.
### Evidence Requirement
For each completed task, provide evidence:
```markdown
## Completion Evidence
- Tests: 47 passing, 0 failing (output attached)
- Build: Clean build with 0 warnings
- Requirements: FR-001 ✅, FR-002 ✅, FR-003 ✅
- Commit: abc1234 "Add user registration with email verification"
```
## Common Rationalizations
| Rationalization | Reality |
|---|---|
| "I know it works — I just wrote it" | You believe it works. Belief is not evidence. Run the tests. |
| "Tests are passing in my head" | Run them for real. "Passing in your head" is the leading cause of broken deployments. |
| "The build will pass — I only changed one file" | One file change can break the build via type errors, import cycles, or missing exports. Confirm it. |
| "I'll verify at the end after all tasks are done" | Each task must independently pass verification. Deferring creates compound verification debt. |
| "The user is in a hurry" | Breaking the user's build to save 30 seconds is not a favor. Verify. |
## Red Flags
- "Done!" without test output
- Declaring completion on a task that has no tests
- Not running the full test suite (only new tests)
- Build not run before declaring complete
- Spec requirements not individually verified
## Verification
- [ ] All tests pass (full suite, not just new tests)
- [ ] Build succeeds with no errors
- [ ] Every spec requirement has been verified against implementation
- [ ] No regressions introduced (full test suite passing)
- [ ] All changes committed with descriptive message
- [ ] Completion evidence provided (test output, build output, requirement mapping)
## See Also
- `codehands:test-driven-development` — Tests that power verification
- `codehands:code-review-and-quality` — Review before final completion
- `codehands:systematic-debugging` — When verification reveals issues
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!