start-feature
Start a new feature and route it through the pipeline: Discussion → Specification → Planning → Implementation.
⚠️ ZERO OUTPUT RULE: Do not narrate your processing. Produce no output until a step or reference file explicitly specifies display content. No "proceeding with...", no discovery summaries, no routing decisions, no transition text. Your first output must be content explicitly called for by the instructions.
Instructions
Follow these steps EXACTLY as written. Do not skip steps or combine them.
CRITICAL: This guidance is mandatory.
- After each user interaction, STOP and wait for their response before proceeding
- Never assume or anticipate user choices
- Even if the user's initial prompt seems to answer a question, still confirm with them at the appropriate step
- Complete each step fully before moving to the next
Step 0: Run Migrations
This step is mandatory. You must complete it before proceeding.
Invoke the /migrate skill and assess its output.
If files were updated: STOP and wait for the user to review the changes (e.g., via git diff) and confirm before proceeding to Step 1. Do not continue automatically.
If no updates needed: Proceed to Step 1.
Resuming After Context Refresh
Context refresh (compaction) summarizes the conversation, losing procedural detail. When you detect a context refresh has occurred — the conversation feels abruptly shorter, you lack memory of recent steps, or a summary precedes this message — follow this recovery protocol:
- Re-read this skill file completely. Do not rely on your summary of it. The full process, steps, and rules must be reloaded.
- Identify the topic. Check conversation history for the topic name. If unknown, check
.workflows/discussion/for recently modified files viagit log --oneline -5. - Determine current step from artifacts:
- No discussion file exists → resume at Step 1
- Discussion exists with
status: in-progress→ resume at Step 3 (re-invoke technical-discussion) - Discussion exists with
status: concluded→ resume at Step 4 (phase bridge)
- Announce your position to the user before continuing: what step you believe you're at, what's been completed, and what comes next. Wait for confirmation.
Do not guess at progress or continue from memory. The files on disk and git history are authoritative — your recollection is not.
Step 1: Gather Feature Context
Load gather-feature-context.md and follow its instructions.
→ Proceed to Step 2.
Step 2: Topic Name and Conflict Check
Based on the feature description, suggest a topic name:
Output the next fenced block as a code block:
Suggested topic name: {suggested-topic:(kebabcase)}
This will create: .workflows/discussion/{suggested-topic}.md
Output the next fenced block as markdown (not a code block):
· · · · · · · · · · · ·
Is this name okay?
- **`y`/`yes`** — Use this name
- **`s`/`something else`** — Suggest a different name
· · · · · · · · · · · ·
STOP. Wait for user response.
Once the topic name is confirmed, check for naming conflicts:
ls .workflows/discussion/
If a discussion with the same name exists, inform the user:
Output the next fenced block as markdown (not a code block):
· · · · · · · · · · · ·
A discussion named "{topic}" already exists.
- **`r`/`resume`** — Resume the existing discussion
- **`n`/`new`** — Choose a different name
· · · · · · · · · · · ·
STOP. Wait for user response.
If resuming, check the discussion status. If concluded → skip to Step 4. If in-progress → proceed to Step 3.
→ Proceed to Step 3.
Step 3: Invoke Discussion
Before invoking the processing skill, save a session bookmark.
Output the next fenced block as a code block:
Saving session state so Claude can pick up where it left off and continue the feature pipeline if the conversation is compacted.
.claude/hooks/workflows/write-session-state.sh \
"{topic}" \
"skills/technical-discussion/SKILL.md" \
".workflows/discussion/{topic}.md" \
--pipeline "This session is part of the feature pipeline. After the discussion concludes, load and follow the phase bridge at skills/start-feature/references/phase-bridge.md for topic '{topic}'."
Load invoke-discussion.md and follow its instructions.
CRITICAL: When the discussion concludes (status becomes "concluded"), you MUST proceed to Step 4 below. Do not end the session — the feature pipeline continues to specification via the phase bridge.
Step 4: Phase Bridge
Load phase-bridge.md and follow its instructions.
The bridge will enter plan mode with instructions to invoke continue-feature for the topic in the next session.