Agent skill

Verification Before Completion

by MadAppGang in MadAppGang/claude-code

A skill your agent uses when claiming task completion or marking items as done.

MITAuto-check passedAgent Workflows

Install Verification Before Completion

skills CLI
$ npx skills add MadAppGang/claude-code --skill verification-before-completion -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install MadAppGang/claude-code verification-before-completion --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/MadAppGang/claude-code.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/dev/skills/discipline/verification-before-completion .claude/skills/verification-before-completion && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
verification-before-completion
GitHub stars
285
Token cost
~1.8k tokens
SKILL.md length
523 words
Files
1
Skills in repo
69
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when claiming task completion or marking items as done.

  • Works in 3 steps: BEFORE changing status to completed,… → IN THE SAME MESSAGE that marks it… → NEVER mark complete in one message, then…
  • Claiming task completion
  • SKILL.md covers When to Use, Red Flags (Violation Indicators), Key Concepts and Enforcement Mechanism, plus 3 more sections
  • Calls git, curl and docker

What it does

Verification Before Completion is an agent skill from MadAppGang/claude-code. Use when claiming task completion or marking items as done. Covers completion evidence requirements, verification methods, and anti-rationalization patterns.

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows, covering Verification before completion. The repository describes itself as: claude code plugins marketplace. The licence is MIT.

When your agent uses it

  • Claiming task completion
  • Marking items as done

Example prompts

  • “/verification-before-completion”

Requirements

  • Python 3
  • Docker

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. BEFORE changing status to completed, gather fresh evidence
  2. IN THE SAME MESSAGE that marks it complete, show the evidence
  3. NEVER mark complete in one message, then show evidence later

What it can do on your machine

Read from SKILL.md and the folder at commit 6097ad4. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • curl
    • docker
    • go
    • bun
    • npm
    • cargo

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, curl, docker and npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Verification Before Completion loads about 1.8k tokens when it runs. Until then it costs about 47 tokens; SKILL.md has 523 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~47
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from MadAppGang/claude-code at commit 6097ad4, republished under its MIT licence (© MadAppGang). 523 words, ~1,775 tokens.

