diff --git a/skills/ship-feature/SKILL.md b/skills/ship-feature/SKILL.md index 0a2f088..1a22224 100644 --- a/skills/ship-feature/SKILL.md +++ b/skills/ship-feature/SKILL.md @@ -159,6 +159,23 @@ If nothing substantive to log β†’ print `CAPITALIZE: nothing substantive to log` --- +## FAILURE PATHS (orchestrator-level) + +The pipeline must handle these without aborting silently: + +| Situation | Behavior | +|---|---| +| STEP 0b β€” `CLAUDE.md` missing | STOP with the printed message ("Run `/onboard` first…"). Do not proceed. | +| STEP 0c β€” `ctx7` not installed but fast-libs detected | Skip pre-fetch silently. During STEP 4, log `πŸ“š ctx7 cache miss for ` and continue with vanilla model knowledge. | +| STEP 1 β€” brainstorming returns "design unclear" twice | Escalate: ask user "Switch to /init-project (greenfield-style design) or refine the feature request?" | +| STEP 3 β€” user replies "request changes" | Loop back to STEP 2 with user's notes. Cap at 3 iterations; on the 3rd "request changes" without approval, ask "Pause and rescope this feature?" | +| STEP 4 β€” subagent crashes (tool error, not test failure) | Treat as STEP 4b error path, present hypothesis-led gate. | +| STEP 4b β€” option A retried 2Γ— still failing | Force fall-through to B or C. Do not loop a 3rd time. | +| STEP 6 β€” review returns CRITICAL items | Loop back to STEP 4 for those items only. Cap at 2 review-cycle iterations; if still CRITICAL, escalate. | +| STEP 9 β€” `.claude/memory/` missing | Create the registry files from `~/.claude/templates/memory/` first, then proceed. | + +--- + ## FINAL OUTPUT ``` FEATURE SHIPPED: