plugins/agile-workflow/skills/ln-200-scope-decomposer/SKILL.md
Decomposes scope into Epics, Stories, and RICE priorities. Use when user has project scope and wants full Agile breakdown.
npx skillsauth add levnikolaevich/claude-code-skills ln-200-scope-decomposerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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
testing
Audits architecture config boundaries: typed settings, scattered env reads, config leakage, and layer ownership. Use for config architecture.
tools
Finds architecture-level modernization opportunities: obsolete custom mechanisms, overbuilt extension points, and simplifiable architecture. Use when auditing architecture evolution.
development
Builds dependency topology, detects cycles, validates import rules, and calculates coupling metrics. Use when auditing architecture topology.
testing
Checks layer, resource ownership, and orchestration boundaries. Use when auditing architecture boundary enforcement.