verification-before-completion

Verify completion claims by running commands and checking output.

270k|24.1k|Updated Oct 9, 2025
One-click install
npx skills add https://github.com/obra/superpowers --skill verification-before-completion-obra
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: verification-before-completion
Source: https://github.com/obra/superpowers/tree/main/skills/verification-before-completion
Command: npx skills add https://github.com/obra/superpowers --skill verification-before-completion-obra

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solves? This Skill prevents false claims of completion or success by mandating fresh, explicit verification with evidence before any assertion is made. It eliminates shortcuts and ensures honesty and accuracy in reporting work status, building trust and preventing rework.

Core Features & Use Cases

  • Iron Law of Verification: Enforces that no completion claims are made without fresh verification evidence, making it a non-negotiable standard.
  • Gate Function: Provides a step-by-step process for identifying, running, reading, and verifying the output of a command before making any claim.
  • Rationalization Prevention: Explicitly lists and counters common excuses for skipping verification, such as "should work now" or "I'm confident," ensuring discipline.
  • Use Case: Before committing a bug fix, this skill forces you to run the specific test that reproduces the bug, confirm it now passes, and then present that evidence, rather than simply stating "bug fixed."

Quick Start

Example: Claiming tests pass

The Gate Function:

BEFORE claiming any status or expressing satisfaction:

1. IDENTIFY: What command proves this claim? (e.g., npm test)

2. RUN: Execute the FULL command (fresh, complete)

npm test

3. READ: Full output, check exit code, count failures

[See: 34/34 pass]

4. VERIFY: Does output confirm the claim? (Yes)

5. ONLY THEN: Make the claim

"All tests pass"

Red Flags - STOP:

- Using "should", "probably", "seems to"

- Expressing satisfaction before verification ("Great!", "Done!")

- About to commit/push/PR without verification

- Trusting agent success reports

- Relying on partial verification

- Thinking "just this once"

Frequently Asked Questions about verification-before-completion

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I verify code changes before claiming they're complete?

Verification before completion means identifying the specific command that proves your claim—like running tests or linting—executing it in full, reading the complete output and exit status, and confirming the results match your assertion before committing or reporting success. This prevents false completion claims and ensures evidence backs every status update.

What's the difference between assuming a fix works and verifying it actually does?

Assuming relies on confidence or reasoning; verification runs fresh evidence. Before claiming a bug fix, run the exact test that reproduces the bug, confirm it passes with full output visible, and only then state the fix works. This discipline eliminates rework and builds trust in your reporting.

Can I skip verification in CI pipelines and pull requests?

No. Verification is a gate function applied wherever success or completion is declared—code changes, tests, builds, lint checks, and deployment steps. The workflow identifies the verification command for each step, runs it completely, reads the full output, and confirms alignment before the claim stands.

Why do shortcuts like 'should work now' or 'I'm confident' fail this workflow?

This Skill explicitly counters rationalization. Phrases like "should," "probably," or "seems to" signal you haven't run verification yet. The gate function requires fresh command execution and output proof—not intuition—before any completion claim, eliminating excuses for skipping the verification step.

How do I handle partial verification or incomplete test runs?

Partial verification doesn't count. You must run the full command, check all exit codes, and count total pass/fail results. Only after the complete command executes and output confirms your claim in full can you assert completion. Partial runs create false confidence and hidden bugs.

What evidence should I report when verification reveals a claim is false?

Report the actual state shown in the command output and exit code, not your original claim. If tests fail, lint errors surface, or builds break, state what the verification output reveals. This honest reporting prevents cascading rework and keeps the workflow accurate.