Converts natural language epic documents from markdown into structured JSON configurations for MDAP or CFN Loop execution...
The cfn-epic-parser skill converts natural language epic documents written in markdown format into structured JSON configurations suitable for execution in either MDAP or CFN Loop modes.
Pipeline context: The
maxTaskSize: 50,consensusThreshold: 0.90, andgateThreshold: 0.95values below are CLI-mode / MDAP defaults, not the only execution path. The current default execution path iscfn-loop-task(task mode, no Redis). Planning artifacts now come fromcfn-megaplan, which emitsplanning/*.md(RESEARCH, SPEC, DECISIONS, DATA, ARCH, UX, DESIGN, TEST, OPS, MEGAPLAN); this parser consumes those markdown epics.
# Parse with auto-detected mode
$HOME/.claude/skills/cfn-epic-parser/parse.sh planning/my-epic.md
# Force MDAP mode
$HOME/.claude/skills/cfn-epic-parser/parse.sh planning/my-epic.md --mode mdap
# Force CFN Loop mode with output file
$HOME/.claude/skills/cfn-epic-parser/parse.sh planning/my-epic.md --mode cfn-loop --output epic-config.json
# Validate epic structure without generating output
$HOME/.claude/skills/cfn-epic-parser/parse.sh planning/my-epic.md --validate
# Enable verbose logging
$HOME/.claude/skills/cfn-epic-parser/parse.sh planning/my-epic.md --verbose
<input.md>: Path to the epic markdown file to parse (required)-o, --output <file>: Output JSON file path (default: stdout)-m, --mode <mode>: Execution mode: mdap, cfn-loop, or auto (default: auto)-v, --validate: Validate epic structure without generating output-V, --verbose: Enable verbose logging-h, --help: Show help messageThe parser expects markdown files with the following structure:
# Epic Title
**Epic ID**: `unique-epic-identifier`
**Status**: [Not Started | In Progress | Completed]
**Estimated Duration**: [X weeks]
**Owner**: [Team or individual]
**Priority**: [Low | Medium | High]
## Epic Description
Detailed description of the epic goals and scope.
## Strategic Goals
1. Goal one description
2. Goal two description
3. ...
## Phases (for CFN Loop)
### Phase 1: Phase Name
**Status**: Not Started
**Duration**: X weeks
**Dependencies**: [None | Phase X, Phase Y]
Description of phase goals.
### Phase 2: Phase Name
...
Agents: 50)File: planning/phase-1.md){
"executionMode": "mdap",
"metadata": {
"epicId": "unique-identifier",
"name": "Epic Title",
"description": "Epic description",
"status": "not_started",
"priority": "high",
"estimatedDuration": "10 weeks",
"owner": "Team Name"
},
"goals": ["Goal 1", "Goal 2", "Goal 3"],
"tasks": [],
"configuration": {
"maxTaskSize": 50,
"atomicExecution": true,
"contextInjection": "pre-loaded"
}
// maxTaskSize 50 is the MDAP default; cfn-loop-task is the default execution path.
}
{
"executionMode": "cfn-loop",
"metadata": { ... },
"phases": [
{
"phaseId": "phase-1",
"name": "Phase Name",
"description": "Phase description",
"status": "not_started",
"estimatedDuration": "5 weeks",
"dependencies": []
},
...
],
"goals": ["Goal 1", "Goal 2", "Goal 3"],
"configuration": {
"loopMode": "standard",
"consensusThreshold": 0.90,
"gateThreshold": 0.95
}
}
Run the test suite to verify parser functionality:
$HOME/.claude/skills/cfn-epic-parser/test-parser.sh
The test suite validates:
jq: Required for JSON processingsudo apt-get install jqbrew install jq$HOME/.claude/skills/cfn-epic-parser/parse.sh \
planning/global/marketing/EPIC_OVERVIEW.md \
--mode cfn-loop \
--output marketing-epic-config.json
$HOME/.claude/skills/cfn-epic-parser/parse.sh \
planning/my-new-epic.md \
--validate --verbose
$HOME/.claude/skills/cfn-epic-parser/parse.sh \
planning/simple-feature-epic.md \
--mode mdap \
--output simple-feature-config.json
The parser provides clear error messages for:
The generated JSON configurations can be used by:
user-authentication-v2)