Tandem: split-into-features (PM hat)
Operate as PM hat. The user has an approved Epic and needs to decompose it into Features that can each ship in 1–2 weeks of solo work.
This skill is the slash-command wrapper for the kit's canonical feature-decomposition prompt. The prompt is the source of truth; this file is the entry point.
Source of truth
@_00-Project-Management/92-Prompts/03-split-epic-into-features.md
Follow that prompt verbatim. The sections below add only the slash-command-specific glue — do not re-declare the prompt's content here.
Inputs needed
- Path to the source Epic file under the
epicsfolder (resolve via the path map:node _00-Project-Management/93-Scripts/lib/pm-paths.js resolve epics; e.g._00-Project-Management/01-EPIC/EPIC-NN-<slug>.md). - If the user didn't supply one, ask: "Which Epic file should I decompose? Paste the path or the EPIC-NN id."
Load into context
Use Read / Glob to detect existence. Treat missing files as "not present" rather than throwing. Folder locations are resolved through the path map (pm-paths.js / pm-paths.json) rather than hardcoded.
- Source Epic — at the resolved path above. Read it fully — especially the
## Featuresoutline (high-level titles the Epic already proposed) and## In scope/## Out of scope. - SOP —
_00-Project-Management/90-Standards/SOP.mdfor DoR + estimation rules. - Project context —
_00-Project-Management/90-Standards/PROJECT-CONTEXT.md. - Feature template — resolve the
templatesfolder via the path map and readFEATURE.template.md. Use verbatim — do not redraft section headings from memory. - Existing Features under this Epic — resolve the
featuresfolder via the path map and globEPIC-NN/FEAT-NN.M-*.mdto find the next-freeM(scan for max M, increment by 1). Create theEPIC-NN/subfolder if it doesn't exist yet. - Project root
CLAUDE.md— for project-specific overrides.
Task
- Read the source Epic's
## Featuresoutline. Each high-level title becomes one FEAT file (unless the user wants a different split — confirm split count up front to avoid under-decomposition).- Split gate (artefact economy —
90-Standards/ARTEFACT-ECONOMY.md): a Feature is earned only by a shippable slice with its own acceptance criteria that genuinely needs ≥2 stories; otherwise fold it into a sibling or keep it a single Story. Fewest Features that carry the Epic's claims.
- Split gate (artefact economy —
- For each feature, find next-free
FEAT-NN.Mby scanning the targetEPIC-NN/folder within the resolvedfeaturesfolder. - Write each Feature file under the resolved
featuresfolder, organized asEPIC-NN/FEAT-NN.M-<slug>.md, usingFEATURE.template.mdverbatim. Number sequentially within the Epic (.1, .2, .3 …).- Apply
write-outcomesfor each Feature, inline-first: After writing each FEAT file, apply thewrite-outcomesrules inline to the Feature's title and technical body to produce the outcome line; dispatch a sub-agent only under ADR-0105 — write-outcomes runs inline first, rather than dispatching a sub-agent per artefact's named conditions (this producer's own context is near its limit, or an isolation-worthy batch run). Write the single line (plain text, no markdown) into the Feature'soutcome:frontmatter field.
- Apply
- Fill every section:
- Goal — the slice of the Epic this delivers.
- User value — one sentence on UX improvement.
- Scope — bulleted breakdown.
- Acceptance criteria — testable checkboxes. Each AC must map to ≥1 story later (don't write the stories —
/tandem:split-into-storiesdoes that). - Dependencies, Data touched, Risks.
- Update the Epic's
## Featuressection with relative links to the new FEAT files (relative from the resolvedepicsfolder to the resolvedfeaturesfolder, e.g.../31-Features/EPIC-NN/FEAT-NN.M-<slug>.mdin a canonical layout). - Set frontmatter on every Feature:
status: not-started,created_at: <ISO 8601 now from system clock>, other timestamp fields empty strings,epic: EPIC-NN. - Show the file tree of what you'll create before writing. Wait for user approval.
Output rules
- If a Feature feels > L estimate (1–2 weeks), propose splitting into two Features before writing.
- If two Features overlap heavily, propose merging.
- Under-decomposition risk: if you produce only 1 Feature when the Epic warrants several, stop and confirm the split count with the user before writing.
- Do NOT create STORY files — that's the next phase.
Non-negotiable rules from CLAUDE.md
- Frontmatter timestamps (quoted ISO 8601 with offset, from system clock).
- Status enum (
not-startedon creation). - Templates rule — use
FEATURE.template.mdverbatim. - Epic linkage — every Feature's frontmatter
epic:must point to the source Epic.
End-of-session summary (always emit)
- Files written: list of Feature file paths under the resolved
featuresfolder (e.g._00-Project-Management/31-Features/EPIC-NN/FEAT-NN.M-<slug>.md) - Total features: N
- Estimated total:
- Suggested execution order: which to start with and why
- Epic
## Featuressection updated: yes / no
Next command
Next: /tandem:split-into-stories — decompose each Feature into Stories + paired Testplans.