writing-plans

Use when you have a spec or requirements for a multi-step task, before touching code

Writing Plans

Overview

Write comprehensive implementation plans that give a skilled developer everything they need: which files to touch, what code to write, how to verify each step. Bite-sized tasks. DRY. YAGNI. Suggest frequent commits.

When to Use

Use before starting any multi-step implementation. Essential for ensuring a structured and verifiable development process.

Announce at start: "I'm using the writing-plans skill to create the implementation plan."

Output: Present the full plan in the chat using a Markdown code block.

Bite-Sized Task Granularity

Each step is one action (2–5 minutes):

  • "Write the failing test" — step
  • "Run it to confirm it fails" — step
  • "Implement the minimal code to pass" — step
  • "Run tests to confirm they pass" — step
  • "Suggest commit" — step

Include test steps when the project has a test suite.

Plan Document Header

Every plan MUST start with this header:

# [Feature Name] Implementation Plan

> **For OpenCode:** Use the `executing-plans` skill to implement this plan task-by-task.

**Goal:** [One sentence describing what this builds]

**Architecture:** [2–3 sentences about approach]

**Tech Stack:** [Key technologies/libraries]

---

Task Structure

### Task N: [Component Name]

**Files:**
- Create: `exact/path/to/file.ts`
- Modify: `exact/path/to/existing.ts:123-145`
- Test: `tests/exact/path/to/test.ts`

**Step 1: [Action]**

[Code or command if needed]

**Step 2: Verify**

Run: `<test command>`
Expected: [what success looks like]

**Step 3: Suggest Commit**

Suggest: `git add <files> && git commit -m "feat: <description>"`

Remember

  • Exact file paths always
  • Complete code in the plan (not "add validation")
  • Exact commands with expected output
  • DRY, YAGNI, suggest frequent commits

Execution Handoff

After presenting the plan:

"Plan complete. You can execute it with /execute-plan, or ask me to implement it directly."