# 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.

- **Type:** Skill
- **Install:** `agentstack add skill-endlessblink-master-plan-next`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [endlessblink](https://agentstack.voostack.com/s/endlessblink)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [endlessblink](https://github.com/endlessblink)
- **Source:** https://github.com/endlessblink/master-plan/tree/master/skills/next

## Install

```sh
agentstack add skill-endlessblink-master-plan-next
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## 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:
1. `docs/MASTER_PLAN.md`
2. `MASTER_PLAN.md`
3. `master-plan.md`
4. `docs/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:
```bash
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):
1. PLANNED first, then REVIEW, IN PROGRESS, PAUSED, DONE last
2. 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:
1. Update the task's status to `IN PROGRESS` in MASTER_PLAN.md (all locations — see update rules below)
2. 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:

1. **Summary/Roadmap table** — Update the status column
2. **Detailed `###` section header** — Update `(STATUS)` in parentheses
3. **Subtask bullet points** — Add strikethrough + ✅ if marking DONE

Always verify with a grep after updating.

## Rules

1. **Finish before starting** — Always highlight IN PROGRESS tasks first
2. **P0 trumps all** — Critical issues come first regardless of status
3. **Interactive selection** — Always use AskUserQuestion, never just print a list
4. **Context on selection** — Always show full task details when picked
5. **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](https://github.com/endlessblink)
- **Source:** [endlessblink/master-plan](https://github.com/endlessblink/master-plan)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-endlessblink-master-plan-next
- Seller: https://agentstack.voostack.com/s/endlessblink
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
