Skip to content
Back to skills

Verification Before Completion

ASecurity

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.

  • 2 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 8, 2026
ai-agentstypescriptgoshellbashdebuggingcode-review

Works with

  • cursor
  • cli

Security analysis

A100/100

Scanned September 8, 2026

npx -y skills add VidyaBodepudi/Code-Skills --skill verification-before-completion --agent claude-code

Installs 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 with every re-scan.

Security grade badge for Verification Before Completion
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vidyabodepudi-verification-before-completion/badge)](https://www.skillsdirectory.com/skills/vidyabodepudi-verification-before-completion)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…