6.9 KiB
| name | description |
|---|---|
| roadmap | When the user invokes /roadmap commands, manage ROADMAP.md as a living development journal. Track milestones, log progress, and maintain a searchable history of what was learned. |
Roadmap Skill
When the user invokes /roadmap commands, you are managing a living development journal stored in ROADMAP.md. This file serves as both a task list and a chronological record of development progress.
Core Principles
- ROADMAP.md is the source of truth - All task definitions, status, and journal entries live here
- Milestones are headings - Each
### X.Yheading is a milestone identifier - Checkboxes track status -
[ ]= not started,[x]= complete - Journal entries are indented - Added as nested list items under milestones
- You modify ROADMAP.md directly - Use
read,edit, orwritetools as appropriate
Milestone Identification
A milestone is any level-3 heading (###) or deeper that starts with a number pattern:
- Valid:
### 1.1 Analyze Architecture,#### 1.2.1 Subtask - Invalid:
### Introduction,### Phase 1(no number)
The milestone ID is the number part: 1.1, 1.2.1, etc.
Journal Entry Format
Journal entries are appended under their milestone as indented list items with these prefixes:
- **Journal**: [timestamp] - [message]
- **Time**: [elapsed minutes]
- **Blockers**: [what's preventing progress]
- **Decision**: [rationale for choices]
- **Tau Notes**: [observations about Tau's capabilities]
- **Lesson**: [general development learning]
Always include a timestamp in YYYY-MM-DD HH:MM format for Journal entries.
Commands
/roadmap or /roadmap status
Show a compact status summary:
- Read
ROADMAP.md - Count total milestones (level-3+ headings matching number pattern)
- Count completed milestones (checkbox is
[x]) - Calculate percentage:
(completed / total) * 100 - List the next 3 incomplete milestones by ID order
Format:
Roadmap Progress: 2/17 (11.76%)
Next:
1.3 Add Configuration File Support
2.1 Add Type Hints
2.2 Create Unit Tests
/roadmap view
Display the full contents of ROADMAP.md using the read tool.
/roadmap view [milestone-id]
- Find the milestone heading matching
[milestone-id] - Display that heading and all its content (tasks + journal entries)
/roadmap next
- Find all milestones with
[ ]status - Sort by milestone ID (natural sort: 1.1 < 1.2 < 1.10 < 2.1)
- Show the first one with its description
Format:
Next milestone: 1.3 Add Configuration File Support
Description: Use Tau to add TOML-based configuration
Prompt: "Add support for a ~/.config/peak-monitor.toml configuration file..."
/roadmap complete [milestone-id]
- Find the milestone with ID
[milestone-id] - Change its checkbox from
[ ]to[x] - Prompt the user: "Enter journal notes (or 'skip'): "
- If user provides text, append it as a Journal entry with timestamp
- Use
edittool to modify ROADMAP.md
/roadmap journal [milestone-id] [message]
- Find the milestone with ID
[milestone-id] - Append a new journal entry under it with current timestamp
- Format:
- **Journal**: YYYY-MM-DD HH:MM - [message] - Use
edittool to add the line
/roadmap start [milestone-id]
- Find the milestone
- Record the start time (store in memory for this session)
- Reply: "Started milestone [milestone-id]. Timer running..."
/roadmap stop [milestone-id]
- Calculate elapsed time since start
- Append a Time entry:
- **Time**: [minutes]min - Clear the timer for this milestone
/roadmap search [query]
- Read ROADMAP.md
- Find all journal entries (lines starting with
- **Journal**,- **Tau Notes**, etc.) - Filter entries containing [query] (case-insensitive)
- Display matching entries with their milestone ID
Format:
Found 2 matches:
1.1: 2026-07-11 14:32 - Noticed that GTK initialization needs error handling
1.3: 2026-07-11 15:01 - Tau successfully added config file support
/roadmap add [description]
- Find the highest existing milestone ID
- Increment it (1.1 -> 1.2, 1.9 -> 1.10, 2.1 -> 2.2)
- Append a new milestone at the end of the file:
### [new-id] [first line of description] - [ ] [full description]
/roadmap blockers
- Find all milestones with Blockers entries
- Display each with its blocker notes
Format:
Blocked milestones:
3.2 CLI Mode
- **Blockers**: Requires refactoring from 1.2 to be complete first
4.3 Systemd Service
- **Blockers**: Need to understand systemd user services better
File Location
Always look for ROADMAP.md in the current working directory. If not found:
- Check parent directories up to project root
- If still not found, reply: "No ROADMAP.md found. Would you like me to create one?"
Error Handling
- If milestone ID not found: "Milestone [id] not found. Use /roadmap view to see available milestones."
- If command invalid: "Unknown roadmap command. Available: status, view, next, complete, journal, start, stop, search, add, blockers"
- If file write fails: Report the error and suggest manual edit
Integration with Development Workflow
When a milestone involves using Tau to complete a task:
- The milestone should include a Prompt field with the exact prompt to use
- After completing the task via Tau, use
/roadmap completeto mark it done - Add journal entries documenting:
- What Tau did well
- What Tau struggled with
- What you had to do manually
- Lessons learned about prompting Tau
Example Session
User: /roadmap next
You: (read ROADMAP.md, find first [ ] milestone)
Next milestone: 1.1 Analyze Current Architecture
Description: Use Tau to analyze peak_monitor.py and identify structural improvements
Prompt: "Analyze peak_monitor.py and suggest a better project structure. Do not implement yet."
User: /roadmap start 1.1
You: (record start time)
Started milestone 1.1. Timer running...
User: (user works with Tau on the task...)
User: /roadmap journal 1.1 "Tau successfully parsed the GTK code and identified 3 structural issues"
You: (append to ROADMAP.md)
- **Journal**: 2026-07-11 14:32 - Tau successfully parsed the GTK code and identified 3 structural issues
User: /roadmap stop 1.1
You: (calculate elapsed, append Time entry)
- **Time**: 23min
User: /roadmap complete 1.1
You: (change [ ] to [x], prompt for final notes)
Milestone 1.1 completed!
Enter journal notes (or 'skip'):
User: The analysis revealed we need to separate GUI from core logic
You: (append final journal entry)
- **Journal**: 2026-07-11 14:55 - The analysis revealed we need to separate GUI from core logic
- **Decision**: Will refactor into config, core, and gui modules
Remember
- Always read ROADMAP.md before modifying it
- Always use the exact milestone ID from the heading
- Always include timestamps in Journal entries
- Always preserve existing content
- Never delete or reorder milestones without explicit user request