next
Analyze and pick the next task to work on. Reads MASTER_PLAN.md, scores tasks by priority and status, and presents interactive selection. Use when starting a session or deciding what to tackle next.
What it does
What's Next?
Analyze MASTER_PLAN.md tasks, score by priority/status, and let the user pick interactively.
Triggers
/master-plan:next- Main command- "what should I work on", "pick a task", "next task", "what's next"
Arguments
| Argument | Filter |
|---|---|
bugs | Only BUG-XXX tasks |
progress | Only IN PROGRESS tasks |
planned | Only PLANNED (backlog) tasks |
review | Only REVIEW tasks |
active | IN PROGRESS + REVIEW |
all | Include DONE tasks |
Example: /master-plan:next bugs or /master-plan:next planned
Workflow
Step 1: Find MASTER_PLAN.md
Search for the plan file in order:
docs/MASTER_PLAN.mdMASTER_PLAN.mdmaster-plan.mddocs/master-plan.md
If not found, tell the user: "No MASTER_PLAN.md found. Run /master-plan:task to create your first task, or create one from the template."
Step 2: Parse Tasks
Read the file and extract tasks from ### headers matching this pattern:
### [optional ~~]TASK-123[optional ~~]: Title (STATUS)
Regex: ^###\s+(~~)?((TASK|BUG|FEATURE|ROAD|IDEA|ISSUE|INQUIRY)-\d+)(~~)?:\s*(.+?)\s*\(([^)]+)\)
For each match, extract:
- ID: e.g.,
TASK-123,BUG-456 - Title: The text after
:and before( - Status: Text in parentheses. Normalize:
- Contains "DONE", "COMPLETE", "FIXED", "✅", or has strikethrough →
DONE - Contains "IN PROGRESS", "🔄" →
IN PROGRESS - Contains "REVIEW", "👀" →
REVIEW - Contains "PAUSED", "⏸️" →
PAUSED - Otherwise →
PLANNED
- Contains "DONE", "COMPLETE", "FIXED", "✅", or has strikethrough →
- Priority: Look in the lines following the header for
**Priority**: P0-P3. Default to P2 if not found.
Step 3: Check for Active Work
Look for IN PROGRESS tasks first — these should be finished before starting new work.
Also check git status:
git status --short
If uncommitted changes exist, mention: "You have uncommitted changes — consider committing or running /master-plan:save first."
Step 4: Sort and Filter
Default sort order (what to START next):
- PLANNED first, then REVIEW, IN PROGRESS, PAUSED, DONE last
- Within same status: P0 → P1 → P2 → P3
If $ARGUMENTS contains a filter (bugs, progress, planned, review, active), apply it before sorting.
Exclude DONE tasks unless $ARGUMENTS contains all.
Step 5: Present Interactive Selection
Use AskUserQuestion to let user pick from the top tasks:
AskUserQuestion({
questions: [{
question: "Which task would you like to work on?",
header: "Task",
multiSelect: false,
options: [
// Top 4 tasks, formatted as:
{ label: "TASK-XXX: Title here", description: "P0 · IN PROGRESS" },
{ label: "BUG-YYY: Another task", description: "P1 · PLANNED" },
// ...
]
}]
})
Option formatting:
- Label:
{ID}: {title (max 40 chars)} - Description:
{priority} · {status}
If there are IN PROGRESS tasks, always show them first with a note: "You have N task(s) in progress."
Step 6: Show Task Details
When user selects a task, show the full section from MASTER_PLAN.md:
- ID, title, status, priority
- Description (everything between this
###header and the next###or##)
Step 7: Offer Actions
After showing task details, ask:
AskUserQuestion({
questions: [{
question: "What would you like to do?",
header: "Action",
multiSelect: false,
options: [
{ label: "Start working on this", description: "Update status to IN PROGRESS" },
{ label: "Pick a different task", description: "Go back to task list" },
{ label: "Just show context", description: "No status change" }
]
}]
})
If "Start working on this" is selected:
- Update the task's status to
IN PROGRESSin MASTER_PLAN.md (all locations — see update rules below) - Confirm: "Started TASK-XXX. Ready to begin implementation."
MASTER_PLAN.md Update Rules
Tasks may appear in multiple locations. When updating status, check ALL of:
- Summary/Roadmap table — Update the status column
- Detailed
###section header — Update(STATUS)in parentheses - Subtask bullet points — Add strikethrough + ✅ if marking DONE
Always verify with a grep after updating.
Rules
- Finish before starting — Always highlight IN PROGRESS tasks first
- P0 trumps all — Critical issues come first regardless of status
- Interactive selection — Always use AskUserQuestion, never just print a list
- Context on selection — Always show full task details when picked
- Action oriented — Offer to start work immediately
Capabilities
Install
Quality
deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 24 github stars · SKILL.md body (4,567 chars)