MCP Server Builder
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
Orchestrate multiple AI coding agents (Claude Code, Codex, Aider) from a single config — launch teams, run workflows, track capacity, and manage handoffs.
$ npx skills add nutthouse/tutti --skill tutti -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nutthouse/tutti tutti --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "tutti" agent skill from https://github.com/nutthouse/tutti/tree/main/clawhub/tutti into .claude/skills/tutti/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tutti", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/nutthouse/tutti/tree/main/clawhub/tuttiType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add nutthouse/tutti --skill tutti -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nutthouse/tutti tutti --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nutthouse/tutti.git skills-src && mkdir -p .agents/skills && cp -r skills-src/clawhub/tutti .agents/skills/tutti && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "tutti" agent skill from https://github.com/nutthouse/tutti/tree/main/clawhub/tutti into .agents/skills/tutti/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tutti", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nutthouse/tutti --skill tutti -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nutthouse/tutti tutti --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nutthouse/tutti.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/clawhub/tutti .cursor/skills/tutti && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "tutti" agent skill from https://github.com/nutthouse/tutti/tree/main/clawhub/tutti into .cursor/skills/tutti/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tutti", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/nutthouse/tutti.git --path clawhub/tutti--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add nutthouse/tutti --skill tutti -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nutthouse/tutti tutti --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nutthouse/tutti.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/clawhub/tutti .gemini/skills/tutti && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "tutti" agent skill from https://github.com/nutthouse/tutti/tree/main/clawhub/tutti into .gemini/skills/tutti/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tutti", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install nutthouse/tutti tuttiInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add nutthouse/tutti --skill tutti -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/nutthouse/tutti.git skills-src && mkdir -p .github/skills && cp -r skills-src/clawhub/tutti .github/skills/tutti && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "tutti" agent skill from https://github.com/nutthouse/tutti/tree/main/clawhub/tutti into .github/skills/tutti/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tutti", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nutthouse/tutti --skill tutti -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install nutthouse/tutti tutti --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nutthouse/tutti.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/clawhub/tutti .opencode/skills/tutti && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "tutti" agent skill from https://github.com/nutthouse/tutti/tree/main/clawhub/tutti into .opencode/skills/tutti/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tutti", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
tuttiOrchestrate 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.
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.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 6b86cca. It shows what the files ask for, not the result of running them.
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.
Ships script files (Python), which the agent can run.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from nutthouse/tutti at commit 6b86cca, republished under its MIT licence (© nutthouse). 803 words, ~1,880 tokens.
.claude/skills/tutti/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.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.
Use when the user asks you to:
tt binary installed and on PATH (install from https://github.com/nutthouse/tutti)tmux installedpython3 availabletutti.toml config file in the workspace rootAlways run preflight checks before starting a workflow:
python3 tutti_openclaw.py doctor_checkAll 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": ""
}| Action | Command | Purpose |
|---|---|---|
doctor_check | python3 tutti_openclaw.py doctor_check | Preflight: verify tools, config, and environment |
launch_team | python3 tutti_openclaw.py launch_team | Launch all agents defined in tutti.toml |
launch_agent | python3 tutti_openclaw.py launch_agent <name> | Launch a single agent |
send_prompt | python3 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_status | python3 tutti_openclaw.py team_status | Read agent states from .tutti/state/ |
agent_output | python3 tutti_openclaw.py agent_output <name> --lines 50 | Peek at an agent's terminal output |
stop_agent | python3 tutti_openclaw.py stop_agent <name> | Stop a single agent |
stop_team | python3 tutti_openclaw.py stop_team | Stop all agents |
| Action | Command | Purpose |
|---|---|---|
list_workflows | python3 tutti_openclaw.py list_workflows | Discover available workflows |
plan_workflow | python3 tutti_openclaw.py plan_workflow <name> [--strict] | Dry-run a workflow |
run_workflow | python3 tutti_openclaw.py run_workflow <name> [--agent <a>] [--strict] | Execute a workflow |
verify_team | python3 tutti_openclaw.py verify_team [--workflow <w>] [--strict] | Run verification workflow |
read_verify_status | python3 tutti_openclaw.py read_verify_status | Read last verification result |
| Action | Command | Purpose |
|---|---|---|
land_agent | python3 tutti_openclaw.py land_agent <agent> [--pr] [--force] | Land an agent's branch back to current branch, or open a PR |
| Action | Command | Purpose |
|---|---|---|
generate_handoff | python3 tutti_openclaw.py generate_handoff <agent> [--reason <r>] | Capture agent context to a packet |
apply_handoff | python3 tutti_openclaw.py apply_handoff <agent> [--packet <path>] | Inject a handoff packet into an agent |
list_handoffs | python3 tutti_openclaw.py list_handoffs [--agent <a>] [--limit 20] | List available handoff packets |
| Action | Command | Purpose |
|---|---|---|
permissions_check | python3 tutti_openclaw.py permissions_check <cmd...> | Check if a command is allowed by policy |
Workflows in tutti.toml support these step types:
| Type | Purpose | Key fields |
|---|---|---|
prompt | Send text to an agent session | agent, text, inject_files, wait_for_idle, wait_timeout_secs |
command | Execute a shell command | run, cwd, timeout_secs, fail_mode |
ensure_running | Start an agent if not already running | agent, fail_mode |
workflow | Execute another workflow as a nested step | workflow, agent, strict, fail_mode |
land | Land an agent's branch | agent, pr, force, fail_mode |
review | Send an agent's diff to a reviewer | agent, 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.
Follow this sequence for orchestrating a workspace:
doctor_check. Stop and report if non-zero.launch_team or launch_agent <name>.team_status and agent_output <name> to observe progress.send_prompt <agent> "do something" --auto-up --wait --output to dispatch work and capture results.list_workflows to discover, then run_workflow <name>.verify_team --strict for gate-style quality checks.land_agent <agent> to cherry-pick work, or land_agent <agent> --pr to open a PR.generate_handoff <agent> when context is high, apply_handoff <agent> to resume.stop_team or stop_agent <name> when done.action, command, and stderr from the JSON envelope. Do not retry blindly.read_verify_status.stderr contains auth errors, stop and escalate to the user. Do not retry auth failures.--auto-up on send_prompt to automatically start agents on demand rather than failing.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_checkdoctor_check before any launch or workflow operation.team_status (reads state files directly) over agent_output for status checks.--strict flag on verify_team and run_workflow when results gate further actions.--auto-up on send_prompt when the target agent may not be running.--output on send_prompt to capture the agent's response for programmatic verification.--json output from tt commands when you need structured data (the wrapper handles this automatically).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
SKILL.md and 3 other files in clawhub/tutti of nutthouse/tutti.
Open the folder on GitHubat commit 6b86cca
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Tutti this skillnutthouse/tutti | 131 | — | ~1.9k | Automated safety check: Pass | MIT | |
| MCP Server Builderanthropics/skills | 180k | 63 repos | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| MCP Server BuildershareAI-lab/learn-claude-code | 78k | 5 repos | ~1.2k | Automated safety check: Pass | MIT | |
| Mem0 CLI Memory Commandsmem0ai/mem0 | 67k | — | ~2k | Automated safety check: Notes | Apache-2.0 | |
| MemPalace Setup and OperationMemPalace/mempalace | 59k | — | ~2.2k | Automated safety check: Pass | MIT | |
| Google Antigravity SDKgoogle-antigravity/antigravity-sdk-python | 3.7k | — | ~2.1k | Automated safety check: Notes | Apache-2.0 |
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
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.
mem0ai/mem0
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.
MemPalace/mempalace
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.
google-antigravity/antigravity-sdk-python
Design, implement, and debug autonomous AI agents and multi-agent systems using the Google Antigravity (AGY) SDK.
microsoft/SkillOpt
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.
Works with
Categories
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.
Tutti fits situations like: agent Workflows work in your project.
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.
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.
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.
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.
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.
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.
Tutti is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
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.
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.
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.