supersam/docs/superpowers/skills/verification-before-completion/SKILL.md

75 lines
2.1 KiB
Markdown

---
name: verification-before-completion
description: Use when about to claim work is complete, fixed, or passing, before committing or creating PRs
---
# Verification Before Completion
## Overview
Claiming work is complete without verification is dishonesty, not efficiency.
**Core principle:** Evidence before claims, always.
## The Iron Law
```
NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
```
If you haven't run the verification command in this message, you cannot claim it passes.
## The Gate Function
```
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
```
## This Project's Verification Commands
| Claim | Command |
|-------|---------|
| Tests pass | `npm run test` |
| Lint clean | `npm run lint` |
| Build succeeds | `npm run build` |
| Dev server works | `npm run dev` (check browser + terminal) |
## Common Failures
| Claim | Requires | Not Sufficient |
|-------|----------|----------------|
| Tests pass | `npm run test` output: 0 failures | Previous run, "should pass" |
| Lint clean | `npm run lint` output: 0 errors | Partial check |
| Build succeeds | `npm run build`: exit 0 | Lint passing |
| Bug fixed | Test original symptom: passes | Code changed, assumed fixed |
## Red Flags — STOP
- Using "should", "probably", "seems to"
- Expressing satisfaction before verification ("Great!", "Perfect!", "Done!")
- About to commit without verification
- Relying on partial verification
- Thinking "just this once"
## Key Patterns
**Tests:**
```
✅ [Run npm test] [See: all pass] "All tests pass"
❌ "Should pass now" / "Looks correct"
```
**Build:**
```
✅ [Run npm run build] [See: exit 0] "Build succeeds"
❌ "Lint passed" (lint ≠ build)
```
## The Bottom Line
**No shortcuts for verification.** Run the command. Read the output. THEN claim the result.