COMPOSE · AIM · RUN IN PARALLEL

POINT AT THE CODE.PICK YOUR AGENT.

then let a dozen of them run at once

Ensemble maps how your codebase actually connects, so you can start a task from any file, module or function. Build your own agents out of skills you can read, decide which one gets which job, and run them all at once.

Works with Claude, Codex and Cursor · your keys, your repo · nothing leaves your machine

ensemble.dev/acme/checkout

WORKSPACES

six agents, one afternoon

Six worktrees, six branches. Nothing touches main until you say so.

Pull mainCompare models

Describe a task and I’ll spin up a worktree for it…

Backend agentFrontend agentReviewer+3 ⌄
Start agent
All 6Running 2Needs review 2Failed 1Done 1agents come from .ensemble/agents · sorted by last activity

auth-refresh

runningOpus 5

Move session refresh off the request path and add a background token rotator.

Editing src/auth/rotate.ts4m 12s
read14edit9bash3tool calls
editsrc/auth/rotate.ts+41 −12
bashpnpm typecheckpassed
agent/auth-refresh7 files+214−86Open →

stripe-webhooks

runningOpus 5

Make webhook handling idempotent and backfill the missing event types.

Running pnpm test --filter billing2m 05s
read8edit4bash6tool calls
bashpnpm test billing12 passed
editwebhooks/handler.ts+63 −8
agent/stripe-webhooks4 files+132−41Open →

flaky-e2e

needs reviewCodex

Find why checkout.spec.ts fails one run in five and fix the root cause.

Waiting on your review11m 40s
read22edit5bash14tool calls
bashvitest --repeat 4040/40 passed
editcheckout.spec.ts+9 −74
agent/flaky-e2e3 files+58−120Review →

dark-mode-pass

failedOpus 5

Audit every component for hardcoded colours and route them through tokens.

Build failed — 3 type errors in ui/Button.tsx8m 51s
read41edit19bash5tool calls
bashtsc --noEmit3 errors
editui/Button.tsx+22 −31
agent/dark-mode19 files+402−388See error →
Recently closedSee all 41
perf-imagesneeds reviewCursoragent/perf-imagesLCP 2.9s → 1.4s6 files+167−94Review →
copy-cleanupmergedOpus 5agent/copy-cleanupmerged 20 minutes ago12 files+88−96View →

Every agent aimed at a part of the map. Every skill visible before it runs.

THE IDEA

YOUR AGENTS. YOUR CODE. SIDE BY SIDE.

Coding should feel like directing, not babysitting. Everything here is built to be pointed at, read and understood before it runs.

COMPOSE YOUR OWN AGENTS

Build an agent from skills, tools and a model, name it, and keep it. A reviewer, a test-writer, a refactorer — shaped the way you work, not the way a vendor guessed.

DECIDE WHICH AGENT GETS WHAT

Route every task to the agent that suits it, and hand it to a different one mid-run. No single generalist doing everything a little bit badly.

SKILLS YOU CAN ACTUALLY READ

Open any skill and see what it does, what it is allowed to touch and when it fires. No black box, no guessing why a run went sideways.

START FROM ANY PART OF THE MAP

A live map of how your codebase connects. Click a file, a module or a function and start the task right there, with the context already loaded.

STOP BABYSITTING.START DIRECTING.

the fun part of coding, back where it belongs

Start free

No card. Runs locally against your repo.