3.2 KiB
3.2 KiB
name: plan-queue
description: Author detailed, weak-model-executable plan files into the current repo's plans/ queue (plans/queue|active|done|failed + INDEX.md). The strong model does ALL exploration and thinking up front so a cheap executor can later apply the plan with zero codebase discovery. Use when the user says "/plan-queue ", "queue a plan for X", "add X to the plan queue", "plan this for the weak model". Companion skill: run-queue executes the queue. Manually-triggered only.
plan-queue
Turn a task description into a self-contained plan file in the repo's
plans/queue/, detailed enough that a weak/cheap model can execute it without
exploring the codebase. Multiple tasks in one invocation → one plan file each.
Layout (create on first use in a repo)
plans/
INDEX.md # ordered table of all plans
queue/ # not started
active/ # currently executing (max 1)
done/
failed/
INDEX.md starts as:
# Plan Queue Index
| Seq | ID | Title | Status | Commit | Notes |
|-----|----|-------|--------|--------|-------|
Procedure
- Scaffold: if
plans/INDEX.mddoesn't exist, create the layout above (.gitkeepin the four dirs so git tracks them). - Explore deeply (strong-model work): read every file the change touches, find existing utilities to reuse, note exact paths, line anchors, and signatures. The goal: the executor must need zero exploration.
- Name the plan: next
NNN= highest seq across all four dirs + 1 (zero-padded 3 digits).HASH= first 6 chars ofsha1(title + timestamp). Filename:NNN-<kebab-slug>-<HASH>.mdinplans/queue/. - Write the plan following
plan-template.mdin this skill directory. Every section is mandatory. Be near-diff-level specific in Steps for anything non-trivial; paste real code snippets into Context. - Index: append a row to
INDEX.md(Status: queued, Commit blank). - Commit the new plan file(s) + INDEX.md:
plan: add NNN-<slug>. Do NOT push. Never add AI attribution to the commit.
Rules for plan quality (this is the whole point)
- Front-load context. Paste the actual current code of the region being changed into the plan. The executor should never have to grep.
- Steps are mechanical. "Edit
src/auth.ts:42: change X to Y" — not "improve the auth flow". - Guardrails. Always fill "Out of scope / do NOT touch" — weak models drift without it.
- Verification is copy-pasteable. Exact commands + expected output.
- Independence. Each plan must leave the repo working (buildable/tests
green) on its own, since it gets its own commit. If a task can't, split it
differently or use
depends_on. depends_on:in frontmatter lists plan IDs (the NNN-slug-hash basename) that must be indone/first. Use it so many plans can be queued without conflict.
Conflict avoidance when queueing many plans
When authoring several plans in one batch, keep their file footprints
disjoint where possible; where they must overlap, chain them with
depends_on and write the later plan against the code as it will be after
the earlier plan (say so explicitly in its Context section).