DEV Community

Cover image for QualityLayer: put the engineer back in the loop of your coding agent
Max Ritter
Max Ritter

Posted on Originally published at qualitylayer.dev

QualityLayer: put the engineer back in the loop of your coding agent

I use plan mode in Claude Code, Codex and Cursor for small changes. The agent reads the relevant code and asks me a couple of questions. Then it writes a plan.

For a change that touches one or two files, that's all I need. For bigger changes plan mode keeps letting me down, and it's always for the same reasons.

Only I can see the plan

The first is that the plan is chat text in my session, and I'm the only person who sees it. Plan modes are neither collaborative nor visual.

That sounds abstract until the change touches the payment code. A colleague of mine knows that code much better than I do. They could look at the plan and say "not there" before the agent puts the new logic in the wrong place.

They never get that chance, because the plan only exists in my chat with the agent.

Long text hides the structure

The second is length. A long text plan hides its structure.

When the plan wires two modules together the wrong way, that wrong dependency is a sentence somewhere in paragraph four, and I read straight past it. In a diagram I would see the same mistake in seconds.

The same wrong dependency shown twice. On the left it is one sentence in paragraph four of a text plan. On the right it is a red dashed arrow in a small module diagram, easy to spot.

The plan as a shared document

I believe the future is humans and agents working together, with everybody becoming a manager of agents. That only works if the people who know the users and the codebase can see the plan while changing direction is still easy.

A private conversation between me and a model doesn't give them that.

So in QualityLayer the plan is a document in the repo. Each engineering decision gets two sentences. Parts with several moving pieces get a diagram, because that's where wrong dependencies show up.

The agent marks the items it was unsure about, so I read those first. I can comment on any part of the plan and the agent answers in the document.

When the plan is right I approve it, and the build doesn't start before that.

Side by side comparison. Plan mode: chat text in my session that only I see, not visual, with the structure hidden in long text. A document in the repo: a diagram, decisions with an unsure marker, a colleague's comment saying not there, and an Approve Plan button.

Bringing in the team

The team part is what fixes the payment problem. I can share a plan and ask one colleague about one specific decision.

They answer in the QualityLayer App, or they let their own agent draft an answer and send it after they've read it.

People without an account, a designer or a product manager for example, can join through a guest link. For product people there is a Product level. There the plan shows what changes for users first and keeps the engineering detail one click away.

After the approval

Once I approve the plan, the agent builds it in small slices, and each slice starts with a failing test.

When the build is done, an agent that didn't write the code checks every point we agreed on and shows me the evidence.

At Review I approve the finished change and QualityLayer opens the pull request. It never merges anything.

The plan and the evidence stay in the repo, so whoever reviews the pull request can read why the change looks the way it does.

The seven QualityLayer steps in a row: Discuss, Research, Plan, Outline, Implement, Verify, Review. At Plan I approve the plan before any code exists. At Review I approve the finished change, and QualityLayer opens the pull request but never merges it.

Try part of it with any agent

You can get part of this today with any agent and no extra tool:

  1. Ask it to write the plan as a Markdown file with a Mermaid diagram for each decision.
  2. Commit it and open a pull request that contains only the plan.
  3. Ask the person who knows the risky part of the code to comment on it.

It takes a few minutes, and their comments arrive before a single line of the change exists.

QualityLayer runs with Claude Code, Codex, OpenCode, Pi, Cursor, Grok and Antigravity. What I want from it is to be an engineer again, with my attention on the decisions while the agent does the typing.

https://github.com/maxritter/qualitylayer

Top comments (0)