Download SKILL.mdSave it as .claude/skills/verification-before-completion/SKILL.md (or your agent's skills folder).
name
verification-before-completion
description
Use when claiming task completion or marking items as done. Covers completion evidence requirements, verification methods, and anti-rationalization patterns.
keywords
completion, done, working, ready, verification, evidence, test-output, grep-verification, ci-cd, build-logs, git-diff, screenshot, should-work…
created
2026-01-20
updated
2026-01-20
plugin
dev
type
discipline
difficulty
beginner

Verification Before Completion

Iron Law: "NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE"

When to Use

This skill applies whenever you:

  • Mark a todo item as complete
  • Claim a bug is fixed
  • Report a feature is ready
  • State implementation is done
  • Close a task or issue
  • Prepare to commit changes

Red Flags (Violation Indicators)

  • "should be done" / "should work now" (assumed completion)
  • "probably works" / "likely fixed" (uncertainty without verification)
  • "seems to work" / "appears correct" (observation without test)
  • "Great!" / "Perfect!" / "All set!" (celebration without evidence)
  • "I already tested this earlier" (stale evidence)
  • Completion claim without test output shown
  • Completion claim without grep verification for file changes
  • Completion claim without screenshot for UI changes
  • Completion claim without git diff for code changes
  • Completion claim without build logs for configuration changes
  • Completion claim without CI link for deployment changes
  • "Just a small change, no need to verify" (size-based rationalization)

Key Concepts

Fresh Verification Principle

Verification must be fresh (performed after the claimed change) and explicit (evidence shown, not described).

Wrong:

Fixed the login bug in auth.ts. Should be working now.

Correct:

Fixed the login bug in auth.ts line 42:

git diff src/auth.ts:
-  if (user.token == null) {
+  if (user.token === undefined || user.token === null) {

Test output:
✓ should reject undefined token (15ms)
✓ should reject null token (12ms)
✓ should accept valid token (8ms)
Evidence Types by Change Type
Change TypeRequired EvidenceTool/Method
Logic/algorithmTest output showing passbun test, pytest, go test
File creationGrep verification or ls outputgrep -r "pattern" . or ls -la path/
UI/stylingScreenshot or videoBrowser DevTools screenshot
ConfigurationBuild logs showing successnpm run build, cargo build
DeploymentCI link or deployment logsGitHub Actions URL, kubectl logs
API changesAPI test output or curl resultcurl -X POST ...
Data migrationRow count or sample querySELECT COUNT(*) FROM ...
Performance fixBenchmark comparison (before/after)hyperfine, go test -bench

Enforcement Mechanism

Tasks Integration

When marking a todo as completed:

  1. BEFORE changing status to completed, gather fresh evidence
  2. IN THE SAME MESSAGE that marks it complete, show the evidence
  3. NEVER mark complete in one message, then show evidence later

Violation Pattern:

Message 1: "Fixed the validator. Marking todo complete."
Message 2: "Here's the test output..."

Correct Pattern:

Message 1:
"Fixed the validator. Test output:
✓ should validate email (5ms)
✓ should reject invalid format (3ms)

Marking todo complete."
Show full SKILL.md (218 more words)Show less
Rationalization Detection

Common rationalizations and their counters:

RationalizationCounter
"It's a trivial change"Trivial = fast to verify, not skip
"I tested this before"Code changed since then, verify again
"Same pattern as working code"Different context = different bugs
"Just fixing a typo"Typos can break builds, verify
"Only changed comments"Comments can break doc generation
"Can't test without production data"Use test fixtures or staging environment

Examples

Example 1: React Component Fix (TypeScript)

Scenario: Fixed useState initialization bug

Wrong Completion:

Fixed the counter initialization bug. Should be good now!

Correct Completion:

Fixed the counter initialization bug in Counter.tsx line 8:

git diff:
-  const [count, setCount] = useState();
+  const [count, setCount] = useState<number>(0);

Test output:
 PASS  src/Counter.test.tsx
   Counter component
     ✓ renders with initial value 0 (23ms)
     ✓ increments on button click (15ms)

Build check:
✓ Type checking passed (1.2s)
✓ No lint errors
Example 2: Python API Endpoint (FastAPI)

Scenario: Fixed validation error in POST /users

Wrong Completion:

Added email validation to the users endpoint. Tested locally, works fine.

Correct Completion:

Added email validation to the users endpoint in api/users.py line 45:

git diff:
 @app.post("/users")
 def create_user(user: UserCreate):
+    if not re.match(r"[^@]+@[^@]+\.[^@]+", user.email):
+        raise HTTPException(400, "Invalid email format")
     return db.create_user(user)

Test output:
test_create_user.py::test_valid_email PASSED
test_create_user.py::test_invalid_email_rejected PASSED
test_create_user.py::test_missing_at_sign PASSED

Manual curl test:
$ curl -X POST http://localhost:8000/users -d '{"email":"invalid"}'
{"detail":"Invalid email format"}
Example 3: Go Configuration Change

Scenario: Updated Docker build configuration

Wrong Completion:

Updated the Dockerfile to use Go 1.22. Build should work now.

Correct Completion:

Updated the Dockerfile to use Go 1.22:

git diff:
-FROM golang:1.21-alpine
+FROM golang:1.22-alpine

Build verification:
$ docker build -t myapp:test .
[+] Building 45.3s (12/12) FINISHED
 => [internal] load build definition from Dockerfile
 => => transferring dockerfile: 234B
 => [1/6] FROM golang:1.22-alpine
 => [2/6] WORKDIR /app
 => [3/6] COPY go.mod go.sum ./
 => [4/6] RUN go mod download
 => [5/6] COPY . .
 => [6/6] RUN go build -o /app/server
 => exporting to image
 => => writing image sha256:abc123...

Run verification:
$ docker run myapp:test --version
v1.0.0 (go1.22.0)

Integration with Other Skills

  • test-driven-development: TDD provides the tests you'll use as verification evidence
  • systematic-debugging: Debug process ends with fix verification (this skill)
  • agent-coordination-discipline: Agents must return verification evidence, not just claims
  • quality-gates: Quality gate checks are verification evidence types

Quick Reference

Before marking ANY task complete:

  1. ✅ Run relevant tests → capture output
  2. ✅ Check file changes → show git diff or grep
  3. ✅ Verify build → show build logs
  4. ✅ For UI changes → take screenshot
  5. ✅ For deployments → link CI run
  6. ✅ Show evidence in completion message
  7. ✅ Only then mark todo as completed

Remember: If you can't show fresh evidence, the task isn't complete yet.

© MadAppGang, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/dev/skills/discipline/verification-before-completion of MadAppGang/claude-code.

Open the folder on GitHubat commit 6097ad4

Compare with similar skills

Verification Before Completion next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Verification Before Completion compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Verification Before Completion this skillMadAppGang/claude-code285—~1.8kAutomated safety check: PassMIT
Show Me Your Work Decision Logcursor/plugins10k8 repos~1.6kAutomated safety check: PassNone
Scope Creep Guardlennney/stop-that-shit2.5k1 repos~2kAutomated safety check: PassMIT
Verification Before Completionfarm-fe/farm5.6k46 repos~1kAutomated safety check: PassMIT
PUA High-Agency Governancetanweai/pua20k—~502Automated safety check: PassMIT
Incremental Implementationaddyosmani/agent-skills103k1 repos~2.3kAutomated safety check: PassMIT

Similar skills

  • Official

    Keeps a TSV decision log for long or unattended agent runs, one row per decision with what, why, evidence and result, so a reviewer can check the work later.

    10k GitHub starsUsed in 8 repos~1.6k tokens
    Agent WorkflowsAuto-check passed
  • Scope Creep Guard

    lennney/stop-that-shit

    Keeps an agent focused on the requested work by applying a five-step ladder that checks for direct solutions, real gaps and speculative defenses before adding anything.

    2.5k GitHub starsUsed in 1 repo~2k tokens
    Agent WorkflowsAuto-check passed
  • A skill your agent uses when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any…

    5.6k GitHub starsUsed in 46 repos~1k tokens
    Agent WorkflowsAuto-check passed
  • Pushes an agent to keep verifying and changing approach after repeated failures, using a diagnosis line, evidence-based completion and confirmation before risky edits.

    20k GitHub stars~502 tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check passed
  • Incremental Implementation

    addyosmani/agent-skills

    Delivers a change in thin vertical slices, each implemented, tested, verified and committed before the next, using vertical, contract-first or risk-first slicing.

    103k GitHub starsUsed in 1 repo~2.3k tokens
    Agent WorkflowsAuto-check passed
  • PUA Loop

    tanweai/pua

    Runs an unattended iterate-until-verified loop in which a user-set verify command, not the agent's own claim, decides when the task is finished.

    20k GitHub stars~1.1k tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check passed

More from MadAppGang/claude-code

All 69 skills in this repo
  • Content Brief

    MadAppGang/claude-code

    Content brief template and creation methodology for SEO-optimized content.

    285 GitHub starsUsed in 1 repo~959 tokens
    Auto-check passed
  • Context Detection

    MadAppGang/claude-code

    A skill your agent uses when detecting project technology stack from files/configs/directory structure, auto-loading framework-specific skills, or analyzing multi-stack fullstack projects (e.g…

    285 GitHub stars~5.4k tokensUpdated 6 mo ago
    Auto-check passed
  • Content Optimizer

    MadAppGang/claude-code

    On-page SEO optimization techniques including keyword density, meta tags, heading structure, and readability.

    285 GitHub starsUsed in 1 repo~694 tokens
    Auto-check passed
  • Keyword Cluster Builder

    MadAppGang/claude-code

    Techniques for expanding seed keywords and clustering by topic and intent.

    285 GitHub starsUsed in 1 repo~674 tokens
    Auto-check passed
  • Serp Analysis

    MadAppGang/claude-code

    SERP analysis techniques for intent classification, feature identification, and competitive intelligence.

    285 GitHub starsUsed in 1 repo~1k tokens
    Auto-check passed
  • Agent Coordination Discipline

    MadAppGang/claude-code

    A skill your agent uses when deciding whether to launch an agent, selecting which agent to use, or coordinating multiple agents.

    285 GitHub stars~3.8k tokensUpdated 6 mo ago
    Auto-check passed

Categories

Questions about Verification Before Completion

What does Verification Before Completion do?

A skill your agent uses when claiming task completion or marking items as done. Verification Before Completion is an agent skill from MadAppGang/claude-code. Use when claiming task completion or marking items as done.

When should I use Verification Before Completion?

Verification Before Completion fits situations like: claiming task completion; marking items as done.

How do I install Verification Before Completion in Claude Code?

Run `npx skills add MadAppGang/claude-code --skill verification-before-completion -a claude-code`. Or copy the skill folder (plugins/dev/skills/discipline/verification-before-completion in MadAppGang/claude-code) into .claude/skills/verification-before-completion in your project. Claude Code loads it when a task matches its description.

How do I install Verification Before Completion in Codex?

Run `npx skills add MadAppGang/claude-code --skill verification-before-completion -a codex`. Or copy the skill folder (plugins/dev/skills/discipline/verification-before-completion in MadAppGang/claude-code) into .agents/skills/verification-before-completion in your project. Codex loads it when a task matches its description.

Can I use Verification Before Completion in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add MadAppGang/claude-code --skill verification-before-completion -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/verification-before-completion, .gemini/skills/verification-before-completion, .github/skills/verification-before-completion and .opencode/skills/verification-before-completion in your project.

What does Verification Before Completion need to run?

Going by SKILL.md and its folder, Verification Before Completion needs the command-line tools its instructions call (git, curl, docker, go, bun and npm). Our summary lists: Python 3; Docker.

Does Verification Before Completion access the network?

SKILL.md contains no URLs. Its commands use git, curl, docker and npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Verification Before Completion safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Verification Before Completion use?

Verification Before Completion is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Verification Before Completion use?

About 1.8k tokens (SKILL.md is roughly 7.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Verification Before Completion?

Skills that share tags, products or a category with Verification Before Completion: Show Me Your Work Decision Log (cursor/plugins, 10k stars), Scope Creep Guard (lennney/stop-that-shit, 2.5k stars), Verification Before Completion (farm-fe/farm, 5.6k stars) and PUA High-Agency Governance (tanweai/pua, 20k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Verification Before Completion?

MadAppGang (a GitHub organization) maintains it in MadAppGang/claude-code, which has 285 GitHub stars. The repository holds 69 skills in this directory. The repository was last updated on March 15, 2026.

Source: MadAppGang/claude-code on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.