---
name: dicklesworthstone-writing-plans
description: "Create detailed implementation plans with bite-sized tasks"
license: "NOASSERTION"
metadata:
  decimalai-skill-id: "8cdcbb44-0c61-4da3-9418-b7a7d3c768f6"
  decimalai-version-id: "371c5eeb-1088-4cbb-b22d-09ba2d6dd173"
  decimalai-version: "1"
  decimalai-body-sha256: "3d4d0ffb5ec6ea86f57c9c3ffb26818d3e5f1a40956a5c246741ad8e2945f093"
  decimalai-name: "dicklesworthstone/writing-plans"
  decimalai-format: "1"
  decimalai-invocation: "model"
  decimalai-category: "productivity"
  decimalai-source: "https://app.decimal.ai/s/dicklesworthstone-writing-plans@1/SKILL.md"
---
# Writing Implementation Plans

## Purpose
Create comprehensive plans assuming the implementer has zero context.

> "I'm using the Writing Plans skill to create the implementation plan."

**Save to:** `docs/plans/YYYY-MM-DD-<feature-name>.md`

## Plan Header Template

```markdown
# [Feature Name] Implementation Plan

**Goal:** [One sentence]
**Architecture:** [2-3 sentences]
**Tech Stack:** [Key technologies]
**Estimated Tasks:** [count]

---
```

## Task Granularity

Each step = ONE action (2-5 minutes):
- "Write the failing test" ← step
- "Run it to confirm failure" ← step
- "Implement minimal code" ← step
- "Run tests, confirm pass" ← step
- "Commit" ← step

**NOT:** "Write tests and implement feature" ← too big

## Task Structure

```markdown
### Task N: [Component Name]

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

**Step 1: Write failing test**
\`\`\`typescript
test('should do X', () => {
  expect(thing()).toBe(expected);
});
\`\`\`

**Step 2: Verify failure**
Run: `npm test -- --grep "should do X"`
Expected: FAIL - "thing is not defined"

**Step 3: Implement**
\`\`\`typescript
export function thing() {
  return expected;
}
\`\`\`

**Step 4: Verify pass**
Run: `npm test -- --grep "should do X"`
Expected: PASS

**Step 5: Commit**
\`\`\`bash
git add -A && git commit -m "feat: add thing"
\`\`\`
```

## Plan Principles

| Principle | Meaning |
|-----------|---------|
| **DRY** | Don't repeat yourself |
| **YAGNI** | Don't build what's not needed |
| **TDD** | Test first, always |
| **Small commits** | One logical change per commit |

## What to Include

- ✅ Exact file paths
- ✅ Complete code snippets (not "add validation")
- ✅ Exact commands with expected output
- ✅ Dependencies to install
- ✅ Environment setup needed

## Handoff

After saving plan:

```markdown
**Plan saved to `docs/plans/[filename].md`**

Ready to execute. Options:
1. **Execute now** - I'll work through tasks with you
2. **Subagent execution** - Fresh agent per task with review gates
3. **Later** - Plan saved for future session
```

If executing → Use `executing-plans` skill
