By benkruger
Enforce an opinionated 5-phase development lifecycle (speculate → plan → code → review → ship) with git worktree isolation, TDD-driven commits, CI enforcement, multi-agent code review, and automated issue management — all delegated through local bin/* scripts that work with any language or framework.
Adversarial test generation. Writes tests designed to break the implementation, runs them, and reports failures as findings.
Fix CI failures. Use when bin/flow ci or bin/ci fails and needs diagnosis.
CTO-lens planning for novel, around-the-corner, outside-the-box work. Escalation terminus — no scope refusal.
Documentation and maintainability review. Receives diff, investigates codebase and docs, produces findings for comprehension barriers and documentation drift.
Cognitively isolated rule-adherence audit of a drafted Implementation Plan. Receives the drafted plan body, the parent acceptance criteria, and a pointer to the `.claude/rules/` directory. Produces a verdict in {pass, re-decompose, revise-transform} with a violations list naming the rule file, the plan location, the adherence failure, and the per-violation remediation class.
Decompose a problem statement into a pre-planned decomposed issue. Accepts either an issue reference (#N, re-plans in place) or a bare prompt (synthesizes What/Why/AC and files a new issue). Runs a Tech-Lead-default planning conversation, dispatches to PM/Tech Lead/CTO sub-agents on explicit user request, then files or edits the issue ready for /flow:flow-start. Usage: /flow:flow-plan #N or /flow:flow-plan <topic>
One-time project setup — configure and commit workspace permissions, install bin/* stubs, and write the version marker. Run once after installing or upgrading FLOW. Usage: /flow:flow-prime
Capture a correction or learning to the FLOW state file. Invoke explicitly with /flow:flow-note. Fast — captures and continues without interrupting flow.
Process decomposed issues sequentially overnight via flow-start, tracking outcomes and generating a morning report.
Group open issues by label into four sections (Blocked, Other, Vanilla, Decomposed) with mechanical sort and a copy-pasteable command per row.
Executes bash commands
Hook triggers when Bash tool is used
Modifies files
Hook triggers on file write and edit operations
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Uses power tools
Uses Bash, Write, or Edit tools
Uses power tools
Uses Bash, Write, or Edit tools
An opinionated 4-phase development plugin for Claude Code that enforces issue-driven, TDD discipline on every feature. Language-agnostic — every project owns its toolchain via bin/format, bin/lint, bin/build, bin/test stubs that FLOW orchestrates.
Every feature. Same 4 phases. Same order. No shortcuts.
Documentation: benkruger.github.io/flow
Claude Code is powerful, but undisciplined by default. FLOW imposes structure. Not bureaucracy — discipline. DAG decomposition for planning, then TDD execution, then four-agent code review, then a clean merge. Every feature, same order.
Zero dependencies — pure Markdown skills with a Rust dispatcher. Prime commits .claude/settings.json and the four bin/* delegation stubs (bin/format, bin/lint, bin/build, bin/test) as project config. Each project owns its own toolchain inside those scripts; FLOW provides only the orchestration layer. .flow.json and .flow-states/ are git-excluded. During active development, a single gitignored JSON state file exists at .flow-states/<branch>/state.json. When the feature completes, that file is deleted too. Three commands to set up. One file while you work. Zero when you're done.
Every skill has two independent axes — commit (show diffs or auto-commit) and continue (prompt before advancing or auto-advance). Start fully manual. Dial up autonomy per skill as comfort grows. Go fully autonomous when you trust the workflow. See Autonomy below.
No containers. No external dependencies. Native tools only — git, gh, your linter, your test runner. Every command is pre-approved in .claude/settings.json so you never see a permission prompt. A global PreToolUse hook blocks compound commands, shell redirection, and other footguns so the model can't reach around the gate. Worktree isolation protects your team's trunk (main, staging, or whatever your repo's default branch is) — multiple features run in parallel without touching it.
N engineers running N flows on N machines simultaneously is the primary use case. Local state (.flow-states/, worktrees) is per-machine; shared state (PRs, issues, labels) is coordinated through GitHub. The "Flow In-Progress" label provides cross-engineer WIP detection so /flow-issues shows which issues are already being worked on. Nothing assumes a single active flow.
You type three commands. FLOW handles the rest.
| Step | Command | What you get |
|---|---|---|
| 1 | /flow-explore <topic> | A vanilla ## What / ## Why / ## Acceptance Criteria issue filed on GitHub (PM voice) |
| 2 | /flow-plan #<issue> or /flow-plan <topic> | An implementation plan attached to a GitHub issue. #N re-plans the existing issue in place; a bare topic synthesizes ## What / ## Why / ## Acceptance Criteria and files a new decomposed issue (Tech Lead voice; mandatory decompose:decompose pass) |
| 3 | /flow-start #<issue> | Worktree, PR, plan extraction from the issue body — and the lifecycle begins |
/flow-explore add a per-flow budget cap
/flow-plan #1234
/flow-start #1234
/flow-startOnce /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 based on your .flow.json autonomy settings. You see them as phase transitions, and as approval prompts at any boundary you've kept continue: manual.
1: Start → 2: Code → 3: Review → 4: Complete
| Phase | Command | What happens |
|---|---|---|
| 1: Start | /flow-start | Acquire start lock, run bin/flow ci baseline on the integration branch, upgrade dependencies, commit, unlock, then create worktree + PR. ci-fixer sub-agent repairs any dependency breakage once; subsequent flows inherit the fix via the CI sentinel. Plan is extracted from the issue body's <!-- FLOW-PLAN-BEGIN -->/<!-- FLOW-PLAN-END --> sentinels. |
| 2: Code | /flow-code | Test-first per task, diff review before bin/flow ci, commit per task, 100% coverage enforced. |
| 3: Review | /flow-review | Four cognitively isolated agents in parallel — reviewer, pre-mortem, adversarial, documentation. Parent triages findings and fixes in-scope issues. |
| 4: Complete | /flow-complete | Merge the PR, close issues referenced in the prompt, remove the worktree, delete the state file. |
npx claudepluginhub benkruger/flow --plugin flowUnified toolkit for Context-Driven Development with spec-first planning, TDD workflow, and Beads integration
End-to-end development workflow: design → draft-plan → orchestrate → review → pr-create → pr-review → pr-merge
HarnessFlow — From idea to shipped product: high-quality engineering workflows for AI agents. Spec-anchored SDD, gated TDD, evidence-based routing, independent reviews, and formal closeout.
Virtual development team: TDD, debugging, code review, backlog management, and proven workflow patterns
Harness engineering for Claude Code — hook-enforced dual review, state-machine gates, and fail-closed safety where it counts.
A workflow automation system that helps Claude Code implement features systematically with built-in planning, validation, and review steps