01 · One person, many agents
You repeat yourself to every tool
The same background, goals and constraints, pasted into each agent at the start of every session.
OrkiLab is one workspace for Claude Code, Codex, Cursor and every agent you use. They share context, hand work to each other mid-task, and every line they write is traced back to the agent and person behind it.
Found it: applyBundleRules() applies the loyalty rate again after applyLoyalty() already did. I'll fix it here and hand off the test and the docs so they run in parallel.
Codex's test fails on main and passes with the fix. Merging its patch now; I'll open the PR as soon as Cursor's docs land.
Message Claude Code… (/ for commands and skills, ! for shell)
12 agents supported today: 5 built in, 7 ready-made ACP presets, and any other agent that speaks ACP.
The problem
01 · One person, many agents
The same background, goals and constraints, pasted into each agent at the start of every session.
Dev A
Bundle pricing
Loyalty rules
Dev B
Port modal
Checkout copy
02 · A team on one agent
Everyone uses the same tool, but each person's sessions and the decisions in them stay locked on their own laptop.
03 · A team on different agents
Dev B hits a question about code Dev A's agent wrote. The agent knows the answer, and nobody can ask it.
Delegation
--waitWhy does applyLoyalty() run twice?
Answered
--need figma --writeMatch the checkout modal to the Figma frame
Ready to merge
--best-of 3 --writeSpeed up price calculation
Merged best of 3
--waitBlock on an answer you need right now, then carry on with it.
defaultLaunch the task and keep working. Collect the result when it lands.
--harness ×NSend one task to several agents at once, or to the same agent twice.
--needPick a ready agent that has the skill, plugin or MCP server the step requires.
Handoff
Added a byte-based budget and eviction in src/cache/lru.rs. Two tests are still red; the edge cases need a closer look at the UI that reads the cache.
Message Claude Code… (/ for commands and skills, ! for shell)
Message Cursor… (/ for commands and skills, ! for shell)
Continue on another harness
A new chat on the harness you pick takes over this Claude Code chat's work. It starts from the compressed conversation instead of a blank slate.
Carrying
pack vd2e1f2f (0.5 KB) · 2 summaries · last 2 messages · state block
The worktree moves to the new chat with its uncommitted changes.
Collaboration rooms
Everyone in the room sees each cursor as it types, whether it belongs to a person or an agent.
Queue tasks and assign them to any agent. Each one works in its own worktree and moves to review when done.
When an agent falls behind what the room has decided, send it an update in one click.
export function applyBundleRules(cart: Cart): Cart { const bundles = groupBundles(cart.items); for (const b of bundles) { if (b.loyaltyApplied) continue; b.price = b.price * (1 - cart.loyaltyRate); } // loyalty is applied once, upstream in applyLoyalty() return withTotals(cart, bundles);}function withTotals(cart: Cart, bundles: Bundle[]) { const subtotal = sum(bundles.map((b) => b.price)); return { ...cart, bundles, subtotal };}● Claude Code 44%● Codex delegate 33%● Arjun 12%● Priya, live 11%
Agent Blame
Developers
Agents running in OrkiLab call orkilab agent to find a capable peer, hand off work and collect results. Scripts and CI can use it the same way.
❯ orkilab agent delegate --need figma --explain "Match the checkout modal to the Figma frame"
checking ready harnesses for a skill, plugin or MCP server named figma
cursor figma MCP · ready · preferred for UI work
claude-code no match
→ routed to cursor (delegate chat_b81d07e3)
❯ orkilab agent delegate --harness codex --wait "Why does applyLoyalty() run twice?"
codex · working in a snapshot of this chat…
✓ answered in 38s
applyBundleRules() re-applies cart.loyaltyRate after applyLoyalty()
already did. Guard on b.loyaltyApplied or drop the second multiply.
❯ orkilab agent delegate --harness claude-code --harness opencode --harness devin "Review the combined diff"
3 delegates launched · this chat keeps working
claude-code chat_0bd5c6 working
opencode chat_6e48b3 working
devin chat_91a2fe working
collect with: orkilab agent wait --any
❯ orkilab agent delegate --harness codex --best-of 3 --write "Speed up price calculation"
3 attempts · each in its own Worktrunk worktree
attempt 1 +64 −22 bench 1.9×
attempt 2 +31 −18 bench 2.4×
attempt 3 +88 −40 tests failed
✓ merged attempt 2 · discarded 1 and 3
Under the hood
Needs review · 1
The cache must stay under 64 MB
Constraint found by Claude Code
Agents record findings and constraints as they work. You review each one once, and every agent sees it from then on.
Summaries: 1 · 9.2k → 1.3k tokens
Long sessions are compressed into summaries you can inspect and restore, so handoffs carry the decisions without the noise.
Every command, output, edit and reply from every agent lands in one searchable timeline that agents can query too.
main +72 −0
orkilab/chat/4f2a9c1e
orkilab/chat/b81d07e3
Agents that edit code each work in their own Worktrunk worktree. Their changes come back as patches you merge, so parallel work never collides.
Projects, conversations and worktrees stay local. OrkiLab drives the agent CLIs you already have installed and signed in to.
Built-in support for the major harnesses, presets for seven ACP agents, and a custom slot for anything else that speaks the Agent Client Protocol.
We're building the next layer of OrkiLab right now. People on the waitlist will see it first.
We're letting teams into the private beta in small batches. Join the waitlist for early access.