One card, from a sentence
to a shipped change.
Drag the line, or use the arrow keys. Every step is what Plyloft does, with the words it shows.
Write what you want
Plain words in What you want. Both agents work from them, and the Challenger checks the result against them.
Press Start build
Plyloft makes the card its own copy of the repo, on its own branch, and opens Claude there. Your main branch is untouched.
Claude builds
Claude Code runs in a real terminal, signed in to your own plan. You can open the session at any time and talk to it.
Press Build done
When Claude says it has finished, you press Build done. Plyloft takes a snapshot of the work and runs your project’s checks.
Codex reviews, read-only
The other vendor reads the build cold. It follows your repository’s skills and says which. It can look at everything and change nothing.
Findings go to the Builder
Each finding sits under the line it names. They go straight to Claude; a serious issue also reaches your Inbox.
Claude fixes, Codex reads again
Every round is kept on the card: what it raised, closed or left open. If Claude disagrees with a finding, it says why, and you decide.
Ship it
Ship it merges on your machine. Its menu has Ship as a PR, which opens a pull request that can merge on GitHub once its checks pass.
Two roles, two vendors, one rule.
Writes the change in the card’s own worktree, in a real terminal you can open. Fixes what the review finds, or explains why not.
- Writes and tests in its own copy of the repo
- Gets every finding, line by line
- Can push back, with a reason you can read
The other vendor, read-only: it can look at everything and change nothing. It follows your skills and says which.
- Reads the build cold
- Anchors findings on the lines they name
- Finds nothing blocking, or requests changes
The rule: nothing reaches your main branch until you ship it, and you ship after the review has had its say.
Where you step in.
The agents do the work; the decisions stay yours. These are the buttons you press, by their names in the app.
On a card that is Ready to start, under What you want. For the cards where the plan itself is the risk.
A Board that says what needs you.
Columns sort cards by attention, not by stage. Point at a column to see what lands there.
Prefer stages? The List view groups the same cards By stage, from To do to Finished. Plyloft remembers the choice per workspace.
For the cards that matter, build it twice.
Claude and Codex each build the card in their own copy of the repository. Two build cards sit under Now while they work. When both are done, the Challenger compares them, says which it recommends and who judged, and you pick the one the card continues with.
Adds calcRoundHalfUp with ties away from zero for both signs, keeps the 2-decimal rounding exact for values like 1.005, and adds five tests and an npm test script.
The Challenger found no problems in it.Adds calcRoundHalfUp with two passing tests. It rounds 1.005 down to 1, because it multiplies before rounding.
The Challenger’s 2 findings- src/billing.js rounds 1.005 to 1: the multiply loses the half before rounding.
- src/billing.test.js does not cover negative ties.
The right model for each workspace.
A quick prototype and a payments service don’t need the same model. Set the Builder and Challenger models per workspace in Settings › This Mac › Claude and Codex › This workspace, or leave the CLI’s own default.
A team is a private GitHub repo.
Membership, the shared skills and the board live where your code already lives. Plyloft’s server only checks who holds a seat.