flow — v2.4.0
tty1 · 80×40
SOFTWARE DEVELOPMENT LIFECYCLE · FOR CLAUDE CODE

FLOW

An opinionated four-phase development lifecycle for Claude Code. Three commands you type. Four phases that run themselves. Same order, every time. Language-agnostic — every project owns its toolchain via repo-local bin/* delegation.

3
Commands
5
Phases
3
Planning voices
4
Review agents
0
Dependencies
cat ./tenets.md
02 · tenets

Four tenets.
One discipline.

Claude Code is powerful, but undisciplined by default. FLOW imposes structure — not bureaucracy, discipline. Every feature follows the same arc, in the same order, with the same gates.

tenet 01

Unobtrusive

Zero dependencies. Prime commits .claude/settings.json and four bin/* stubs as project config. .flow.json and .flow-states/ are git-excluded. One state file while you work — Complete deletes it.

tenet 02

Auto / Manual

Two axes — commit and continue. Four presets from fully manual to fully autonomous. Per-skill override via /flow-prime.

tenet 03

Safe Local Env

No containers. Native tools only — git, gh, your linter, your test runner. Every command pre-approved during flows. Worktree isolation protects your team's trunk.

tenet 04

N × N × N

N engineers running N flows on N machines simultaneously. Local state per-machine; shared state through GitHub. "Flow In-Progress" label provides cross-engineer WIP detection.

man flow.workflow
03 · workflow

Three commands.
Four phases.

Three commands drive the workflow. Four phases run themselves.

commands · user-typed

/flow-explore Problem-statement conversation in PM voice. Files a vanilla ## What / ## Why / ## Acceptance Criteria issue.
/flow-plan #N Decomposes the vanilla issue in Tech Lead voice. Files a linked decomposed issue ready for start.
/flow-start #N Worktree, PR, plan extraction from the issue body. The lifecycle begins.

phases · auto-chained

Once /flow-start lands, you're inside the lifecycle. Each phase is its own skill, but you don't type them — Claude auto-chains Code → Review → Complete according to your autonomy settings.

01 Start Start lock, bin/flow ci baseline on the integration branch, dependency upgrade, worktree + PR. ci-fixer sub-agent repairs breakage once.
02 Code Test first, then implement. Diff review, bin/flow ci gate, /flow-commit per task. 100% coverage enforced.
03 Review Four cognitively isolated agents in parallel — reviewer, pre-mortem, adversarial, documentation. Parent triages and fixes.
04 Complete Merge the PR, close issues referenced in the prompt, remove the worktree, delete the state file.
vim ~/.flow.json
04 · autonomy

You control the autonomy.

Every skill has two independent axes you can tune:

  • Commit — whether Claude shows diffs for approval or commits autonomously
  • Continue — whether Claude prompts before advancing to the next phase or auto-advances

Start fully manual. As your comfort grows, dial up autonomy per skill. Go fully autonomous when you trust the workflow.

configuration via /flow-prime

/flow-prime is the configuration front door. Run it in any Claude Code session — the plugin walks you through a preset picker, writes the result to .flow.json at your project root, and installs the required permissions and bin/* stubs. Re-run it anytime to change presets.

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

/flow-prime is user-only — you type it yourself. The model never runs it on your behalf, because priming mutates project config every engineer on the repo will inherit.

Want help dialing it up? Acme AI Consulting helps small engineering teams adopt FLOW — assessment first, coaching as you ratchet up. Book a consultation →

man flow.guardrails
05 · guardrails

Guardrails.

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

bin/flow 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 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 other footguns before they execute. Enforced as a Claude Code PreToolUse hook — the model can't reach around it.

Worktree isolation

Your team's trunk is never touched directly. Multiple features run in parallel without colliding.

man flow.health
06 · health

Corpus health.

Corrections don't evaporate at session end. /flow-note captures them to the flow's state file as they happen, and the session-start hook re-surfaces the capture instruction whenever you correct Claude. Two read-only utilities keep the instruction corpus — CLAUDE.md, project rules, and memory — coherent as it grows.

maintenance

As CLAUDE.md and project rules accumulate across many features, references go stale, constraints duplicate, and content drifts to the wrong destination. Two read-only utilities audit the corpus between features.

/flow-hygiene

Audits the instruction corpus itself — CLAUDE.md, rules, and memory. Catches staleness, duplication, and contradictions. Run weekly or after big refactors.

/flow-doc-sync

Audits documentation against code behavior — reports drift between what docs say and what code does. Run when docs feel out of date.

flow tui
07 · dashboard

Monitor live state.

No Claude session needed. flow tui reads state files directly and auto-refreshes every 2 seconds. Phase transitions, task progress, and per-phase token cost appear as they happen.

flow tui — acme-app
pid 4221
── FLOW v2.4.0 ACME-APP ───────────────── $23.47/mo 5h:14% 7d:42% 2s Active Flows (2) Orchestration Feature Phase Total PR ▸ invoice-pdf-export 2: Code (task 2/5) 8m 12m PR #42 slack-thread-replies 3: Review 5m 5m PR #41 ────────────────────────────────────────────────────────────────── invoice-pdf-export Branch: invoice-pdf-export Worktree: .worktrees/invoice-pdf-export Code — task 2 of 5 [x] Start <1m [>] Code 8m (task 2/5) [ ] Review [ ] Complete Tokens Start: 4.2k $0.018 Code: 12.8k $0.071 Notes: 1 ?=help Ctrl-C/q=quit
cat ./planning.md
08 · planning

More planning tools.

The three-command workflow handles single features. FLOW adds tools for bigger surfaces and existing backlogs.

three planning voices

The planning skills are role-bound to specialized sub-agents. Each persona has its own scope authority and refuses overreach with a ## SCOPE REFUSAL block naming the next tier. No auto-escalation — the user always directs.

role PM

Product Manager

Copy, content, and problem statements. Default voice for /flow-explore. Refuses architectural overreach — escalates to Tech Lead.

role TL

Tech Lead

Extensions of existing architecture and design patterns. Default voice for /flow-plan. Refuses novel design — escalates to CTO.

role CTO

Chief Tech.

Novel, around-the-corner work. Escalation terminus — no scope refusal. Invoked on explicit user request during planning.

decompose a whole project

Describe a project in plain language and FLOW decomposes it into a fully linked GitHub issue graph — epic, 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.

01 Describe /flow-plan add multi-tenant billing
02 Decompose DAG analysis with deep codebase exploration — dependency graph, phase groupings, risk identification
03 Review Full issue list with bodies, dependencies, and phase labels — iterate until right
04 File Epic, child issues, sub-issue links, blocked-by relationships — all created on GitHub

work your backlog overnight

Triage what's open with /flow-issues and /flow-triage-issue, then feed the decomposed graph into /flow-orchestrate. Each issue runs through all 4 phases autonomously. Check progress — or the final tally — in flow tui's Orchestration tab.

01 Select Fetches open issues labeled Decomposed, filters out in-progress work
02 Queue /flow-orchestrate builds the execution queue in dependency order
03 Process Each issue runs Start → Code → Review → Complete autonomously
04 Track Live status in the TUI's Orchestration tab — completed flows with PR links, failed flows with reasons, elapsed time
flow tui — orchestration
tab 2/2
── FLOW v2.4.0 ACME-APP ───────────────── $23.47/mo 5h:14% 7d:42% 2s Active Flows (1) Orchestration (3/5) Elapsed: 4h 12m #42 Add PDF export 2h 30m PR 58 #44 Refactor auth module 1h 45m PR 60 #43 Fix login timeout 42m #45 Update payment hooks 15m · #46 Add rate limiting PR: https://github.com/acme/app/pull/58 ?=help Ctrl-C/q=quit
curl slack.com/api/chat.postMessage
09 · slack

Slack notifications.

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

channel #_

Thread / Feature

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

event

Phase Updates

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

config

Zero Config

Two plugin config fields. No webhook servers, no bot infrastructure. Uses Slack's chat.postMessage API directly.

ls ./commands/
10 · catalog

Commands.

One catalog grouped by role. Run /flow-skills in any Claude Code session to see the live version.

planning

CommandWhat it does
/flow-issuesGroup open issues by label into four sections (Blocked, Other, Vanilla, Decomposed) with mechanical sort and a copy-pasteable command per row
/flow-triage-issuePM-lens triage of a single open issue — verdict in {close, decompose}
/flow-exploreOpen a problem-statement conversation (PM voice); file a vanilla ## What / ## Why / ## Acceptance Criteria issue on signal
/flow-planDecompose a vanilla problem-statement issue into a decomposed issue ready for start, or one child per disconnected DAG component when multi-track applies (Tech Lead voice)
/flow-orchestrateProcess decomposed issues sequentially overnight via flow-start

work

CommandWhat it does
/flow-startBegin a new feature — worktree, PR, state file, plan extraction from issue body sentinels
/flow-configDisplay the per-skill autonomy configuration from .flow.json
/flow-skillsDisplay this catalog grouped by role

health

CommandWhat it does
/flow-doc-syncFull codebase documentation accuracy review — reports drift between code and docs
/flow-hygieneAudit instruction corpus health — CLAUDE.md, rules, and memory

admin · user-only

These commands are reserved for direct user invocation — type the slash command yourself. The model never invokes them on your behalf.

CommandWhat it does
/flow-primeOne-time project setup — configure permissions, install bin/* stubs, write the version marker
/flow-abortAbort the current feature — close the PR, delete the remote branch, remove the worktree, delete the state file
/flow-continueResume a halted autonomous flow — clears _halt_pending so the next assistant turn proceeds
/flow-resetWipe .flow-states/ on this machine — PRs, worktrees, and branches are NOT touched (require per-flow /flow-abort)
install flow@flow-marketplace
11 · install

Three steps.
One plugin.

Four phase skills plus the full planning and health catalog, state file infrastructure, session hooks, and reference documentation — one plugin. Marketplace-distributed; updates ship automatically.

step 01 — install in claude code
$ /plugin marketplace add benkruger/flow $ /plugin install flow@flow-marketplace
step 02 — initialize in your project
$ /flow-prime
step 03 — start a feature
$ /flow-explore add a per-flow budget cap $ /flow-plan #1234 $ /flow-start #1235

Need a sherpa? Acme AI Consulting runs FLOW-adoption engagements for small engineering teams — assessment first, coaching as you ratchet up. Book a consultation →

→ view on github