Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Roadmap parsing, analysis, and mutation operations for ROADMAP.md. Handles phase and milestone lifecycle including add, insert (decimal), remove, complete, and requirements coverage analysis.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | 180% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 667% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 274% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 346% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 5% | 0% |
This skill combines the original lib/roadmap.cjs and lib/phase.cjs modules. It handles all roadmap mutations: adding phases, inserting decimal phases for urgent work, removing phases with renumbering, and marking phases complete.
Parse ROADMAP.md into structured data:
markdown# Roadmap ## Milestone v1.0: MVP Launch ### Phase 70: Project Setup - **Status**: completed - **Requirements**: R1 (project scaffolding), R2 (dev environment) - **Deliverables**: Package.json, tsconfig, eslint config, CI pipeline ### Phase 71: Database Layer - **Status**: completed - **Requirements**: R3 (data model), R4 (migrations) - **Deliverables**: Schema definitions, migration scripts, seed data ### Phase 72: Authentication - **Status**: in-progress - **Requirements**: R5 (user auth), R6 (OAuth2) - **Deliverables**: Login flow, token management, middleware ### Phase 73: API Endpoints - **Status**: planned - **Requirements**: R7 (REST API), R8 (validation) - **Deliverables**: CRUD endpoints, input validation, error handling ## Milestone v2.0: Enhanced Features ...
Parsed result:
json{ "milestones": [ { "version": "v1.0", "title": "MVP Launch", "phases": [ { "number": 70, "title": "Project Setup", "status": "completed", "requirements": ["R1", "R2"] }, { "number": 71, "title": "Database Layer", "status": "completed", "requirements": ["R3", "R4"] }, { "number": 72, "title": "Authentication", "status": "in-progress", "requirements": ["R5", "R6"] }, { "number": 73, "title": "API Endpoints", "status": "planned", "requirements": ["R7", "R8"] } ] } ] }
Append a new phase to the end of the current milestone:
add_phase(
milestone: "v1.0",
title: "Admin Dashboard",
requirements: ["R12", "R13"],
deliverables: "Admin UI, user management, analytics"
)
-> Phase 74: Admin Dashboard (appended after Phase 73)Insert a phase between existing phases for urgent work:
insert_phase(
after: 72,
title: "Fix Auth Token Refresh",
requirements: ["R5.1"],
deliverables: "Token refresh logic, session persistence"
)
-> Phase 72.1: Fix Auth Token Refresh (inserted between 72 and 73)Decimal phases:
72.1 is between 72 and 7372.2 is between 72.1 and 73Remove a future phase and renumber subsequent phases:
remove_phase(73)
-> Phase 73 removed
-> Phase 74 renumbered to Phase 73
-> All references updatedOnly future (planned) phases can be removed. Completed and in-progress phases cannot be removed.
Update phase status in the roadmap:
complete_phase(72)
-> Phase 72 status: completed
-> If all phases in milestone completed -> milestone ready for auditStatus transitions:
planned -> in-progress (when planning begins)in-progress -> completed (when execution finishes)completed -> verified (when verification passes)Verify 100% requirement coverage across phases:
coverage_analysis()
-> Total requirements: 13
-> Mapped to phases: 13
-> Unmapped: 0
-> Coverage: 100%
-> R1: Phase 70 (completed)
-> R2: Phase 70 (completed)
-> R5: Phase 72 (in-progress)
-> R5.1: Phase 72.1 (planned)
...Determine execution order based on dependencies:
dependency_graph()
-> Phase 70: no dependencies (can start immediately)
-> Phase 71: depends on Phase 70
-> Phase 72: depends on Phase 71
-> Phase 72.1: depends on Phase 72
-> Phase 73: depends on Phase 71 (not 72, can parallelize)Determine which phases belong to a milestone:
milestone_scope("v1.0")
-> Phases: [70, 71, 72, 72.1, 73]
-> Total: 5 phases
-> Completed: 2
-> In Progress: 1
-> Planned: 2
-> Progress: 40%Query phases by status:
phases_by_status("completed") -> [70, 71]
phases_by_status("in-progress") -> [72]
phases_by_status("planned") -> [72.1, 73]
next_phase() -> 72.1 (first planned phase after current)Read to load .planning/ROADMAP.mdEdit to insert before the next milestone heading or end of fileEdit to insert between the two phasesRead to load .planning/REQUIREMENTS.md for full requirement listnew-project.js - Create initial ROADMAP.md with milestone and phase structureprogress.js - Read roadmap for progress display and next-action routingcomplete-milestone.js - Determine milestone scope, verify all phases completeaudit-milestone.js - Read phase scope for audit, requirements coverage checkplan-phase.js - Read phase requirements and deliverables for planning contextadd-phase command - Add integer phase via this skillinsert-phase command - Insert decimal phase via this skillremove-phase command - Remove phase via this skilljson{ "operation": "parse|add|insert|remove|complete|coverage|dependencies|scope|query", "status": "success|error", "roadmap": { "milestoneCount": 2, "totalPhases": 8, "currentMilestone": "v1.0" }, "phase": { "number": 72, "title": "Authentication", "status": "completed", "requirements": ["R5", "R6"] }, "coverage": { "total": 13, "mapped": 13, "percentage": 100, "gaps": [] } }
| Setting | Default | Description | |---------|---------|-------------| | roadmapFile | .planning/ROADMAP.md | Path to ROADMAP.md | | requirementsFile | .planning/REQUIREMENTS.md | Path for coverage analysis | | startingPhaseNumber | 70 | First phase number for new projects | | allowDecimalPhases | true | Enable decimal phase insertion | | autoStatusTransition | true | Auto-update phase status on events |
| Error | Cause | Resolution | |-------|-------|------------| | ROADMAP.md not found | Planning directory not initialized | Run new-project first | | Phase not found | Referenced phase does not exist | Check phase number, list available phases | | Cannot remove active phase | Trying to remove in-progress/completed phase | Only planned phases can be removed | | Duplicate phase number | Phase number already exists | Use next available number or decimal | | Coverage gap detected | Requirements not mapped to any phase | Add phase or update existing phase to cover requirement | | Circular dependency | Phase depends on itself or cycle exists | Review dependency graph, break cycle |
Other measured skills in the registry, with their headline benchmark lift.