to-tasks
Break a plan, spec, or current conversation into a short, human-owned task checklist. No issue tracker, labels, queue, or publishing ceremony.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Break a plan, spec, or current conversation into a short, human-owned task checklist. No issue tracker, labels, queue, or publishing ceremony.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Review the changes since a fixed point (commit, branch, tag, or merge-base) along two axes — Standards (does the code follow this repo's documented coding standards?) and Spec (does the code match the user's request, PRD, or explicit spec?). Runs both reviews in parallel sub-agents and reports them side by side. Use when the user wants to review a branch, a PR, work-in-progress changes, or asks to "review since X".
Disciplined diagnosis loop for hard bugs and performance regressions. Reproduce → minimise → hypothesise → instrument → fix → regression-test. Use when user says "diagnose this" / "debug this", reports a bug, says something is broken/throwing/failing, or describes a performance regression.
Use when the user asks for a rich explanation of a code change, diff, branch, or PR. Produces HTML output.
Walk the user through the changes since a fixed point (commit, branch, tag, or merge-base) as a guided, interactive code tour — the live Neovim counterpart to the `explain-html` skill. Drives the user's Neovim (scroll, highlight, virtual-text annotations) when connected, and degrades to prose with file:line references otherwise. Advances one stop at a time and waits for the user to say "next". Use when the user wants to be walked through a diff/branch/PR, asks for a guided tour or walkthrough of changes, or says "tour since X" / "lead me through the changes".
Implement a tightly scoped piece of work from the current conversation, an explicit request, or a spec file.
Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.
| name | to-tasks |
| description | Break a plan, spec, or current conversation into a short, human-owned task checklist. No issue tracker, labels, queue, or publishing ceremony. |
| disable-model-invocation | true |
Break a plan, spec, or conversation into a set of tasks: small, ordered slices that help the human choose the next tightly scoped agent batch.
This is not an issue-tracker workflow. The human is the keeper of long-term context and work selection; the agent produces a clear checklist for the current decision/work session.
Work from whatever is already in the conversation context. If the user passes a reference (a spec path, PRD path, note file, PR/URL, or other explicit source), fetch it and read its full body/comments where possible.
If you have not already explored the codebase, do just enough to understand the current shape. Task titles and descriptions should use the project's domain glossary vocabulary, and respect ADRs in the area you're touching.
Look for opportunities to prefactor the code to make the implementation easier. "Make the change easy, then make the easy change."
Break the work into tracer-bullet tasks.
Give each task its blocking edges — the other tasks that must complete before it can start. A task with no blockers can start immediately.
Wide refactors are the exception to vertical slicing. A wide refactor is one mechanical change — rename a column, retype a shared symbol — whose blast radius fans across the whole codebase, so a single edit breaks thousands of call sites at once and no vertical slice can land green. Don't force it into a tracer bullet; sequence it as expand–contract. First expand: add the new form beside the old so nothing breaks. Then migrate the call sites over in batches sized by blast radius (per package, per directory), each batch its own task blocked by the expand, keeping CI green batch to batch because the old form still exists. Finally contract: delete the old form once no caller remains, in a task blocked by every migrate batch. When even the batches can't stay green alone, keep the sequence but let them share an integration branch that all block a final integrate-and-verify task — green is promised only there.
Present the proposed breakdown as a numbered list. For each task, show:
Ask the user:
Iterate until the user approves the breakdown.
Default to an in-chat checklist. If the user asks for a durable artifact, write a markdown file such as .scratch/<short-feature-slug>/tasks.md.
If a session-local Pi task/todo extension is available, prefer it for ephemeral checklists the agent will actively maintain during the current session. The Pi examples include a todo.ts extension that is a good starting point: it stores state in the session branch, not in repo files, which fits this repo's "human owns roadmap, agent owns current batch" workflow. Do not assume such a tool exists; use it only when it is actually available.
Do not create issues, apply labels, claim work, publish to a tracker, or maintain a queue.
A one-line summary of what these tasks build. Reference the source spec if there is one.
Work the frontier: any task whose blockers are all done. For a purely linear chain that means top to bottom.
What to build: the end-to-end behaviour this task makes work, from the user's perspective — not a layer-by-layer implementation list.
Blocked by: the titles of the tasks that gate this one, or "None — can start immediately".
...
In any form, avoid specific file paths or code snippets — they go stale fast. Exception: if a prototype produced a snippet that encodes a decision more precisely than prose can (state machine, reducer, schema, type shape), inline it and note briefly that it came from a prototype. Trim to the decision-rich parts — not a working demo, just the important bits.
Work the frontier one task at a time with /implement, clearing context between tasks when useful.