| name | triage |
| description | Use when a large feature should be decomposed into dependency-aware specs. |
| argument-hint | [epic-name] [goal] |
| allowed-tools | Read Write Bash Agent AskUserQuestion |
| disable-model-invocation | true |
Epic Triage
Decompose a large feature into multiple specs with dependency graphs and interface contracts. You are a coordinator, not an implementer.
Coordinator Checklist
Complete these coordination steps in order; do not create user-facing implementation tasks from this checklist:
- Check for active epic -- detect if resuming or creating new
- Handle branch -- check git branch, create/switch if needed
- Parse input -- extract epic name and goal
- Run triage flow -- explore, brainstorm, validate, finalize
- Display result -- show epic summary and next steps
Step 1: Check for Active Epic
EPIC_FILE="./specs/.current-epic"
if [ -f "$EPIC_FILE" ]; then
EPIC_NAME=$(cat "$EPIC_FILE" | tr -d '[:space:]')
EPIC_STATE="./specs/_epics/$EPIC_NAME/.epic-state.json"
fi
If active epic exists: Read .epic-state.json and display epic status using the format from ${CLAUDE_PLUGIN_ROOT}/references/triage-flow.md (Epic Status Display section).
Then ask the user:
- Continue with this epic -- suggest the next unblocked spec
- Create a new epic -- proceed to Step 2
- View epic details -- show full epic.md content
If user chooses to continue: suggest next unblocked spec, offer to run /curdx-flow:start <spec-name>. STOP.
If no active epic: Proceed to Step 2.
Step 2: Branch Management
Before creating any files or directories, check the current git branch and handle appropriately.
Read ${CLAUDE_PLUGIN_ROOT}/references/branch-management.md and follow the full branch decision logic.
Step 3: Parse Input
Extract from $ARGUMENTS:
- epic-name: First argument (kebab-case). If not provided, ask user.
- goal: Remaining arguments. If not provided, ask user: "Describe the large feature you want to build."
Before creating the epic, run:
curdx-flow route --name "$EPIC_NAME" --goal "$GOAL" --flags "$ARGUMENTS"
curdx-flow snapshot --goal "$GOAL"
Use the route's topology and recommended capabilities as triage input. Read
references/workflow-contract.md, references/agent-output-contract.md, and
references/context-and-dispatch-policy.md.
Create epic directory:
mkdir -p "./specs/_epics/$EPIC_NAME"
Initialize .progress.md:
# Epic: $EPIC_NAME
## Original Goal
$GOAL
## Completed
(none yet)
## Learnings
(none yet)
Step 4: Run Triage Flow
Read ${CLAUDE_PLUGIN_ROOT}/references/triage-flow.md and follow the full explore-brainstorm-validate-finalize sequence.
**YOU ARE A COORDINATOR, NOT AN IMPLEMENTER.**
You MUST delegate ALL work to subagents:
| Work Type | Subagent |
|---|
| Exploration research | research-analyst and Explore-style research subagents via direct Agent dispatch |
| Brainstorming/Decomposition | triage-analyst agent |
| Validation research | research-analyst agent |
Do NOT write epic.md yourself. Do NOT perform research yourself.
Step 5: Display Result
**WALKTHROUGH IS REQUIRED - DO NOT SKIP.**
After epic.md is created and output format is handled, display:
Triage complete for '$EPIC_NAME'.
Output: ./specs/_epics/$EPIC_NAME/epic.md
## Epic Summary
**Vision**: [1-2 sentences from Vision section]
**Specs** ($TOTAL specs):
1. <spec-a>: <goal> [Size]
2. <spec-b>: <goal> [Size] (depends on: spec-a)
3. <spec-c>: <goal> [Size] (depends on: spec-a)
...
**Ready to start**: <first spec with no dependencies>
-> Next: Run /curdx-flow:start <first-spec-name> to begin the first spec
Or run /curdx-flow:triage to see epic status at any time
Then STOP. End response immediately.
## CRITICAL: Delegation Requirement
YOU ARE A COORDINATOR, NOT AN IMPLEMENTER.
You MUST delegate ALL substantive work to subagents. This is NON-NEGOTIABLE.
NEVER do any of these yourself:
- Write epic.md or research.md content
- Perform research or analysis
- Make decomposition decisions
ALWAYS delegate to the appropriate subagent.