Agent skill

Tutti

by nutthouse in nutthouse/tutti

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

MITAuto-check passedAgent Workflows

Install Tutti

skills CLI
$ npx skills add nutthouse/tutti --skill tutti -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install nutthouse/tutti tutti --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/nutthouse/tutti.git skills-src && mkdir -p .claude/skills && cp -r skills-src/clawhub/tutti .claude/skills/tutti && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
tutti
GitHub stars
131
Token cost
~1.9k tokens
SKILL.md length
803 words
Files
4
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

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

  • Works in 4 steps: tt binary installed and on PATH (install… → tmux installed → python3 available → …
  • Agent Workflows work in your project
  • SKILL.md covers When to use this skill, Prerequisites, Actions and Workflow step types, plus 4 more sections
  • Runs Python scripts from its folder; calls python3

What it does

Tutti is an agent skill from nutthouse/tutti. Orchestrate multiple AI coding agents (Claude Code, Codex, Aider) from a single config — launch teams, run workflows, track capacity, and manage handoffs.

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `CHANGELOG.md`, `action-contract.json` and `tutti_openclaw.py`).

It sits in Agent Workflows. It works with Python. The repository describes itself as: Multi-agent orchestration CLI — your agents, all together. The licence is MIT.

When your agent uses it

  • Agent Workflows work in your project

Example prompts

  • “/tutti”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  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

What it can do on your machine

Read from SKILL.md and the folder at commit 6b86cca. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Tutti loads about 1.9k tokens when it runs. Until then it costs about 40 tokens; SKILL.md has 803 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~40
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from nutthouse/tutti at commit 6b86cca, republished under its MIT licence (© nutthouse). 803 words, ~1,880 tokens.

Download SKILL.mdSave it as .claude/skills/tutti/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
tutti
description
Orchestrate multiple AI coding agents (Claude Code, Codex, Aider) from a single config — launch teams, run workflows, track capacity, and manage handoffs.
version
1.1.0

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:

bash
python3 tutti_openclaw.py doctor_check

Actions

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

json
{
  "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.

Show full SKILL.md (295 more words)Show less

Execution pattern

Follow this sequence for orchestrating a workspace:

  1. Preflight — doctor_check. Stop and report if non-zero.
  2. Launch — launch_team or launch_agent <name>.
  3. Monitor — team_status and agent_output <name> to observe progress.
  4. Dispatch — send_prompt <agent> "do something" --auto-up --wait --output to dispatch work and capture results.
  5. Workflow — list_workflows to discover, then run_workflow <name>.
  6. Verify — verify_team --strict for gate-style quality checks.
  7. Land — land_agent <agent> to cherry-pick work, or land_agent <agent> --pr to open a PR.
  8. Handoff — generate_handoff <agent> when context is high, apply_handoff <agent> to resume.
  9. Stop — stop_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:

bash
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.

© nutthouse, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files in clawhub/tutti of nutthouse/tutti.

  • SKILL.md
  • CHANGELOG.md
  • action-contract.json
  • tutti_openclaw.py

Open the folder on GitHubat commit 6b86cca

Compare with similar skills

Tutti next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Tutti compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Tutti this skillnutthouse/tutti131—~1.9kAutomated safety check: PassMIT
MCP Server Builderanthropics/skills180k63 repos~2.3kAutomated safety check: PassApache-2.0
MCP Server BuildershareAI-lab/learn-claude-code78k5 repos~1.2kAutomated safety check: PassMIT
Mem0 CLI Memory Commandsmem0ai/mem067k—~2kAutomated safety check: NotesApache-2.0
MemPalace Setup and OperationMemPalace/mempalace59k—~2.2kAutomated safety check: PassMIT
Google Antigravity SDKgoogle-antigravity/antigravity-sdk-python3.7k—~2.1kAutomated safety check: NotesApache-2.0

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 63 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • MCP Server Builder

    shareAI-lab/learn-claude-code

    Walks through building MCP servers in Python or TypeScript that expose tools, resources and prompts to Claude, with templates, registration and testing.

    78k GitHub starsUsed in 5 repos~1.2k tokens
    Agent WorkflowsAuto-check passed
  • Adds, searches, lists, updates and deletes memories on the Mem0 platform from the terminal with the mem0 command, including a JSON mode built for agents.

    67k GitHub stars~2k tokensUpdated today
    Agent WorkflowsAuto-check: notes
  • Installs and configures MemPalace as a private local palace, a shared-brain hub or a client of an existing hub, including MCP registration and version-correct initialization.

    59k GitHub stars~2.2k tokensUpdated 2 days ago
    Agent WorkflowsAuto-check passed
  • Google Antigravity SDK

    google-antigravity/antigravity-sdk-python

    Design, implement, and debug autonomous AI agents and multi-agent systems using the Google Antigravity (AGY) SDK.

    3.7k GitHub stars~2.1k tokensUpdated 2 days ago
    Agent WorkflowsAuto-check: notes
  • Official

    Runs a nightly or on-demand sleep cycle for a local Codex agent: review past sessions, replay recurring tasks and stage validated skill and memory edits for adoption.

    18k GitHub stars~2.3k tokensUpdated 3 days ago
    Agent WorkflowsAuto-check passed

Works with

Categories

Questions about Tutti

What does Tutti do?

Orchestrate multiple AI coding agents (Claude Code, Codex, Aider) from a single config — launch teams, run workflows, track capacity, and manage handoffs. Tutti is an agent skill from nutthouse/tutti. Orchestrate multiple AI coding agents (Claude Code, Codex, Aider) from a single config — launch teams, run workflows, track capacity, and manage handoffs.

When should I use Tutti?

Tutti fits situations like: agent Workflows work in your project.

How do I install Tutti in Claude Code?

Run `npx skills add nutthouse/tutti --skill tutti -a claude-code`. Or copy the skill folder (clawhub/tutti in nutthouse/tutti) into .claude/skills/tutti in your project. Claude Code loads it when a task matches its description.

How do I install Tutti in Codex?

Run `npx skills add nutthouse/tutti --skill tutti -a codex`. Or copy the skill folder (clawhub/tutti in nutthouse/tutti) into .agents/skills/tutti in your project. Codex loads it when a task matches its description.

Can I use Tutti in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nutthouse/tutti --skill tutti -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/tutti, .gemini/skills/tutti, .github/skills/tutti and .opencode/skills/tutti in your project.

What does Tutti need to run?

Going by SKILL.md and its folder, Tutti needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Tutti access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Tutti safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Tutti use?

Tutti is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Tutti use?

About 1.9k tokens (SKILL.md is roughly 7.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Tutti?

Skills that share tags, products or a category with Tutti: MCP Server Builder (anthropics/skills, 180k stars), MCP Server Builder (shareAI-lab/learn-claude-code, 78k stars), Mem0 CLI Memory Commands (mem0ai/mem0, 67k stars) and MemPalace Setup and Operation (MemPalace/mempalace, 59k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Tutti?

nutthouse (a GitHub organization) maintains it in nutthouse/tutti, which has 131 GitHub stars. The repository was last updated on July 28, 2026.

Source: nutthouse/tutti on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.