One file in your repo, next to AGENTS.md

FLYWHEEL.md

The process your AI coding agents follow to ship a change, prove it in production, and improve. Every time.

AGENTS.md says what to build. FLYWHEEL.md is the playbook for how it ships: build it, prove it in production, learn, improve, with a human in the loop where it counts.

01Ship
02Verify
03Learn
04Improve
The file

It's just a Markdown file.

Here is the whole thing. Drop it in your repo root, next to your AGENTS.md, and your agents read it before they touch anything. Copy this starter, then make it yours.

FLYWHEEL.md
# FLYWHEEL.md

How an agent ships and improves this project, turn by turn.
`AGENTS.md` = what to do. `SOUL.md` = who to be. `FLYWHEEL.md` = how to ship.

## The loop
Ship, verify, learn, improve. Each turn compounds.

## The stages (the four the wheel turns, split or rename to fit)
1. Ship. Plan the approach and blast radius, build in small reversible steps, review diff/tests/data flow, then merge, release, deploy. Gate: a human signs off on anything risky or irreversible.
2. Verify. Prove it in production, with evidence. A passing test is not proof.
3. Learn. Cost, regressions, feedback. Gate (often): wait for real-world signal.
4. Improve. Fix the cause, raise the bar, delete the toil.

## The bar (holds every stage)
- Done means deployed and verified, with evidence.
- Every iteration costs money.
- Know your data flow.
- Fix the cause, never the symptom.
- Leave a trail.

New to it? Browse example flywheels for CLIs, libraries, services, frontends, and ML projects. Steal it, fork it, no attribution needed.

How it works

Not a poster. Context your agent reads.

FLYWHEEL.md is not a wall poster or a checklist humans nod at. It is context your coding agent loads before it acts, the same way it reads AGENTS.md, and it changes what the agent does at every step.

So why a file at all? You already have these steps. What's new is that an autonomous agent now runs them at machine speed. The gates and the evidence bar are what keep a closed loop from shipping confident, untested change while you sleep.

Make it default context

How agents actually load it.

No tool reads a file named FLYWHEEL.md on its own. But every coding agent already loads AGENTS.md (or its own CLAUDE.md, .cursor/rules, GEMINI.md). So you don't wire up a new file per tool. You point the file they already read at this one. One line, and the loop rides in with it.

AGENTS.md
## Process
Follow the loop in ./FLYWHEEL.md for every change.
Don't mark a stage done without the evidence it requires.
Stop at any gate marked (human) and wait for a person.

Paste that into the context file your agent already reads. Because that file is auto-loaded, FLYWHEEL.md travels with it, for Claude Code, Cursor, Codex, Gemini CLI, and anything else that honors AGENTS.md. No plugin, no per-tool config to keep current.

Why this file exists

Writing code was never the hard part.

Agents can write code all day. The hard part is everything after: does it actually work, in production, for a real person? And can you prove it?

That's the loop: ship → verify → learn → improve. Run it with discipline and software starts improving itself, safely. Run it without and you get confident, untested, unobservable change, at machine speed. The question under every autonomous codebase: what happens when the loop closes without a human in it?

This isn't theoretical. When agentic coding became the default inside Anthropic's own Claude Code org, the bottleneck moved: coding stopped being the slow part, and verification, review, and ownership became it. The old norms quietly stopped working and had to be rewritten to keep shipping (Fiona Fung, Code w/ Claude 2026). FLYWHEEL.md is where you write the new ones down.

Another way to see it: a company without this loop is an open-loop control system. Decisions go out, signal comes back lossy and late, error compounds, the system drifts. With agents in the work, the drift is at machine speed. A flywheel is the closed loop: tight feedback into the next turn, so error stays in check (Diana Hu, YC, Stanford CS 153).

AGENTS.mdwhat to do (the project's instructions)
SOUL.mdwho to be (the agent's identity)
FLYWHEEL.mdhow to ship, and how to know you did
The loop

The stages a change travels.

This is what's inside FLYWHEEL.md: the four stages a change moves through, the same four the wheel turns. Each stage has a finish line, and some have a gate, a point where the agent stops and waits for a human before going on. Four is the default. Split Ship into plan, build, and review, or add stages, to match how your team works.

Three things to read here: the stages (the steps a change travels), the gates (where a human stays in control), and the bar (the rules that hold at every stage).

01

Ship

Plan the approach and name the blast radius, build in small reversible steps, review your own diff, tests, and data flow, then merge, release, and deploy. Land the whole chain, not just the merge.

Done when: the change is live where users are.Gate: a human signs off before anything risky or irreversible, and optionally reviews before merge.
02

Verify

Prove it works in production, by you, with evidence: a real request, a screenshot, real output. Better yet, automation that catches it before you or a user does. Your evidence is your eval, the one you trust for your product, not someone else's leaderboard.

Done when: you have seen it work for real. Passing tests are not the same as proof.
03

Learn

Capture what actually happened: cost, regressions, the surprise, user feedback.

Done when: you know what this turn really cost and changed.Gate (often): wait for real-world signal before the next turn.
04

Improve

Fix the cause, raise the bar, delete the toil.

Done when: the next turn starts smarter than this one did.

Read the full FLYWHEEL.md on GitHub →

Humans stay in the loop. A flywheel is not "run unattended forever." It says exactly where a human gates a stage and the agent pauses for feedback, then resumes when you reply. Put the gates where human judgment still wins: risk and trust boundaries, irreversible changes, legal, and product taste. And keep the gates themselves deterministic, written as code your CI runs, not as instructions the agent grades itself on. The agent's work between gates is latent; the gates and the evidence are not. A CLI, a model, and a web service each get a different loop and different gates.

Principles

A few rules that hold every turn.

The loop is the shape of your process. These don't change between stages, whatever stages you choose.

FAQ

The questions people actually ask.

Does an agent read FLYWHEEL.md automatically?

No. Tools load AGENTS.md or CLAUDE.md, not an arbitrary file in your repo. Reference FLYWHEEL.md from there with one line and it travels with them on every run. See how agents load it.

Do I need all four stages?

No. Ship, Verify, Learn, and Improve are the default. Split a stage, add one, remove one, or reorder to match how your project actually ships. The shape is yours; the discipline is the point.

Is the process enforced?

No. It's instructions an agent follows, like any other guidance, not hard enforcement. To make a gate actually block, wire the same rule into your CI. The file makes the intent explicit; your pipeline makes it binding.

What if it conflicts with AGENTS.md?

They don't compete. AGENTS.md says what to do, FLYWHEEL.md says how to ship it. An explicit prompt from you overrides both.

How is this different from a definition-of-done checklist?

A checklist is a one-time gate you pass or fail. A flywheel is a loop: Learn feeds the next turn, so each change starts smarter than the last. It compounds instead of resetting.

Can I update it later?

Yes. Treat it as living documentation that lives in your repo, next to the code, in the loop. A doc that lives outside the loop rots.

One honest note

A loop you can't see is a liability.

This only works if you can actually watch the loop run: every iteration, every cost, every change. Use whatever observability you already trust. The standard is open and tool-agnostic.

The loop is the discipline. The proof is the evidence.

FLYWHEEL.md is maintained by the team behind ClawMetry, observability for AI agents. The file costs nothing and needs no tool to adopt.