/tandem-orchestration
MASTER SKILL for the tandem orchestration system. Governs the whole hierarchy: the human at the top, the chatbot (Claude.ai or ChatGPT) as director, a manager Claude Code session as reviewer/planner, a worker Claude Code session as builder (which spawns agent teams), and
$ npx -y skills add Maxmedawar/tandem --skill tandem-orchestration --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/tandem-orchestration
Context preview
The summary Claude sees to decide when to auto-load this skill.
MASTER SKILL for the tandem orchestration system. Governs the whole hierarchy: the human at the top, the chatbot (Claude.ai or ChatGPT) as director, a manager Claude Code session as reviewer/planner, a worker Claude Code session as builder (which spawns agent teams), and
SKILL.md
tandem-orchestration.SKILL.mdname: tandem-orchestration
description: "MASTER SKILL for the tandem orchestration system. Governs the whole hierarchy: the human at the top, the chatbot (Claude.ai or ChatGPT) as director, a manager Claude Code session as reviewer/planner, a worker Claude Code session as builder (which spawns agent teams), and sub-agents doing parallel work. EVERY layer reads this. Trigger on ANY request that spins up tandem sessions, starts a relay, or does multi-session work — e.g. 'start tandem', 'spawn a Claude Code session', 'open a manager/worker'. When triggered, begin your first message with 🏗️🏗️🏗️🏗️🏗️ so the user knows orchestration is active. If anyone at any layer tries to skip the protocol, STOP THEM."
Tandem Orchestration Protocol
🏗️🏗️🏗️🏗️🏗️ — Full orchestration active. Every layer follows this doc.
Tandem is an MCP bridge that lets a chatbot (Claude.ai or ChatGPT) spin up and drive real, interactive Claude Code sessions on your own machine, on your own subscription. This skill is how the whole system coordinates so the human can step out of the loop.
---
Non-negotiable rules (do these every session)
These three rules ARE tandem. They are MANDATORY, not optional features. They run EVERY session, no exceptions. If you catch yourself skipping one, STOP and do it.
Rule 1 — Close the loop through the browser (MANDATORY)
1. At session start, before ANY autonomous work, the director MUST ask the user for the URL of their claude.ai or ChatGPT chat tab (the tab you are talking in). The director MUST keep asking until the user gives it — no URL, no autonomous work. 2. The director MUST hand that URL to the manager, and the manager MUST keep it for the whole session. 3. EVERY time a Claude Code session finishes a piece of work, it MUST report back into that chat by driving Claude-in-Chrome in THIS EXACT ORDER: (a) go to the stored chat URL, (b) REFRESH the page, (c) click the input box, (d) type the update, (e) send. Refresh-before-send is REQUIRED every single time — never skip the refresh. 4. The director MUST treat a manager browser-typed message as the loop continuing (NOT a human paste): read the session over MCP, decide the next move, and send it back down. The loop runs until the goal is done, blocked, or the user stops it.
Rule 2 — Start sessions right and use Plan Mode on purpose (MANDATORY)
1. You MUST open every Claude Code session with `claude --dangerously-skip-permissions` so autonomous turns do not stall on approval prompts. open_session already defaults to this — keep it on. 2. The worker session MUST run on ultracode. Run `/effort ultracode` (xhigh thinking + dynamic workflow orchestration) in the worker before any real build — it is the builder that spawns agent teams and runs the perfection loop, so it always gets the highest effort. The manager and director stay on high. NEVER run a real worker build on less than ultracode. 3. You MUST decide Plan Mode deliberately per task. Any task that writes or changes code, touches more than one file, or is otherwise non-trivial MUST start in Plan Mode and get its plan approved through the loop BEFORE building. Tiny or read-only tasks skip Plan Mode. 4. Use the slash commands when they fit: `/model`, `/effort`, `/status`, `/mcp`, and plan mode when needed. Pass them straight through.
Rule 3 — Always offer full autonomy and get a clear yes or no (MANDATORY)
1. Before any long run, the director MUST ask the user plainly whether they want it fully autonomous — manager, worker, and the browser loop driving on their own for a while — or to step through it together. 2. The director MUST keep asking until the user clearly answers yes or no. Never assume. 3. The director MUST NEVER start a long autonomous run without an explicit yes. 4. If YES: run the full goal loop autonomously (manager plans, worker builds, you review each round and report back through the browser loop) until the goal is met, blocked, or you need the user. Only buzz their phone when finished, blocked, or needing an answer. 5. If NO: stay step-by-step with the user in the middle of every round.
---
THE HIERARCHY
HUMAN (top of chain)
In when they want, out when they don't. Sets goals. Final call.
|
v
CHATBOT (director / strategist) — Claude.ai OR ChatGPT
Brainstorms with the human. Writes specs. Reviews manager output.
Drives sessions via the tandem MCP (open_session, send_to_session, relay).
|
v
MANAGER CC SESSION (reviewer / lead)
Reviews worker output. Plans next steps. Keeps disk-backed memory.
Reports back UP to the director via the browser loop (below) or a phone push.
Runs in the project directory.
|
v (relay: lead <-> worker)
WORKER CC SESSION (builder)
Does ALL hands-on work. Spawns agent teams. Runs the internal PERFECTION LOOP:
build -> self-review -> devil's advocates -> retest -> improve -> repeat until it can't improve it.
|
v (agent-organizer, multi-agent-coordinator)
SUB-AGENTS (parallel workers)
Implementers, concurrent reviewer, test-automator, AND adversarial devil's-advocate agents.
Inherit the parent worker's model.The director, manager, and worker are all AI. The human only enters when they choose to.
---
REQUIREMENTS — THE CLOSED LOOP ONLY WORKS IF ALL OF THESE ARE TRUE
The autonomous loop (manager reports back to the chat tab on its own) has hard requirements. Check them at the start of every tandem session and tell the user plainly if one is missing:
1. **The computer is ON and awake.** Tandem spawns real Claude Code sessions in tmux on the local machine. If the machine is asleep or off, nothing can spawn. (Set the machine to never sleep on power for long runs.) 2. **The tandem MCP is connected** to the chatbot (Claude.ai or ChatGPT). 3. **You are in Chrome.** The return loop uses the Claude browser extension, which is Chrome-only. 4. **The Claude browser extension ("Claude in Chrome") is installed and signed in.** This is what lets the
Read more
name: tandem-orchestration description: "MASTER SKILL for the tandem orchestration system. Governs the whole hierarchy: the human at the top, the chatbot (Claude.ai or ChatGPT) as director, a manager Claude Code session as reviewer/planner, a worker Claude Code session as builder (which spawns agent teams), and sub-agents doing parallel work. EVERY layer reads this. Trigger on ANY request that spins up tandem sessions, starts a relay, or does multi-session work — e.g. 'start tandem', 'spawn a Claude Code session', 'open a manager/worker'. When triggered, begin your first message with 🏗️🏗️🏗️🏗️🏗️ so the user knows orchestration is active. If anyone at any layer tries to skip the protocol, STOP THEM."
Tandem Orchestration Protocol
🏗️🏗️🏗️🏗️🏗️ — Full orchestration active. Every layer follows this doc.
Tandem is an MCP bridge that lets a chatbot (Claude.ai or ChatGPT) spin up and drive real, interactive Claude Code sessions on your own machine, on your own subscription. This skill is how the whole system coordinates so the human can step out of the loop.
---
Non-negotiable rules (do these every session)
These three rules ARE tandem. They are MANDATORY, not optional features. They run EVERY session, no exceptions. If you catch yourself skipping one, STOP and do it.
Rule 1 — Close the loop through the browser (MANDATORY)
1. At session start, before ANY autonomous work, the director MUST ask the user for the URL of their claude.ai or ChatGPT chat tab (the tab you are talking in). The director MUST keep asking until the user gives it — no URL, no autonomous work. 2. The director MUST hand that URL to the manager, and the manager MUST keep it for the whole session. 3. EVERY time a Claude Code session finishes a piece of work, it MUST report back into that chat by driving Claude-in-Chrome in THIS EXACT ORDER: (a) go to the stored chat URL, (b) REFRESH the page, (c) click the input box, (d) type the update, (e) send. Refresh-before-send is REQUIRED every single time — never skip the refresh. 4. The director MUST treat a manager browser-typed message as the loop continuing (NOT a human paste): read the session over MCP, decide the next move, and send it back down. The loop runs until the goal is done, blocked, or the user stops it.
Rule 2 — Start sessions right and use Plan Mode on purpose (MANDATORY)
1. You MUST open every Claude Code session with `claude --dangerously-skip-permissions` so autonomous turns do not stall on approval prompts. open_session already defaults to this — keep it on. 2. The worker session MUST run on ultracode. Run `/effort ultracode` (xhigh thinking + dynamic workflow orchestration) in the worker before any real build — it is the builder that spawns agent teams and runs the perfection loop, so it always gets the highest effort. The manager and director stay on high. NEVER run a real worker build on less than ultracode. 3. You MUST decide Plan Mode deliberately per task. Any task that writes or changes code, touches more than one file, or is otherwise non-trivial MUST start in Plan Mode and get its plan approved through the loop BEFORE building. Tiny or read-only tasks skip Plan Mode. 4. Use the slash commands when they fit: `/model`, `/effort`, `/status`, `/mcp`, and plan mode when needed. Pass them straight through.
Rule 3 — Always offer full autonomy and get a clear yes or no (MANDATORY)
1. Before any long run, the director MUST ask the user plainly whether they want it fully autonomous — manager, worker, and the browser loop driving on their own for a while — or to step through it together. 2. The director MUST keep asking until the user clearly answers yes or no. Never assume. 3. The director MUST NEVER start a long autonomous run without an explicit yes. 4. If YES: run the full goal loop autonomously (manager plans, worker builds, you review each round and report back through the browser loop) until the goal is met, blocked, or you need the user. Only buzz their phone when finished, blocked, or needing an answer. 5. If NO: stay step-by-step with the user in the middle of every round.
---
THE HIERARCHY
HUMAN (top of chain)
In when they want, out when they don't. Sets goals. Final call.
|
v
CHATBOT (director / strategist) — Claude.ai OR ChatGPT
Brainstorms with the human. Writes specs. Reviews manager output.
Drives sessions via the tandem MCP (open_session, send_to_session, relay).
|
v
MANAGER CC SESSION (reviewer / lead)
Reviews worker output. Plans next steps. Keeps disk-backed memory.
Reports back UP to the director via the browser loop (below) or a phone push.
Runs in the project directory.
|
v (relay: lead <-> worker)
WORKER CC SESSION (builder)
Does ALL hands-on work. Spawns agent teams. Runs the internal PERFECTION LOOP:
build -> self-review -> devil's advocates -> retest -> improve -> repeat until it can't improve it.
|
v (agent-organizer, multi-agent-coordinator)
SUB-AGENTS (parallel workers)
Implementers, concurrent reviewer, test-automator, AND adversarial devil's-advocate agents.
Inherit the parent worker's model.The director, manager, and worker are all AI. The human only enters when they choose to.
---
REQUIREMENTS — THE CLOSED LOOP ONLY WORKS IF ALL OF THESE ARE TRUE
The autonomous loop (manager reports back to the chat tab on its own) has hard requirements. Check them at the start of every tandem session and tell the user plainly if one is missing:
1. **The computer is ON and awake.** Tandem spawns real Claude Code sessions in tmux on the local machine. If the machine is asleep or off, nothing can spawn. (Set the machine to never sleep on power for long runs.) 2. **The tandem MCP is connected** to the chatbot (Claude.ai or ChatGPT). 3. **You are in Chrome.** The return loop uses the Claude browser extension, which is Chrome-only. 4. **The Claude browser extension ("Claude in Chrome") is installed and signed in.** This is what lets the
Showing the first part of this file.
Tandem is an MCP bridge that lets a chatbot (Claude.ai or ChatGPT) spin up and drive, interactive Claude Code sessions on your own machine. Runs 2 sessions in a lead/worker loop that works autonomously. Also makes claude code respond to the initial Chatbot through the browser so it can respond back.
Repo: Maxmedawar/tandem
Other skills on tandem.
- /tandem-agentic-engineering
The worker session's bible for the tandem system: how a Claude Code worker assembles and drives a team of agents to build real features. Trigger on any real development, debugging, or feature work — build, create, implement, fix, add, develop, code, debug, ship, refactor — or
Open skill - /tandem-engineering-workflow
The STANDARD engineering workflow for the tandem system. Trigger on any development, debugging, or feature work driven through tandem — build, create, implement, fix, add, develop, code, debug, or when a Claude Code session's output is being reviewed, or a plan/phase is being
Open skill

