From a1357a6ab5f258a7664c968255699801f417ea79 Mon Sep 17 00:00:00 2001 From: Bastien Chanot Date: Wed, 16 Sep 2026 22:13:42 +0200 Subject: [PATCH] feat(ship-feature,init-project): pass B at the plan and design steps --- skills/init-project/SKILL.md | 7 +++++-- skills/ship-feature/SKILL.md | 4 ++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/skills/init-project/SKILL.md b/skills/init-project/SKILL.md index f9a3655..3e603b2 100644 --- a/skills/init-project/SKILL.md +++ b/skills/init-project/SKILL.md @@ -58,8 +58,8 @@ In both cases: MANDATORY STOP until user answers remaining questions. Produce PR **Then run `$HOME/.claude/lib/contract-interview.md`** seeded from the BRIEF: REQUEST verbatim = the user's project description; ACCEPTANCE CRITERIA = the -V1 FEATURES (each testable); FILE SCOPE = the planned tree. No new questions -(the interview already asked). It writes +V1 FEATURES (each testable); FILE SCOPE = the planned tree. Pass A is covered +by the interview; pass B runs at STEP 3 against the DESIGN. It writes `.claude/tasks/contracts/--.md`; the DESIGN approved at STEP 4 ENRICHES it, and STEP 9's verifier judges the MVP against the enriched contract. @@ -70,6 +70,9 @@ Load `$HOME/.claude/agents/analyzer.md`. Analyze BRIEF: existing code, stack con ## STEP 3 — DESIGN Invoke `superpowers:brainstorming` with BRIEF + ANALYSIS REPORT. Produce DESIGN: stack+versions, full folder tree, module responsibilities, data flow, interfaces (signatures only), config+tooling, test strategy, resolved decisions, prereqs list. +Then run pass B of `$HOME/.claude/lib/contract-interview.md` against the DESIGN +(minus what the BRIEF and the brainstorm settled): one batch before STEP 4; +answers append to the contract `[gated]`. ## STEP 4 — VALIDATION GATE #1 ★ MANDATORY STOP Present: diff --git a/skills/ship-feature/SKILL.md b/skills/ship-feature/SKILL.md index 7c02b18..2803514 100644 --- a/skills/ship-feature/SKILL.md +++ b/skills/ship-feature/SKILL.md @@ -116,6 +116,10 @@ Refine request into validated design via Socratic questioning. Don't proceed unt Invoke `superpowers:writing-plans` with the validated design AND the 0d digest: every task must be consistent with the in-force constraints; where a task implements or affects one, note the ID inline. Break design into tasks (2-5 min each). Each task: exact file paths, full code, verification steps. +Then run pass B of `$HOME/.claude/lib/contract-interview.md` against the plan: +every VISIBLE / PUBLIC NAME / SCOPE choice the plan settles that neither the +request nor the STEP 1 brainstorm settled (check the contract's CLARIFICATIONS +first) → one batch before STEP 2b; answers append to the contract `[gated]`. ## STEP 2b — CHALLENGE THE PLAN (adversarial, before the gate) Before the human sees the plan, harden it. Run `$HOME/.claude/lib/challenge-plan.md`: