witness-implementlisted
Install: claude install-skill popovych-co/witness
# witness-implement — plan → tagged tests + code → gate
<!-- Derived (MIT): red/green/refactor discipline merged from obra/superpowers
test-driven-development and mattpocock/skills tdd (near-duplicates; union
taken). Rewritten for witness: evidence is CLI-witnessed at red and green,
tests carry the parent spec's tag in their NAME. See NOTICE.md. -->
## Ground rules (every witness skill)
Resolve the CLI once per session:
```bash
WITNESS="${WITNESS_BIN:-npx -y @popovych.co/witness@0.10.1}"
```
- **Never edit `specs/**` or `plans/**`** (the canon dirs — `paths:` in witness.config.yaml may relocate them) — not with an edit tool, not with a write tool, not with Bash redirection. The CLI is the sole writer of state; you author in scratch files under `$(mktemp -d)` and hand them to the CLI. (The canon guard blocks you; the trailer audit catches what it can't.)
- **Never invoke gate reviewers or relay verdicts.** `witness gate` runs reviewers itself and journals what they said; your summary of a verdict is not evidence.
- **Refusal repair loop:** a `witness` verb exiting 2 prints structured violations (`field · rule · got · want`). Fix your input and retry — **3 total attempts** per artifact, then stop, show the human the violation list verbatim, and end your turn.
- **A refused or hook-blocked command is a stop, not a step to drop.** Re-issue it on its own; if it still refuses, tell the human what was blocked and why. Never proceed by deleting the refused half of a compound com