← ClaudeAtlas

gabe-redlisted

TDD's first half as a lifecycle beat — after /gabe-plan, before any source edit: declare case ids (REUSE vs NEW), write failing tests against stubs, prove RED, commit the red checkpoint.
khujta/gabe-suite · ★ 0 · Testing & QA · score 63
Install: claude install-skill khujta/gabe-suite
# Gabe Red — the failing state, given an address **Usage:** `/gabe-red [phase]` ## Gabe execution contract (E1–E7) This skill runs under the suite execution contract — E1 EVIDENCE · E2 RUN-BEFORE-✅ · E3 NO SILENT DOWNGRADE · E4 REUSE FIRST · E5 STATE SYNC · E6 MISSING ANCHOR = STOP · E7 REPORT WHERE — floors, not ceilings; a skill's own gate may be stricter, never looser. Full text: `../gabe-docs/references/execution-contract.md` (if that file is missing, E6 applies — STOP). ## The intention (why this beat exists) *A beat asserts one terminal state; TDD has two contradictory terminal states of the same measurement. No wording inside execute can end with "the tests fail" — so red gets its own beat, and its deliverable is a COMMIT whose declared cases fail by assertion. Red is not perishable; it is unaddressable — the commit gives it an address anyone can re-derive later. A test that has never been observed red is not known to test anything.* This beat decides what the change must be TRUE OF while the answer can still shape the design. It authors no documentation — it writes test code and produces a commit. **Tripwire:** if this beat ever prints a summary a developer reads instead of a failure a developer must fix, it has become ceremony — delete it. ## Ordering gate Runs after `/gabe-plan` (needs the phase row + its `proof_type`) and **before execute's first source Write** for the phase. `/gabe-next` routes here when the phase row carries a `Red` cell ⬜ (projects witho