with one click
ln-200-scope-decomposer
// Decomposes scope into Epics, Stories, and RICE priorities. Use when user has project scope and wants full Agile breakdown.
// Decomposes scope into Epics, Stories, and RICE priorities. Use when user has project scope and wants full Agile breakdown.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | ln-200-scope-decomposer |
| description | Decomposes scope into Epics, Stories, and RICE priorities. Use when user has project scope and wants full Agile breakdown. |
| disable-model-invocation | true |
| license | MIT |
Paths: File paths (
references/,../ln-*) are relative to this skill directory.
Type: L1 Top Orchestrator Category: 2XX Planning
Top-level orchestrator for complete initiative decomposition from scope to User Stories through Epic and Story coordinators.
Coordinates the complete decomposition pipeline for new initiatives:
MANDATORY READ: Load references/coordinator_runtime_contract.md, references/scope_decomposition_runtime_contract.md, references/scope_decomposition_summary_contract.md, references/epic_plan_summary_contract.md, references/coordinator_summary_contract.md
Runtime family: scope-decomposition-runtime
Identifier:
Phases:
PHASE_0_CONFIGPHASE_1_DISCOVERYPHASE_2_EPIC_DECOMPOSITIONPHASE_3_STORY_LOOPPHASE_4_PRIORITIZATION_LOOPPHASE_5_FINALIZEPHASE_6_SELF_CHECKCoordinator summary contract:
epic-plan from ln-210story-plan from ln-220story-prioritization-worker from ln-230scope-decomposition coordinator summary during PHASE_5_FINALIZEHost Skill Invocation: Skill(skill: "...", args: "...") is mandatory delegation.
SKILL.md, treat args as $ARGUMENTS, execute that skill workflow, then return here with its result/artifact.Workers delegated by phase:
ln-210-epic-coordinator ā Epic decomposition (CREATE/REPLAN)ln-220-story-coordinator ā Story decomposition per Epic (sequential)ln-230-story-prioritizer ā Optional RICE prioritization per Epic (sequential)# Phase 2 ā Epic decomposition
node references/scripts/epic-planning-runtime/cli.mjs start --identifier {scopeIdentifier} --manifest-file {epicManifestPath}
Skill(skill: "ln-210-epic-coordinator", args: "{scopeIdentifier} --manifest-file {epicManifestPath}")
node references/scripts/scope-decomposition-runtime/cli.mjs record-epic-summary --identifier {scopeIdentifier} --payload-file {epicSummaryArtifactPath}
# Phase 3 ā Story decomposition (per Epic, sequential)
node references/scripts/story-planning-runtime/cli.mjs start --epic {epicId} --manifest-file {storyManifestPath}
Skill(skill: "ln-220-story-coordinator", args: "{epicId} --manifest-file {storyManifestPath}")
node references/scripts/scope-decomposition-runtime/cli.mjs record-story-summary --identifier {scopeIdentifier} --payload-file {storySummaryArtifactPath}
# Phase 4 ā RICE prioritization (optional, per Epic, sequential)
node references/scripts/planning-worker-runtime/cli.mjs start --skill ln-230 --identifier {identifier} --manifest-file {prioritizationManifestPath} --run-id {childRunId} --summary-artifact-path {childSummaryArtifactPath}
child_run = { skill, run_id, identifier, summary_artifact_path }
childSummaryArtifactPath = .hex-skills/runtime-artifacts/runs/{parent_run_id}/story-prioritization-worker/ln-230--{identifier}.json
Skill(skill: "ln-230-story-prioritizer", args: "{identifier} --epic {epicId} --run-id {childRunId} --summary-artifact-path {childSummaryArtifactPath}")
Read {childSummaryArtifactPath}
node references/scripts/scope-decomposition-runtime/cli.mjs record-prioritization-summary --identifier {scopeIdentifier} --payload-file {childSummaryArtifactPath}
- Phase 1: Discover top-level scope context (pending)
- Phase 2: Run Epic decomposition (pending)
- Phase 3: Run sequential Story loop (pending)
- Phase 4: Run optional prioritization loop (pending)
- Phase 5: Finalize scope summary (pending)
- Phase 6: Self-check (pending)
This skill should be used when:
Alternative: For granular control, invoke coordinators manually:
Do NOT use if:
ln-200-scope-decomposer is a pure coordinator - it does NOT execute work directly:
Coordinators:
CRITICAL CONSTRAINT: Epic N Stories MUST complete before Epic N+1 starts (ln-220 includes user interaction ā interactive dialog cannot be parallelized across Epics).
Why sequential?
Example: 6 Epics ā ln-220 invoked 6 times sequentially (Epic 0 ā Epic 1 ā Epic 2 ā ... ā Epic 5)
Reserved number: Epic 0 is reserved for Infrastructure Epic (if proposed by ln-210).
Numbering:
Decision: ln-210-epic-coordinator Phase 1 Step 3 automatically determines if Infrastructure Epic is needed (new project, multi-stack, security/monitoring requirements).
Team ID: Auto-discovered from docs/tasks/kanban_board.md Tracker Configuration table (see CLAUDE.md "Configuration Auto-Discovery").
Fallback: If kanban_board.md missing ā ln-210-epic-coordinator will ask user directly
Auto-discovers Team ID from docs/tasks/kanban_board.md.
Validation:
NO user confirmation at orchestrator level - coordinators handle all user interaction.
Output: Team ID (or None if not found)
Objective: Create all Epics for initiative.
Managed coordinator launch:
š [ORCHESTRATOR] Phase 2: Delegating Epic creation to ln-210-epic-coordinator
node references/scripts/epic-planning-runtime/cli.mjs start --identifier {scopeIdentifier} --manifest-file {epicManifestPath}
child_run = { skill: "ln-210", run_id, identifier, summary_artifact_path }
node references/scripts/scope-decomposition-runtime/cli.mjs record-epic-summary --identifier {scopeIdentifier} --payload-file {epicSummaryArtifactPath}
ln-210-epic-coordinator will:
After completion: Epics created via the configured tracker provider, kanban_board.md updated.
Output: 3-7 Epics created (Epic 0 for Infrastructure if applicable, Epic 1-N for business domains)
Objective: Create Stories for EACH Epic. Prepare read-only child inputs once, then execute the Epic loop sequentially.
Sequential Loop Logic:
PREPARE once:
1. Read epic-plan summary
2. Precompute story child identifiers
3. Precompute manifest paths + summary artifact paths
FOR EACH Epic (Epic 0, Epic 1, ..., Epic N):
1. Invoke ln-220-story-coordinator for current Epic
2. Wait for completion
3. Verify Stories created in kanban_board.md
4. Move to next Epic
| Condition | Action |
|---|---|
| All Epics processed (Stories + optional RICE) | STOP ā proceed to Summary |
| ln-220 fails for an Epic (coordinator error) | STOP ā report partial results, list completed Epics |
| User cancels during Story confirmation | STOP ā report completed Epics, skip remaining |
| Total Story count exceeds 80 | STOP ā WARN: "Scope may be too large. Continue?" |
Invocation per Epic:
š [ORCHESTRATOR] Phase 3: Delegating Story creation for Epic N to ln-220-story-coordinator
node references/scripts/story-planning-runtime/cli.mjs start --epic {epicId} --manifest-file {storyManifestPath}
child_run = { skill: "ln-220", run_id, identifier, summary_artifact_path }
node references/scripts/scope-decomposition-runtime/cli.mjs record-story-summary --identifier {scopeIdentifier} --payload-file {storySummaryArtifactPath}
ln-220-story-coordinator will (per Epic):
Sequential constraint explanation:
After each Epic: Stories created via the configured tracker provider, kanban_board.md updated.
Output: 30-60 Stories total (5-10 per Epic Ć 3-7 Epics)
TodoWrite format (mandatory): Add phases and Epic iterations to todos before starting:
- Phase 1: Discovery (in_progress)
- Phase 2: Delegate to ln-210-epic-coordinator (pending)
- Phase 3: Delegate to ln-220 for Epic 0 (pending)
- Phase 3: Delegate to ln-220 for Epic 1 (pending)
- Phase 3: Delegate to ln-220 for Epic 2 (pending)
... (one todo per Epic)
- Phase 4: Delegate to ln-230 for Epic 0 (pending)
- Phase 4: Delegate to ln-230 for Epic 1 (pending)
... (one todo per Epic, optional)
- Phase 5: Summary (pending)
Mark each as in_progress when starting, completed when coordinator returns success.
Objective: Prioritize Stories per applicable Epic using RICE scoring with market research.
OPTIONAL: Ask user "Run RICE prioritization for all Epics?" If user declines, skip to Phase 5.
Sequential Loop Logic:
PREPARE once:
1. Set prioritization_enabled=true|false in runtime state
2. Determine expected_prioritization_epics (only Epics that should be prioritized)
3. Precompute child identifiers, manifests, and artifact paths
FOR EACH expected Epic:
1. Invoke ln-230-story-prioritizer for current Epic
2. Wait for completion
3. Verify prioritization.md created in docs/market/[epic-slug]/
4. Move to next Epic
Invocation per Epic:
node references/scripts/planning-worker-runtime/cli.mjs start --skill ln-230 --identifier {identifier} --manifest-file {prioritizationManifestPath} --run-id {childRunId} --summary-artifact-path {childSummaryArtifactPath}
child_run = { skill: "ln-230", run_id, identifier, summary_artifact_path }
node references/scripts/scope-decomposition-runtime/cli.mjs record-prioritization-summary --identifier {scopeIdentifier} --payload-file {childSummaryArtifactPath}
ln-230-story-prioritizer will (per Epic):
listStoriesByEpic)Skip condition: If Epic contains only technical or infrastructure Stories with no meaningful business ordering decision, do not add that Epic to expected_prioritization_epics.
After each Epic: Prioritization table saved to docs/market/[epic-slug]/prioritization.md and recorded under that Epic's summary.
Finalize rule: If prioritization is enabled, runtime finalize is allowed only after ALL expected_prioritization_epics have recorded story-prioritization-worker summaries.
Output: Prioritization tables for all applicable Epics.
Objective: Provide complete decomposition overview using aggregated results from all Epic-level summaries.
š [ORCHESTRATOR] Phase 5: Full decomposition complete
Initiative Decomposition Summary:
- Epics created: N Projects (Epic 0: Infrastructure [if exists], Epic 1-N: Business domains)
- Stories created: M Issues (breakdown per Epic)
- Prioritization completed: K Epic tables (aggregated across all expected Epic runs)
- Location: docs/tasks/kanban_board.md
Next Steps:
1. Run ln-310-multi-agent-validator to validate all Stories
2. Use ln-400-story-executor to process each Story (tasks ā execution ā Done)
OR use ln-300-task-coordinator to create tasks manually for each Story
Output: Summary message with full decomposition results
Before PHASE_6_SELF_CHECK, write the final coordinator artifact:
node references/scripts/scope-decomposition-runtime/cli.mjs record-scope-summary --identifier {scopeIdentifier} --payload-file {scopeSummaryPath}
Orchestrator does NOT prompt user:
All user interaction delegated to coordinators:
Before completing work, verify ALL checkpoints:
ā Team ID Discovered (Phase 1):
ā Epic Decomposition Complete (Phase 2):
epic-plan summary recorded in runtime stateā Story Decomposition Complete (Phase 3):
story-plan summaries recorded for all processed Epicsā RICE Prioritization Complete (Phase 4, optional):
expected_prioritization_epics when prioritization is enabledstory-prioritization-worker summaries recorded for all expected Epicsā Summary Provided (Phase 5):
scope-decomposition summary recorded before self-checkOutput: Summary message with full decomposition results (Epics + Stories per Epic)
Users directly: "Decompose initiative: [initiative name]" or "Create epics and stories for [project]"
After ln-200-scope-decomposer completes:
Trust coordinator results: Coordinators return summary, orchestrator doesn't re-verify.
Error handling: If coordinator returns error, report to user and stop pipeline.
Realistic estimate: 2-3 hours for full decomposition (6 Epics Ć 7 Stories avg = 42 Stories).
Breakdown:
Do NOT provide time estimates to user - varies based on project complexity and user response time.
Request:
"Decompose initiative: E-commerce Platform"
Execution:
Phase 1: Discovery
Phase 2: Epic Decomposition
Phase 3: Story Decomposition Loop (Sequential)
Phase 4: Summary
š [ORCHESTRATOR] Full decomposition complete
Initiative: E-commerce Platform
- Epics created: 6 Projects (Epic 11: Infrastructure, Epic 12-16: Business domains)
- Stories created: 36 Issues
- Epic 11: 6 Stories
- Epic 12: 7 Stories
- Epic 13: 5 Stories
- Epic 14: 6 Stories
- Epic 15: 7 Stories
- Epic 16: 5 Stories
- Location: docs/tasks/kanban_board.md
Next Steps:
1. Run ln-310-multi-agent-validator to validate all Stories
2. Use ln-400-story-executor to process each Story (tasks ā execution ā Done)
Result: 6 Epics + 36 Stories created through full pipeline automation
Optional reference: load references/meta_analysis_protocol.md only when the user asks for post-run meta-analysis or protocol-formatted run reflection.
Skill type: planning-coordinator. When requested, run after all phases complete. Output to chat using the planning-coordinator format.
docs/tasks/kanban_board.md (Team ID, Next Epic Number)ln-210-epic-coordinator/SKILL.mdln-220-story-coordinator/SKILL.mdln-230-story-prioritizer/SKILL.mdreferences/numbering_conventions.md (Epic 0 reserved)Use emoji prefix for visual differentiation:
Purpose: Helps users track orchestrator progress when delegating to multiple coordinators.
Version: 2.0.0 Last Updated: 2025-11-20