Goblin-mode doc-update-roadmap-omega
{{ ๐๐๐ }} Update project roadmap task organization
install
source ยท Clone the upstream repo
git clone https://github.com/JasonWarrenUK/goblin-mode
Claude Code ยท Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/JasonWarrenUK/goblin-mode "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/doc-update-roadmap-omega" ~/.claude/skills/jasonwarrenuk-goblin-mode-doc-update-roadmap-omega && rm -rf "$T"
manifest:
skills/doc-update-roadmap-omega/SKILL.mdsource content
Maintain the project roadmap at docs/roadmaps/$ARGUMENTS by moving tasks between sections based on completion status and blockers, and keeping mermaid diagrams in sync.
If $ARGUMENTS provided (e.g., "m1", "m2"), process only that milestone; otherwise process all milestones.
Steps
-
Read
docs/roadmaps/mvp.md -
For each milestone (or specified milestone):
Move completed tasks:
- Scan "In Progress" and "To Do" sections for tasks marked
- [x] - Move completed tasks to "Completed" section
- Maintain chronological order (most recent completions at bottom)
Move unblocked tasks:
- Scan "Blocked" section for tasks that are no longer blocked
- Infer unblocked status from:
- Tasks they were waiting on are now complete
- Prerequisite features mentioned in description now exist
- External blockers no longer apply (use judgment)
- Move unblocked tasks to "To Do" section
Organize "In Progress":
- Suggest moving high-priority "To Do" tasks to "In Progress" if:
- They're logical next steps after current in-progress work
- They're blocking other tasks
- They're explicitly marked as urgent/priority
- Ask user to confirm moves to "In Progress"
- Scan "In Progress" and "To Do" sections for tasks marked
-
Update Progress Map (single aggregated diagram at
section):<a name="map">For completed tasks:
- Remove the node definition line entirely (e.g.,
)1WA.12[...] - Remove all edge relationships involving that task:
- As source:
(remove entire line)1WA.12 --> X - As target:
(removeX --> 1WA.12
from the line, keep other targets)1WA.12 - In combined edges:
becomesA --> B & 1WA.12 & CA --> B & C
- As source:
- If removal leaves a dangling
, clean it up&
For newly unblocked tasks:
- Add
class to tasks that now have no incoming dependencies:::open - A task is unblocked when all its blockers are either completed or removed
- Remove the node definition line entirely (e.g.,
-
Preserve task numbering:
- Never renumber existing tasks
- Task format:
(e.g., 1WA.12, 2TI.7){Milestone}{Category}.{Seq} - Sub-tasks: alpha suffix (e.g., 2TI.3a, 2TI.3b)
- New tasks: append with next number in category sequence
-
Report changes:
- List tasks moved (from โ to, with task ID and description)
- Group by milestone
- Highlight any tasks suggested for "In Progress"
- List Progress Map modifications (nodes removed, edges updated, open classes added)
Notes
- Preserve all markdown structure, headings, and formatting
- Keep checkbox syntax:
(open/in-progress/blocked),- [ ]
(completed)- [x] - Maintain all section anchors:
,#m1-doing
,#m1-todo
,#m1-blocked#m1-done - Use inference for unblocked detection, but be conservative (when uncertain, leave in Blocked)
- Mermaid class definitions at bottom of Progress Map diagram must remain:
etc.classDef default,blocked fill:#f9f;