一键导入
writing-plans
Use when you have a spec or requirements for a multi-step task, before touching code
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when you have a spec or requirements for a multi-step task, before touching code
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when you have a written implementation plan to execute in a separate session with review checkpoints
Use when executing implementation plans with independent tasks in the current session
Fast, MVP-focused grilling session for plans, prototypes, designs, or feature ideas. Use when the user wants to stress-test direction, clarify assumptions, reduce scope, or get challenged without a long decision-tree interview.
Execute and orchestrate multiple AI agent CLIs (agy, Codex, Cursor, Claude Code, Pi) for getting alternative opinions, comparing approaches, or leveraging different AI models' strengths. Use when the user explicitly mentions agent names like "ask agy", "ask cursor", "ask codex", "ask pi", "use composer", "use pi", "try grok", or when needing diverse perspectives on complex problems, alternative implementation approaches, or multi-agent collaboration.
Summarize a video (URL or local path) by pulling captions first, falling back to audio-only transcription, and optionally extracting frames for visual summaries. Use when the user pastes a YouTube/Vimeo/X/etc URL, points at a local video file, or asks to summarize, watch, or extract takeaways from a video. Triggers on "summarize this video", "what's in this video", "watch this", URLs ending in /watch, /shorts, common video extensions (.mp4/.mov/.mkv/.webm).
Multi-provider web search fanout across Exa, Tavily, Brave, LangSearch, and Marginalia with parallel dispatch, dedupe, and AI summary. Use ONLY on explicit user intent for a named provider (Exa, Tavily, Brave, LangSearch, Marginalia), cross-provider fanout, semantic code/paper search, indie small-web search, or when native web search returned weak results. Do NOT auto-pick on generic search queries; native WebSearch is preferred for those.
| name | writing-plans |
| description | Use when you have a spec or requirements for a multi-step task, before touching code |
Write self-contained implementation plans for an agent with zero repo context. Skilled engineer, but does not know this codebase or domain. Cover: files to touch, what to build, how to test. Bite-sized tasks. DRY, YAGNI, TDD, optional commit checkpoints.
Announce at start: "I'm using the writing-plans skill to create the implementation plan."
PASS, 0 errors, compiled artifact).
Not "looks done"NotImplementedError, or wrong defaultsExample is Python; the same shape applies to any language. Language-specific rules (test-file naming, package manager) are in "Net-new constraints" below.
### Task N: [Goal-oriented title - what it achieves, not files touched]
**Goal:** [One sentence: what works after this that didn't before]
**Files:**
1. `exact/path/to/file.py`
- Create `function()` that validates input and returns `Result`
- Re-use `LibraryThing` from `exact/path/to/lib.py`
2. `exact/path/to/file.test.py`
- Covers `function()` base + edge cases
- [ ] **Step 1: Bootstrap stubs**
Create `Result` type + `function()` stub raising `NotImplementedError`. Green:
`python -c "import file"` exits 0 (imports resolve, tests run without
crashing).
- [ ] **Step 2: Implement `function` with TDD**
**Skills (load if not already loaded):** `<test-runner-skill>`,
`<language-skill>`
Inside this step (NOT separate ticked steps):
1. Write tests for the base cases below
2. Run - verify they fail on assertion mismatch (not Import/Module/Attribute
error). If they crash, fix the bootstrap first
3. Implement per signature + constraints
4. Run - verify all pass
Signature: `def function(input: str) -> Result`
- Accept X, validate Y, return Z. Use `LibraryThing` for heavy lifting
- Empty input returns `Result.empty()`
Base cases:
- `function("valid")` -> `Result(value="valid")`
- `function("")` -> `Result.empty()`
- `function(None)` raises `ValueError`
Explore edge cases you find relevant (unicode, whitespace, large input).
Green: `pytest exact/path/to/file.test.py -v` passes all cases.
- [ ] **Step 3: Optional commit checkpoint** (only if policy needs it)
```bash
git add exact/path/to/file.py exact/path/to/file.test.py <this-plan-file>.md
git commit -m "Add specific feature"
```
Stage the plan file too, so its `- [x]` ticks commit with the task.
- [ ] **Final step (last task only): Run final verification**
**Skills (load if not already loaded):** `verification-before-completion`
Run each command below and report results:
- `[full test suite]` -> all pass
- `[type check]` -> `0 errors`
- `[lint]` -> clean
- `[build]` -> succeeds
docs/plans/YYYY-MM-DD-<feature-name>.md. User may pick
another pathBefore writing, ask:
How should commits be handled for this plan?
1. One commit per task
2. One commit at the end
3. No commits
Match the selected policy. Commit steps only when policy needs them (option 1 or 2).
Green: line = exact paste-able command + observable
success token. No bare "compiles" / "tests pass" - name the command and what
output proves ittsc --noEmit -> 0 errors)pytest path -v -> all pass)When executing from a plan file, flip - [ ] to - [x] immediately after
verifying each step. Do not batch at the end.
**Skills (load if not already loaded):** line only on steps with a
match. No match -> no line**Skills (load if not already loaded):** verification-before-completion. Do
not load it earlier unless another instruction requires itEvery plan MUST start with this header:
# [Feature Name] Implementation Plan
> **For agentic workers:** Execute task-by-task. Use `executing-plans` when
> working from a saved plan in a separate session. Steps use checkbox (`- [ ]`)
> syntax and must be marked complete immediately after each step is verified.
> Tick each checkbox the moment its step passes; never batch ticks at the end.
**Goal:** [One sentence describing what this builds]
**Architecture:** [2-3 sentences about approach]
**Tech Stack:** [Key technologies/libraries]
**Commit policy:** [One commit per task | One commit at the end | No commits]
---
Skills are annotated per step, not in the header.
Every step unambiguous on what to build and which constraints matter. But unambiguous != copy-paste-ready code.
Plan failures - never write:
Fine - the engineer is skilled:
type(scope): prefix. Branches
squash-merge, so PR title carries conventional format, not commitsFoo.test.tsx beside Foo.tsx, no
__tests__/ folders. Each component its own test filermtree, overwrite, move-onto-existing) need an exists-guard
or a stated reason they can't collide. Never hard-destroy on a soft-delete
pathpackageManager. Use detected
runner. Never default to npm/npx. Undetectable -> stop and askAfter writing, re-check and fix inline:
clearLayers() in
Task 3 vs clearFullLayers() in Task 7 is a bug)After self-review, dispatch a subagent once to review the plan. Audits internal
quality only (contradictions, assumptions, ordering, granularity, reuse, blind
spots), NOT against an external spec. Categories live in
plan-reviewer-prompt.md.
Dispatch payload. Do NOT read or open plan-reviewer-prompt.md yourself — the
subagent reads it. Reading it into your own context defeats the offload:
MUST read instructions at <skill_dir>/plan-reviewer-prompt.md FIRST. Do not
act until you have read it. Then apply:
task_summary = <one-line summary of the plan under review>
plan_path = <abs path>
repo_root = <abs path>
<skill_dir> = directory of THIS SKILL.md. Substitute the real absolute path.
WRONG: pasting the template body. RIGHT: the literal
MUST read instructions at ... line. Subagent reads the template itself.
Flow:
Model: default cheap/fast (review is mostly pattern matching). Escalate only when the first review came back thin or the plan is high-stakes/complex.
After saving, offer:
"Plan complete and saved to <plan_path>. Two execution options:
1. Subagent-Driven - fresh subagent per task, two-stage review per task, fast iteration
2. Inline Execution - execute in this session using executing-plans,
two-stage review per task
Which approach?"
subagent-driven-developmentexecuting-plans