next — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited next (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Analyze MASTER_PLAN.md tasks, score by priority/status, and let the user pick interactively.
/master-plan:next - Main command| 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
Search for the plan file in order:
docs/MASTER_PLAN.mdMASTER_PLAN.mdmaster-plan.mddocs/master-plan.mdIf 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."
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:
TASK-123, BUG-456: and before (DONEIN PROGRESSREVIEWPAUSEDPLANNED**Priority**: P0-P3. Default to P2 if not found.Look for IN PROGRESS tasks first — these should be finished before starting new work.
Also check git status:
git status --shortIf uncommitted changes exist, mention: "You have uncommitted changes — consider committing or running /master-plan:save first."
Default sort order (what to START next):
If `$ARGUMENTS` contains a filter (bugs, progress, planned, review, active), apply it before sorting.
Exclude DONE tasks unless $ARGUMENTS contains all.
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:
{ID}: {title (max 40 chars)}{priority} · {status}If there are IN PROGRESS tasks, always show them first with a note: "You have N task(s) in progress."
When user selects a task, show the full section from MASTER_PLAN.md:
### header and the next ### or ##)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:
IN PROGRESS in MASTER_PLAN.md (all locations — see update rules below)Tasks may appear in multiple locations. When updating status, check ALL of:
(STATUS) in parenthesesAlways verify with a grep after updating.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.