brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Use 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 success claims; evidence before assertions always
Claude Code
$ npx -y skills add obra/superpowers --skill verification-before-completion --agent claude-code
Codex
$ npx skills add obra/superpowers --skill verification-before-completion -a codex -y
Cursor
$ npx skills add obra/superpowers --skill verification-before-completion -a cursor -y
Gemini CLI
$ npx skills add obra/superpowers --skill verification-before-completion -a gemini-cli -y
GitHub Copilot
$ npx skills add obra/superpowers --skill verification-before-completion -a github-copilot -y
OpenCode
$ npx skills add obra/superpowers --skill verification-before-completion -a opencode -y
Windsurf
$ npx skills add obra/superpowers --skill verification-before-completion -a windsurf -y
name: verification-before-completion description: Use 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 success claims; evidence before assertions always
**Core principle:** Evidence before claims, always.
**Violating the letter of this rule is violating the spirit of this rule.**
NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
If you haven't run the verification command in this message, you cannot claim it passes.
BEFORE claiming any status or expressing satisfaction: 1. IDENTIFY: What command proves this claim? 2. RUN: Execute the FULL command (fresh, complete) 3. READ: Full output, check exit code, count failures 4. VERIFY: Does output confirm the claim? - If NO: State actual status with evidence - If YES: State claim WITH evidence 5. ONLY THEN: Make the claim Skip any step = lying, not verifying
| Claim | Requires | Not Sufficient | |-------|----------|----------------| | Tests pass | Test command output: 0 failures | Previous run, "should pass" | | Linter clean | Linter output: 0 errors | Partial check, extrapolation | | Build succeeds | Build command: exit 0 | Linter passing, logs look good | | Bug fixed | Test original symptom: passes | Code changed, assumed fixed | | Regression test works | Red-green cycle verified | Test passes once | | Agent completed | VCS diff shows changes | Agent reports "success" | | Requirements met | Line-by-line checklist | Tests passing |
| Excuse | Reality | |--------|---------| | "Should work now" | RUN the verification | | "I'm confident" | Confidence ≠ evidence | | "Just this once" | No exceptions | | "Linter passed" | Linter ≠ compiler | | "Agent said success" | Verify independently | | "I'm tired" | Exhaustion ≠ excuse | | "Partial check is enough" | Partial proves nothing | | "Different words so rule doesn't apply" | Spirit over letter |
**Tests:**
✅ [Run test command] [See: 34/34 pass] "All tests pass" ❌ "Should pass now" / "Looks correct"
**Regression tests (TDD Red-Green):**
✅ Write → Run (pass) → Revert fix → Run (MUST FAIL) → Restore → Run (pass) ❌ "I've written a regression test" (without red-green verification)
**Build:**
✅ [Run build] [See: exit 0] "Build passes" ❌ "Linter passed" (linter doesn't check compilation)
**Requirements:**
✅ Re-read plan → Create checklist → Verify each → Report gaps or completion ❌ "Tests pass, phase complete"
**Agent delegation:**
✅ Agent reports success → Check VCS diff → Verify changes → Report actual state ❌ Trust agent report
**ALWAYS before:**
**Rule applies to:**
Superpowers is a complete software development methodology for your coding agents, built on top of a set of composable skills and some initial instructions that make sure your agent uses them.
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Use when a superpowers session went wrong and your human partner wants to know why — repeated work, ignored plans, stumbles, poor…
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline…
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work
Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically…
Ask which skill or flow fits your situation. A router over the skills in this repo.
Act on user feedback attached to the current session. Use when the user submits feedback on the session's changes via the Submit…