Skip to main content

plan

Turn requirements nobody scheduled into well-described tasks, edit tasks and milestones, and reconcile TASKS.md with the team's own tracker Arguments: [add <what> | sync | status | milestone <id> | (empty = find unplanned work)].

Source facts

Repository
Agents-Store/codex-plugins
Last source activity
November 1, 2026 at 02:46
Detected SKILL.md language
English
Stars
0
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
plan
description
Turn requirements nobody scheduled into well-described tasks, edit tasks and milestones, and reconcile TASKS.md with the team's own tracker Arguments: [add <what> | sync | status | milestone <id> | (empty = find unplanned work)].
Use `macstack-dev:planning`. **First, before any number is reported**, bring the statuses in line with what the audit actually found: ```bash python3 "${CLAUDE_PLUGIN_ROOT}/skills/planning/references/task_status.py" macstack [--apply] ``` A task sitting `todo` that the code finished weeks ago inflates every count below it; a task sitting `done` whose case the audit found `absent` deflates them, which is worse because nobody goes looking behind a closed task. Report the moves, apply them with `--apply` once the user agrees, and only then count. With no argument: find the work nobody has planned. Run ```bash python3 "${CLAUDE_PLUGIN_ROOT}/skills/planning/references/uncovered.py" macstack [--emit] ``` which classifies every case into five states — already planned · confirmed done by the newest conformance review · found partial or blocked by it · **awaiting the client** · **neither planned nor checked**. Only the fifth is work. **A case awaiting the client does not become a task.** Its text names a live `§A` id, so nobody can finish it today; `TASKS.md` is a queue somebody picks from, and an item that stops the person who picked it makes the whole queue untrustworthy. The `§A` question holds that work — its *where the answer goes* line says what the answer unlocks — and the task is written the day the answer lands. `--emit` withholds those skeletons and says how many it withheld. Read the audit verdicts before reporting a number. The first version of this reported "63 cases with no plan" where 35 were already confirmed implemented: true, and useless. A work list nobody believes is a work list nobody reads. Then do the part the script cannot: **read the code** and fill each skeleton's `files` and `acceptance`. Use `generated/ARCHITECTURE.md` as the map rather than a blind grep. Acceptance names a test, and its strongest form is *remove X and this named test reddens*. A bare filename is not acceptance; a line number is banned outright. Three things this refuses to do: - **Guess `files` or `acceptance` without reading the code.** If the codebase does not answer where something belongs, that is a finding — say so and leave the field empty rather than filling it plausibly. - **Plan a case an audit already passed.** - **Plan a case that is waiting on the client.** Name the `§A` ids and stop. - **Invent a milestone.** A new milestone is a decision about scope and dates and it belongs to the owner. Take the last `M<n>` and ask before going past it. Then stop. The handoff is the point: open plan mode and say *"take M15-T2 from macstack/history/TASKS.md"*. Do not start coding here. `sync` reconciles with the team's tracker in both directions and stops at every disagreement rather than picking a winner. `status` and `milestone <id>` report progress against `done_when`.
View on GitHub