skip to content

loom takes an ambitious plan — bigger than any single agent could hold in context — and builds it autonomously.

A shop jig, not a product

loom isn't for sale and isn't open source. It's a personal tool — built for my own work, kept here for my own reference and to show friends how it runs. This whole site is that: a reference, not a pitch.

The framing that fits it best comes from a comment on agent harnesses generally — they're shop jigs. You can buy one, but most makers just build their own to fit their own hands.

The source lives at github.com/martineriksson/loom — accessible to team members. If you'd seriously like to try, license, or build something around loom, I occasionally say yes to what interests me: martin@cor.ax.

tptacek · hn
The thing about things like this is that they're shop jigs. You can buy a crosscut sled if you really want to, but most woodworkers just make their own.
the shape of a run
✓ planprose → sprints
✓ gatebuilt & verified
per sprint · the cycle repeats
sprint 1 ✓
✓ execute
✓ gate
fix
review
sprint 2 ▸
✓ execute
▸ gate
fix
review
sprint 3… pending — same cycle
mergewhen all green

The flat build (--sprints). One gate is built and verified up front; then every sprint runs the same execute → gate → fix → review cycle in its own worktree, is committed, and is re-derived from the ledger on resume. When all sprints are green, loom merges to main.

Coding agents are great at thinking and planning and bad at carrying out anything complex. The reason is structural: a context window fills fast, and once it's ballooned to 200k–300k tokens the model gets slow and stupid — and keeps chugging along as if that were fine. Fanning out to sub-agents is a marginal band-aid: the top-level agent fills its own context just reading their output.

So for anything bigger than a five-minute fix you're better off with an orchestrator. loom splits the work into many agent sessions, no single context growing large enough to rot, and makes the top level a plain script instead of a context-incontinent agent — immune to overload by construction. You still get state-of-the-art reasoning, just invoked exactly where it's needed: "make a plan", "execute this", "review this", "resolve this conflict".

loom itself runs no LLM and never reasons about the code. It is a deterministic orchestrator: it sequences agents, runs the gate itself, records an auditable ledger, and stops on trouble.

the key idea
Agent harnesses are great at planning and terrible at implementing anything complex — because their context fills up and their reasoning rots. loom keeps every context small and lets a dumb script, not a degrading agent, hold the whole job together.
some loom features
Autonomous planning
prose plan → sprints + gate, no manual decomposition.
Fresh-context pipeline
implement → gate → fix → review, a new agent per step.
Ground-truth gating
loom runs the real gate after every code-mutating step.
Isolated worktrees
each sprint built off to the side, merged only when green.
Self-healing
red gate → bounded fix loop → investigate → stop; transient API blips retried.
On-the-fly re-planning
a sprint's review can rewrite the remaining plan.
Auditable & resumable
committed ledger means a crash costs nothing; resume is just re-running.
Pluggable harnesses
Claude Code, Codex, OpenCode, Gemini — chosen per role.
Sandboxed agents
each agent runs in a containment wrapper with a read-only main checkout.

try it — three launch forms

loom feature-plan.md
build the plan with the live TUI monitor
loom feature-plan.md --headless
plain line output — cron / remote / piped
loom feature-plan.md --detach
launch in a session that outlives your shell
go deeper