From flowstate
Structure implementation plans with TDD-structured tasks, bite-sized granularity, and learnings integration. Use when converting research/specs into an actionable plan document.
npx claudepluginhub c-reichert/flowstate --plugin flowstateThis skill uses the workspace's default tool permissions.
Write implementation plans assuming the engineer has zero codebase context. Document
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Writes implementation plans from specs for multi-step tasks, mapping files and breaking into TDD bite-sized steps before coding.
Write implementation plans assuming the engineer has zero codebase context. Document everything: which files to touch, complete code, exact test commands, expected output. Every task is bite-sized and TDD-structured. DRY. YAGNI. TDD. Frequent commits.
Assume the implementer is a skilled developer but knows nothing about the toolset, problem domain, or local conventions. Assume they don't know good test design.
Announce at start: "I'm using the writing-plans skill to structure the plan."
Every plan starts with this header:
# [Plan Title]
**Goal:** [One sentence — what this builds or fixes]
**Architecture:** [2-3 sentences about the approach]
**Tech Stack:** [Key technologies and libraries involved]
---
Every plan file begins with:
---
title: [Plan Title]
type: [feat|fix|refactor]
status: active
date: YYYY-MM-DD
origin: docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md # if from brainstorm
detail_level: [minimal|more|a_lot]
---
Title and filename: Draft a clear title (e.g., feat: Add user authentication).
Convert to filename: YYYY-MM-DD-<type>-<descriptive-name>-plan.md
(e.g., 2026-02-27-feat-add-user-authentication-plan.md). Keep 3-5 words after prefix.
Save location: docs/plans/YYYY-MM-DD-<type>-<name>-plan.md
Choose based on complexity -- simpler is mostly better:
| Level | When to Use | Includes |
|---|---|---|
| MINIMAL | Quick fix, small bug, clear single-file change | Overview + acceptance criteria + research context + tasks |
| MORE | Standard feature, multi-file change | MINIMAL + problem statement + technical considerations + system-wide impact + dependencies |
| A LOT | Complex feature, architectural change, multi-phase work | MORE + implementation phases + alternatives considered + risk analysis + resource requirements |
MINIMAL includes:
MORE adds:
A LOT adds:
Each step is one action (2-5 minutes):
Never combine these. Each is its own numbered step with its own expected output.
Every implementation task follows this structure. No exceptions.
### Task N: [Component Name]
**depends_on:** [Task M, Task K] <!-- optional: omit for independent tasks -->
**Files:**
- Create: `exact/path/to/new_file.py`
- Modify: `exact/path/to/existing_file.py:123-145`
- Test: `tests/exact/path/to/test_file.py`
**Step 1: Write the failing test**
```[language]
def test_specific_behavior():
result = function(input)
assert result == expected
```
**Step 2: Run test to verify it fails**
Run: `[test command] tests/path/test_file.py::test_name -v`
Expected: FAIL with "[specific failure reason — e.g., function not defined]"
**Step 3: Write minimal implementation**
```[language]
def function(input):
return expected
```
**Step 4: Run test to verify it passes**
Run: `[test command] tests/path/test_file.py::test_name -v`
Expected: PASS
**Step 5: Commit**
```bash
git add tests/path/test_file.py src/path/file.py
git commit -m "feat(scope): add specific feature"
```
The depends_on field enables parallel execution during /workflow:work.
depends_on if a task touches entirely different files with no shared state — this signals it can run in paralleldepends_on, the work phase runs all tasks sequentially (backwards-compatible default)depends_on to trigger parallel wave analysisExample: In a plan with 5 tasks where Tasks 1-3 are independent and Task 4 depends on Tasks 1+2, Task 5 depends on Task 4:
Reference past learnings wherever they apply. This is how the compounding flywheel works.
Pattern: Inline references at the point of relevance within tasks:
docs/solutions/performance-issues/n-plus-one-fix.md"docs/solutions/integration-issues/api-retry-strategy.md"docs/solutions/runtime-errors/timezone-conversion.md"Research Context section (placed after Overview, before tasks):
## Research Context
### Relevant Learnings
- [Title] (docs/solutions/[category]/[file].md) -- [key insight]
### Existing Patterns
- [file:line] -- [what pattern to follow]
### Best Practices
- [recommendation from external research]
### Edge Cases
- [edge case] -- [handling strategy]
---
title: [Plan Title]
type: [feat|fix|refactor]
status: active
date: YYYY-MM-DD
origin: docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md
detail_level: [minimal|more|a_lot]
---
# [Plan Title]
**Goal:** [One sentence]
**Architecture:** [2-3 sentences]
**Tech Stack:** [Key technologies]
---
## Overview
[Problem/feature description]
## Research Context
### Relevant Learnings
- [Title] (docs/solutions/[category]/[file].md) -- [key insight]
### Existing Patterns
- [file:line] -- [what pattern to follow]
### Best Practices
- [recommendation from research]
### Edge Cases
- [edge case] -- [handling strategy]
## Acceptance Criteria
- [ ] Criterion 1
## Implementation Tasks
### Task 1: [Component]
**depends_on:** [Task N] <!-- optional: omit for independent tasks -->
[TDD steps: test -> verify fail -> implement -> verify pass -> commit]
## Sources
- Brainstorm: docs/brainstorms/[file]
- Learnings: docs/solutions/[files]
- External: [URLs]
(see brainstorm: docs/brainstorms/<filename>).