auditing-upstream-drif…
Use when checking if beads-superpowers is outdated, before a plugin release, or when auditing for missing capabilities — covers upstream drift, test execution,…
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
$ npx -y skills add DollarDill/beads-superpowers --skill verification-before-completion --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/verification-before-completionContext preview
The summary Claude sees to decide when to auto-load this skill.
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
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 6. CLOSE: If this verification gates a bead closure, run `bd close <id> --reason "description with evidence from step 4"` Skip any step = lying, not verifying
When a skill **files a bead for discovered/follow-up work** (not planned work), stamp it so a human can triage risk at a glance.
Severity: Critical | Important | Minor Confidence: Confirmed | Speculative Evidence: <file:line / failing test / repro> (or: none)
| 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 | | No security regression | SAST/audit tool if one exists (semgrep, bandit, npm/pip audit) → 0 new findings, AND diff review: no control weakened/removed/bypassed, no new sink. No tool? Use the "If Verification Cannot Run" path: record the manual diff-review as evidence, note no SAST available. | Tests pass (tests rarely cover security) |
When no verification command exists (no test suite, CI down, external dependency unavailable):
1. **Record the gap:** `bd note <id> "verification blocked: <reason>"` 2. **Create a blocker:** `bd create "Set up verification for <feature>" -t task` and `bd dep add <current-task> <new-task>` 3. **Document partial verification:** Note what WAS verifiable (e.g., "linter passes, manual smoke test done, but no automated test suite exists") 4. **Never silently skip:** A bead closed without verification evidence AND without a documented gap is worse than a bead left open
| 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 | | "It's good enough to ship" | Production system, real users — no shortcut, no dropped requirement, no accepted security regression | | "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:**
Superpowers & Beads task memory for AI coding agents - supports Claude Code, Codex, OpenCode, Cursor, Gemini CLI, GitHub Copilot CLI, Kimi Code, Antigravity, Factory Droid, and Pi.
Use when checking if beads-superpowers is outdated, before a plugin release, or when auditing for missing capabilities — covers upstream drift, test execution,…
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent,…
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
Use when implementation on a branch is complete and it is about to be merged or PR'd — or when finishing-a-development-branch reaches its docs-audit gate — and…
Use when you have a written implementation plan to execute in a separate session with review checkpoints
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting…