FLOW

An opinionated 6-phase software development lifecycle for Claude Code. Every feature follows the same phases in the same order. No shortcuts. Supports Rails, Python, iOS, Go, and Rust.

6 Phases
4 Review Lenses
0 Dependencies
Get Started

Three Goals

Claude Code is powerful, but undisciplined by default. FLOW imposes structure. Not bureaucracy — discipline.

{}
Unobtrusive

Zero dependencies. Prime commits .claude/settings.json and CLAUDE.md as project config — shared permissions and conventions. .flow.json and .flow-states are git-excluded. One state file while you work — Complete deletes it.

~/
Autonomous or Manual

Two axes — commit and continue. Four presets from fully manual to fully autonomous. Per-skill override. You control the autonomy.

$_
Safe for Local Env

No containers. Native tools only — git, gh, linter, test runner. Every command pre-approved during flows — zero permission prompts. Outside flows, Claude Code’s native prompts handle approval. Worktree isolation protects main.

How

Every feature goes through 6 phases. Each phase must complete before the next one starts. If something was missed, go back. Opus for planning, code, and review. Sonnet for sub-agent reviews.

1
Start Lock, CI baseline, dependencies on main, CI post-deps, worktree + PR
2
Plan DAG decompose plugin — dependency analysis, explore codebase, ordered tasks with risks
3
Code Test first, then implement, review every diff, commit per task
4
Code Review Four steps — clarity, correctness, safety, and parallel agent reviews (context-isolated code review, pre-mortem, adversarial testing)
5
Learn Capture what went wrong, route corrections to permanent homes
6
Complete Close issues referenced in prompt, merge PR, clean up, done

Autonomy

Every skill has two independent axes you can tune:

Four preset levels via /flow-prime

LevelWhat it means
Fully autonomousAll skills auto for both axes — zero prompts
Fully manualEvery diff reviewed, every phase transition confirmed
RecommendedAuto where safe (Code Review), manual where judgment matters (Code, Plan)
CustomizeChoose per skill and per axis

Any skill invocation accepts --auto or --manual to override the configured setting for that run.

Guardrails

Every commit and every phase transition is gated. No exceptions, no workarounds.

bin/ci is the universal gate

Must be green before every commit and every phase transition. Keep guardrails under 2 minutes for tight feedback loops.

100% test coverage

Code phase cannot advance to Code Review without it. No gaps, no exclusions.

TDD always

Test must fail before implementation is written. Test must pass before commit.

No lint suppression

Fix the code, not the linter. No exclusions, no suppression comments.

Bash validation hook

Blocks compound commands (&&, ;, |), shell redirection (>, >>), and file-read commands. Use dedicated tools instead.

Pre-merge freshness

Complete fetches main and merges it into the feature branch before squash-merging. Stale branches are updated automatically.

Hook-based enforcement

Critical constraints are enforced by hooks, not instructions. If Claude shouldn’t do it, Claude can’t do it — the action is blocked before it executes.

The Learning System

Most AI coding tools forget everything when the session ends. FLOW captures corrections as they happen and routes each learning to the right permanent home in the repo — where it compounds across every future feature.

1
Capture User corrects Claude → /flow-note captures it automatically
2
Observe Claude writes patterns and observations to auto-memory during feature work
3
Synthesize Learn reads four sources: CLAUDE.md rules · learn-analyst agent · state/plan data · onboarding agent
4
Route Each learning is routed to its correct permanent destination
5
Survive Worktree is destroyed — nothing is lost

2 Destinations

Project CLAUDE.md

Process rules and project architecture. “Always run bin/ci before committing.”

Project Rules

Coding anti-patterns and gotchas. “Never use update_column in tests.”

Beyond the Phases

Project Decomposition

Describe a project in plain language and FLOW decomposes it into a fully linked GitHub issue graph — epic, milestones, sub-issues, blocked-by dependencies, and phase labels. Every issue is filed work-ready with acceptance criteria, file paths, and scope boundaries from real codebase exploration.

1
Describe Tell Claude what to build — /flow-decompose-project add multi-tenant billing
2
Decompose DAG analysis with deep codebase exploration — dependency graph, phase groupings, risk identification
3
Review Full issue list with bodies, dependencies, and phase labels — iterate until right
4
File Epic, milestone, child issues, sub-issue links, blocked-by relationships — all created on GitHub
── Step 6 of 6: Report ── # Title Issue Phase Deps ──────────────────────────────────────────────────────────────────────────Epic: Multi-tenant billing #120 — — 1 Add tenant model and migrations #121 Phase 1: Data — 2 Scope queries to current tenant #122 Phase 1: Data #121 3 Stripe Connect per-tenant accounts #123 Phase 2: API #121 4 Metered usage tracking #124 Phase 2: API #122 5 Invoice generation and PDF export #125 Phase 3: UI #123 #124 6 Tenant admin billing dashboard #126 Phase 3: UI #125 ────────────────────────────────────────────────────────────────────────── Issues: 6 created · Milestone: Multi-tenant billing (2026-04-15) Sub-issues: 6 linked · Dependencies: 5 linked

The issue graph feeds directly into /flow-orchestrate below — or pick issues one at a time with /flow-start work on issue #121.

Batch Orchestration

Feed the issue graph into /flow-orchestrate and let FLOW process them overnight. Each issue runs through all 6 phases autonomously. Wake up to a morning report.

1
Select Fetches open issues labeled Decomposed, filters out in-progress work
2
Queue /flow-orchestrate builds the execution queue in dependency order
3
Process Each issue runs Start → Plan → Code → Code Review → Learn → Complete
4
Report Morning report delivered on next session start — what completed, what failed, PR links
# FLOW Orchestration Report Started: 2026-03-19T23:14:07-07:00 Completed: 2026-03-20T05:41:33-07:00 Duration: 6h 27m ## Results | # | Issue | Outcome | PR | |----|------------------------------|-----------|-------| | 1 | #42 Add PDF export | completed | PR #58 | | 2 | #44 Refactor auth module | completed | PR #60 | | 3 | #43 Fix login timeout | failed | — | | 4 | #45 Update payment hooks | completed | PR #61 | | 5 | #46 Add rate limiting | completed | PR #62 |

Slack Notifications

Optional thread-per-feature notifications give your team passive awareness of feature progress without any active monitoring.

#_
Thread per Feature

Each feature gets one Slack thread. Every phase posts a reply, building a narrative from start to merge.

Phase Updates

Start, Plan, Code, Code Review, Learn, Complete — each phase posts its outcome and timing as a thread reply.

Zero Config

Two env vars and one /flow-prime. No webhook servers, no bot infrastructure. Uses Slack’s chat.postMessage API directly.

Commands

Phase Commands

CommandPhaseWhat it does
/flow-start1Lock, CI baseline on main, upgrade dependencies, CI post-deps, commit to main, create worktree + PR
/flow-plan2DAG decompose for dependency analysis, explore codebase, produce ordered tasks
/flow-code3TDD task by task, diff review, bin/ci gate before each commit
/flow-code-review4Four steps — clarity, correctness, safety, and parallel agent reviews (context-isolated code review, pre-mortem, adversarial testing)
/flow-learn5Extract learnings, route to CLAUDE.md and project rules
/flow-complete6Merge PR, remove worktree, delete state file

Utility Commands

CommandWhat it does
/flow-primeOne-time project setup — configure permissions and git excludes
/flow-commitFull diff review, approved commit message, pull before push
/flow-statusCurrent phase, PR link, cumulative time per phase, next step
/flow-continueResume current feature — rebuilds full context on new session
/flow-noteCapture a correction — auto-invoked when Claude is wrong
/flow-abortAbandon feature — close PR, delete branch, remove worktree
/flow-configDisplay current configuration — version, framework, per-skill autonomy
/flow-issuesFetch open issues, categorize, prioritize, and display a dashboard. Supports readiness filters
/flow-create-issueExplore a design question or decompose a concrete problem, iterate until work-ready, then file it
/flow-doc-syncAudit documentation against code behavior — reports drift between what docs say and what code does
/flow-decompose-projectDecompose a project into a linked GitHub issue graph — epic, milestones, sub-issues, blocked-by dependencies
/flow-orchestrateBatch orchestration — process decomposed issues overnight via flow-start --auto

Terminal Dashboard

Monitor every active flow from your terminal. No Claude session needed — flow tui reads state files directly and auto-refreshes every 2 seconds.

──── FLOW v1.1.0 ────────────────────────────────────────────── Active Flows (2) Orchestration Feature Phase Total PR ────────────────────────────────────────────────────────────────────── ▸ invoice-pdf-export 3: Code (task 2/5) 8m 12m PR #42 slack-thread-replies 2: Plan 5m 5m PR #41 ────────────────────────────────────────────────────────────────────── invoice-pdf-export Branch: invoice-pdf-export Worktree: .worktrees/invoice-pdf-export [x] Start <1m [x] Plan 3m [>] Code 8m (task 2/5) [ ] Code Review [ ] Learn [ ] Complete Notes: 1 [←→] Tab [↑↓] Navigate [Enter] Worktree [p] PR [i] Issues [I] Issue [t] Tasks [l] Log [a] Abort [r] Refresh [q] Quit
──── FLOW v1.1.0 ────────────────────────────────────────────── Active Flows (2) Orchestration (4/5) Elapsed: 6h 27m #42 Add PDF export 6h 12m PR #58 #44 Refactor auth module 1h 45m PR #60 #43 Fix login timeout 42m #45 Update payment hooks 2h 18m PR #61 #46 Add rate limiting 1h 30m PR #62 ────────────────────────────────────────────────────── PR: https://github.com/acme/app/pull/58 [←→] Tab [↑↓] Navigate [i] Issue [r] Refresh [q] Quit
No Claude Needed

Runs standalone in your terminal. Check on flows while Claude is busy, between sessions, or from another machine.

Live Refresh

Auto-reads state files every 2 seconds. Phase transitions, code task progress, and log entries appear as they happen.

Full Control

Open worktrees in your terminal, jump to PRs in your browser, tail session logs, abort features — all from the keyboard.

Keyboard Actions

KeyAction
Navigate flow list
Switch tab
EnterOpen worktree in a new terminal tab
pOpen PR in browser
iOpen issue in browser
lShow session log
aAbort flow (with Y/N confirmation)
rForce refresh
EscBack to list view
qQuit

Get Started

All 6 phase skills, state file infrastructure, session hooks, and reference documentation in one plugin. Marketplace plugin — updates ship automatically.

Step 1: Install in Claude Code

/plugin marketplace add benkruger/flow
/plugin install flow@flow-marketplace

Step 2: Initialize in your project (once per project)

/flow-prime

Step 3: Start a feature

/flow-start invoice pdf export
View on GitHub