원클릭으로
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