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.

1 of 8 · You

Write what you want

Plain words in What you want. Both agents work from them, and the Challenger checks the result against them.

acme-web › Board › New card
StatusDraftBuilderClaudeChallengerNot reviewed yetChecksNot run yet
What you want
Sessions should last the number of days set in Settings, not a fixed hour.

Two roles, two vendors, one rule.

BuilderClaude

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
≠
ChallengerCodex

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.

iChallenge the plan before it is builtClaude and Codex each read the brief and review each other; you settle where they disagree, and the Builder starts with your decisions.Challenge the plan

On a card that is Ready to start, under What you want. For the cards where the plan itself is the risk.

Challenge the planOptional, before Start build: both vendors review the brief and each other; you settle where they disagree.
Start buildNothing starts by itself. You decide when a card begins.
Build doneYou confirm the Builder has finished; that snapshot is what gets checked and reviewed.
Click a line to comment on itYour line comments go to the Builder, never to GitHub.
Not right — tell them what’s wrongYour correction goes to the Builder, and can become a skill for every later review.
Accept the Builder’s pushbackWhen Claude disagrees with a finding and explains why, you settle it.
Ship it ▾Ship it merges here; Ship as a PR, in its menu, opens a pull request, which can merge on its own when its checks pass.

A Board that says what needs you.

Columns sort cards by attention, not by stage. Point at a column to see what lands there.

Needs you5
Something waits on a decision only you make.Ready to startChallenger requests changesReady to shipChecks failedSession closed
Working4
Something runs for the card right now.Working · 6mChallenger reviewingRunning checksShipping
Waiting3
Nothing runs and nothing is asked of you yet.In linePausedBlocked by another card
Done2
It shipped, or you closed it.ShippedPull request #88 merged

Prefer stages? The List view groups the same cards By stage, from To do to Finished. Plyloft remembers the choice per workspace.

Pro · Build with both

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.

acme-web›Board›Round half up
Round half up···
StatusBuilding with bothBuilderClaude and CodexChecksNot run yetChallengerNot reviewed yet
i
Claude’s build
Buildingon the CLI’s default modelStarted just now
Open sessionBuild done
Codex’s build
Buildingon the CLI’s default modelStarted just now
Open sessionBuild done
Stop building with both…

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.

Settings › This Mac › Claude and Codex
This workspace · landing-page
Claude Buildersonnet
Codex ChallengerCLI default
Rows say (this workspace) or (app default), so you always know which applies.
Team

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.

Cards on GitHub IssuesThe board lives on GitHub Issues. A card someone else has taken reads Claimed by alice · #14 on every teammate’s Board, and Start build asks before you claim it too.
Shared skillsTeam skills load in every member’s Claude and Codex sessions.
See before you grantCheck access shows every repository and permission before an invite is sent. Then: Invitation sent to alice. They accept it on GitHub, then join from Plyloft.
Overlapping editsBefore you ship, the result says Shipping both may conflict on, and names a teammate’s open pull request on the same files.
Everything a team can do →

See it on your own repo.

Plyloft is a desktop app for Mac and Windows. Send yourself the link for later.One email with the link. No newsletter unless you ask.
Free for one card at a time. The guided setup takes about ten minutes.

Get Pro

Seats, you included (2–50)
3
VAT included. Businesses in the EU can add a VAT number on the payment page.Founding price, kept for as long as your subscription runs.

Checking your sign-in…