Hand Claude Code a settled spec and get a tested pull request back

Omid built Kraft to run Claude Code from spec to pull request. One run rebuilt Kraft's docs home page, 30 files and about 3,000 lines, in 69 minutes for $10.20 with two repair rounds.

Done withClaude CodeinGitHub· Nov 11, 2026

What they did

Omid used Claude Code daily on real repos, often in two or three sessions, and ended up acting as scheduler, test runner and memory. Omid built Kraft, an open-source local tool that runs Claude Code through a fixed chain of steps written in YAML. Omid settles the spec and plan in a normal session and files them with a work item. Kraft then has Claude Code implement the plan on its own branch in a separate git worktree, runs the tests in a step the agent does not control, sends failures to a repair step and lets a separate judge decide whether another round is worth it. It stops for Omid's review of the diff, then opens the pull request and runs CI and automated review. Each item has a spending cap.

How it went

The example run built a new home page for Kraft's docs site: 30 files, 3,044 lines added and 466 removed, in two repair rounds. From hand-off to pull request took 69 minutes and cost $10.20, slightly over the $10 default cap because the cap is checked before each step, not during one. Omid says most of Kraft's own changes now go through it, with seven items running at the time of writing. By Omid's account it did not make the work faster; it ended the babysitting.

Worth knowing

The post is the author's launch of their own tool. The main lesson is that an agent saying tests pass meant nothing until a step outside its control ran them. Omid still uses a normal session for quick fixes and for work that needs steering every few minutes.

Try it

With Claude Code· 4 parts to fill in

Implement the plan in [spec and plan file] on a new branch in a separate git worktree, leaving my checkout alone. When you think you are done, run [test command] and show me the real output, not a summary. If tests fail, fix and rerun, up to [number] rounds, and tell me what changed each round. Stop if you would spend more than [budget] or need to change the spec. When tests pass, show me the full diff and wait for my approval before opening a pull request.

Square brackets are the parts to fill in. The prompt is ours; the story is theirs.

Where they said it

Related