tutti

Orchestrate multiple AI coding agents (Claude Code, Codex, Aider) from a single config — launch teams, run workflows, track capacity, and manage handoffs.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "tutti" with this command: npx skills add nutt-adam/tutti

Tutti — Multi-Agent Orchestration

Orchestrate a team of AI coding agents from a declarative tutti.toml config. Launch agents in isolated git worktrees, run verification workflows, track token usage, and manage context handoffs — all through a single CLI.

When to use this skill

Use when the user asks you to:

  • Launch, monitor, or stop a team of AI coding agents
  • Run or verify automated workflows across agents
  • Dispatch prompts to agents with auto-start and output capture
  • Land agent work back to the main branch or open PRs
  • Check agent status, health, or capacity usage
  • Generate or apply context handoff packets
  • Coordinate multi-agent development workflows

Prerequisites

  1. tt binary installed and on PATH (install from https://github.com/nutthouse/tutti)
  2. tmux installed
  3. python3 available
  4. A tutti.toml config file in the workspace root

Always run preflight checks before starting a workflow:

python3 tutti_openclaw.py doctor_check

Actions

All actions go through the wrapper script. Every action returns a consistent JSON envelope:

{
  "ok": true,
  "action": "action_name",
  "command": ["tt", "..."],
  "exit_code": 0,
  "data": {},
  "stdout": "",
  "stderr": ""
}

Lifecycle

ActionCommandPurpose
doctor_checkpython3 tutti_openclaw.py doctor_checkPreflight: verify tools, config, and environment
launch_teampython3 tutti_openclaw.py launch_teamLaunch all agents defined in tutti.toml
launch_agentpython3 tutti_openclaw.py launch_agent <name>Launch a single agent
send_promptpython3 tutti_openclaw.py send_prompt <agent> <prompt...> [--auto-up] [--wait] [--output]Send a prompt to an agent with optional auto-start, wait-for-idle, and output capture
team_statuspython3 tutti_openclaw.py team_statusRead agent states from .tutti/state/
agent_outputpython3 tutti_openclaw.py agent_output <name> --lines 50Peek at an agent's terminal output
stop_agentpython3 tutti_openclaw.py stop_agent <name>Stop a single agent
stop_teampython3 tutti_openclaw.py stop_teamStop all agents

Workflows

ActionCommandPurpose
list_workflowspython3 tutti_openclaw.py list_workflowsDiscover available workflows
plan_workflowpython3 tutti_openclaw.py plan_workflow <name> [--strict]Dry-run a workflow
run_workflowpython3 tutti_openclaw.py run_workflow <name> [--agent <a>] [--strict]Execute a workflow
verify_teampython3 tutti_openclaw.py verify_team [--workflow <w>] [--strict]Run verification workflow
read_verify_statuspython3 tutti_openclaw.py read_verify_statusRead last verification result

Git Operations

ActionCommandPurpose
land_agentpython3 tutti_openclaw.py land_agent <agent> [--pr] [--force]Land an agent's branch back to current branch, or open a PR

Handoffs

ActionCommandPurpose
generate_handoffpython3 tutti_openclaw.py generate_handoff <agent> [--reason <r>]Capture agent context to a packet
apply_handoffpython3 tutti_openclaw.py apply_handoff <agent> [--packet <path>]Inject a handoff packet into an agent
list_handoffspython3 tutti_openclaw.py list_handoffs [--agent <a>] [--limit 20]List available handoff packets

Permissions

ActionCommandPurpose
permissions_checkpython3 tutti_openclaw.py permissions_check <cmd...>Check if a command is allowed by policy

Workflow step types

Workflows in tutti.toml support these step types:

TypePurposeKey fields
promptSend text to an agent sessionagent, text, inject_files, wait_for_idle, wait_timeout_secs
commandExecute a shell commandrun, cwd, timeout_secs, fail_mode
ensure_runningStart an agent if not already runningagent, fail_mode
workflowExecute another workflow as a nested stepworkflow, agent, strict, fail_mode
landLand an agent's branchagent, pr, force, fail_mode
reviewSend an agent's diff to a revieweragent, reviewer, fail_mode

Prompt steps support inject_files — an array of workspace-relative file paths that are copied into the agent's worktree before the prompt is sent. This enables stateful context passing between agents (e.g., injecting a snapshot JSON produced by another agent).

Nested workflow steps enable composition: observe → dispatch → fix → verify → land as a chain of workflow invocations.

Execution pattern

Follow this sequence for orchestrating a workspace:

  1. Preflightdoctor_check. Stop and report if non-zero.
  2. Launchlaunch_team or launch_agent <name>.
  3. Monitorteam_status and agent_output <name> to observe progress.
  4. Dispatchsend_prompt <agent> "do something" --auto-up --wait --output to dispatch work and capture results.
  5. Workflowlist_workflows to discover, then run_workflow <name>.
  6. Verifyverify_team --strict for gate-style quality checks.
  7. Landland_agent <agent> to cherry-pick work, or land_agent <agent> --pr to open a PR.
  8. Handoffgenerate_handoff <agent> when context is high, apply_handoff <agent> to resume.
  9. Stopstop_team or stop_agent <name> when done.

Failure handling

  • Non-zero exit: Surface the action, command, and stderr from the JSON envelope. Do not retry blindly.
  • Verify warnings (non-strict): Report as warning. Include data from read_verify_status.
  • Missing state files: Treat as transient — retry up to 3 times with short delays. If still missing, the workspace may not have been launched.
  • Auth failures: If stderr contains auth errors, stop and escalate to the user. Do not retry auth failures.
  • Agent not running: Use --auto-up on send_prompt to automatically start agents on demand rather than failing.

Configuration override

If tt is not on PATH or you need a specific version:

python3 tutti_openclaw.py --tt-bin /path/to/tt doctor_check
# or via environment variable
TUTTI_BIN=/path/to/tt python3 tutti_openclaw.py doctor_check

Rules

  • Always run doctor_check before any launch or workflow operation.
  • Never retry auth failures — escalate to the user immediately.
  • Prefer team_status (reads state files directly) over agent_output for status checks.
  • Use --strict flag on verify_team and run_workflow when results gate further actions.
  • Use --auto-up on send_prompt when the target agent may not be running.
  • Use --output on send_prompt to capture the agent's response for programmatic verification.
  • Use --json output from tt commands when you need structured data (the wrapper handles this automatically).
  • Do not parse stdout text output — always use the data field from the JSON envelope.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

PinchTab Browser Ops

Browser automation via PinchTab CLI (nav/snap/find/click/fill/press/text) with low-token accessibility-tree flow. Use when the user asks to operate websites,...

Registry SourceRecently Updated
Coding

Aigames

Create a mini HTML game, organize files in a new folder, and upload it to the brianclan/aigames GitHub repo for www.thenext.games.

Registry SourceRecently Updated
Coding

Api Tester Cn

API请求构造、curl命令生成、Mock数据、API文档、HTTP状态码速查、Headers说明。API request builder, curl generator, mock data, API documentation, HTTP status codes, headers reference. Us...

Registry SourceRecently Updated
Coding

Miaoda App Builder

Create, modify, generate, and deploy websites, web apps, dashboards, SaaS products, internal tools, interactive web pages, Weixin mini program , games on the...

Registry SourceRecently Updated