Install
$ agentstack add skill-endlessblink-master-plan-next ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
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 - 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
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: endlessblink
- Source: endlessblink/master-plan
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.