
seemseam-ccb-multi-agent-cli
Orchestrate multi-agent AI teams (Claude, Codex, Gemini, OpenCode, Droid) with tmux-based supervision, project memory, and inter-agent communication
- Installs
- 250
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/reason-machines/codex-skills --skill seemseam-ccb-multi-agent-cli- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads seemseam-ccb-multi-agent-cli automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
SeemSeam CCB Multi-Agent CLI
Skill by ara.so — Codex Skills collection.
CCB (Claude Codex Bridge) is a multi-agent orchestration framework that runs Claude, Codex, Gemini, OpenCode, and Droid agents in supervised tmux panes with shared project memory, inter-agent communication via /ask, and isolated worktree support for parallel work.
What CCB Does
- Unified CLI entry point: Start, attach, recover, and supervise multiple AI agent CLIs from one command
- Inter-agent communication: Agents can
/askeach other, broadcast updates, and delegate work - Project-level teams: Define role-based teams with custom pane layouts, provider state, and worktree isolation
- Shared memory: All agents access
.ccb/ccb_memory.mdfor project-wide context - Tmux supervision: Every agent runs in a named tmux pane with lifecycle management
Installation
Unix-like (Linux, macOS, WSL)
git clone https://github.com/SeemSeam/claude_codex_bridge.git
cd claude_codex_bridge
./install.sh install
Windows
git clone https://github.com/SeemSeam/claude_codex_bridge.git
cd claude_codex_bridge
powershell -ExecutionPolicy Bypass -File .\install.ps1 install
Update to Latest Release
ccb update # Latest stable
ccb update 6 # Highest v6.x.x
ccb update 6.1 # Highest v6.1.x
ccb update 6.1.21 # Specific version
Requirements
- Python 3.10+
- tmux
Core Commands
# Start agents from .ccb/ccb.config
ccb
# Safe start (preserve permission settings)
ccb -s
# Rebuild state (preserve config) then start
ccb -n
# Stop project runtime
ccb kill
# Force cleanup before rebuild
ccb kill -f
# Uninstall
ccb uninstall
# Reinstall
ccb reinstall
Configuration
CCB is configured via .ccb/ccb.config (project-local, user-authored). If missing, CCB uses built-in defaults without creating a file.
Basic Layout Syntax
The first line defines the team and pane layout:
cmd; writer:codex, reviewer:claude; qa:gemini(worktree)
Layout rules:
;splits panes left-to-right,stacks panes top-to-bottomcmdis the shell panename:providerdefines an agent(worktree)runs agent in isolated git worktree- Without
(worktree), agent runsinplace
Common Layouts
# Two-agent team
writer:codex, reviewer:claude
# Shell + three agents
cmd; writer:codex, reviewer:claude; qa:gemini(worktree)
# Same provider, different roles
cmd; fast:codex, deep:codex
Per-Agent API Configuration
Add TOML tables after the layout line for agents needing custom API keys, URLs, or models:
cmd; builder:codex, reviewer:claude; research:gemini(worktree)
[agents.builder]
key = "$OPENAI_API_KEY"
url = "https://api.openai.com/v1"
model = "gpt-4"
[agents.reviewer]
key = "$ANTHROPIC_API_KEY"
url = "https://api.anthropic.com"
model = "claude-3-5-sonnet-20241022"
[agents.research]
key = "$GEMINI_API_KEY"
model = "gemini-2.0-flash-exp"
Notes:
- Use environment variables for API keys (
$VAR_NAME) keyandurloverride global provider credentialsmodelsets agent-specific model- Do not commit real API keys
Same Provider, Multiple API Keys
cmd; fast:codex, deep:codex
[agents.fast]
key = "$OPENAI_FAST_KEY"
model = "gpt-4o-mini"
[agents.deep]
key = "$OPENAI_DEEP_KEY"
url = "https://api.example.com/v1"
model = "gpt-4o"
Advanced Provider Environment
[agents.builder.provider_profile.env]
OPENAI_API_KEY = "$OPENAI_BUILDER_KEY"
OPENAI_BASE_URL = "https://custom.endpoint.com/v1"
Do not mix key/url shortcuts with provider_profile.env on the same agent.
Inter-Agent Communication
CCB agents can communicate using /ask or $ask syntax.
Explicit /ask Delegation
/ask reviewer review the parser changes in src/parser.ts
Explicit $ask Delegation
$ask reviewer review the parser changes in src/parser.ts
Implicit Delegation (Natural Language)
Ask reviewer to check the parser edge cases, then summarize the issues back to me.
For implicit delegation to work, add the ask skill basics to your system memory or agent prompt.
Broadcasting to All Agents
Agents can broadcast context updates to all live agents when the whole team needs the same information.
Agent Discovery
Named agents can discover each other and use named targets for delegation without copy/paste.
Project Memory
.ccb/ccb_memory.md is the shared project memory document. All agents in the team can read and write to this file for persistent context.
# Example: Agent updating shared memory
with open('.ccb/ccb_memory.md', 'a') as f:
f.write('\n## Feature X Implementation\n')
f.write('- Completed API endpoint `/api/v1/feature`\n')
f.write('- Added tests in `tests/test_feature.py`\n')
Worktree Isolation
Agents marked with (worktree) run in isolated git worktrees, enabling parallel work without conflicts.
Example: QA Agent in Worktree
cmd; builder:codex, reviewer:claude; qa:gemini(worktree)
The qa agent runs in a separate worktree under .ccb/worktrees/qa/, allowing it to:
- Test changes without affecting main working tree
- Run parallel test suites
- Isolate experimental work
Real-World Examples
Example 1: Full-Stack Development Team
.ccb/ccb.config:
cmd; frontend:codex, backend:claude; test:gemini(worktree)
[agents.frontend]
key = "$OPENAI_API_KEY"
model = "gpt-4o"
[agents.backend]
key = "$ANTHROPIC_API_KEY"
model = "claude-3-5-sonnet-20241022"
[agents.test]
key = "$GEMINI_API_KEY"
model = "gemini-2.0-flash-exp"
Workflow:
- Start team:
ccb - Frontend agent builds React component
- Backend agent implements API endpoint
- Frontend asks backend:
/ask backend does the /api/users endpoint support pagination? - Test agent runs integration tests in isolated worktree
- Test agent reports back:
/ask frontend found CORS issue in login flow
Example 2: Code Review Pipeline
.ccb/ccb.config:
cmd; writer:codex, reviewer:claude, qa:codex(worktree)
[agents.writer]
key = "$OPENAI_WRITER_KEY"
model = "gpt-4o"
[agents.reviewer]
key = "$ANTHROPIC_API_KEY"
model = "claude-3-5-sonnet-20241022"
[agents.qa]
key = "$OPENAI_QA_KEY"
model = "gpt-4o-mini"
Workflow:
- Writer implements feature in
src/feature.py - Writer asks reviewer:
/ask reviewer review src/feature.py for security issues - Reviewer provides feedback in chat
- Writer applies fixes
- QA agent runs tests in worktree:
/ask qa run test suite for feature.py
Example 3: Research and Documentation
cmd; research:gemini, writer:codex
[agents.research]
key = "$GEMINI_API_KEY"
model = "gemini-2.0-flash-exp"
[agents.writer]
key = "$OPENAI_API_KEY"
model = "gpt-4o"
Workflow:
- Research agent explores API documentation
- Research broadcasts findings: agent updates
.ccb/ccb_memory.md - Writer reads memory and generates documentation
- Writer asks research:
/ask research verify these GraphQL schema examples
Python Integration Examples
Programmatically Reading Project Memory
import os
def read_project_memory():
"""Read shared project memory for context."""
memory_path = os.path.join('.ccb', 'ccb_memory.md')
if os.path.exists(memory_path):
with open(memory_path, 'r') as f:
return f.read()
return ""
# Use in agent script
context = read_project_memory()
print(f"Current project context:\n{context}")
Writing to Project Memory
import os
from datetime import datetime
def append_to_memory(section, content):
"""Append structured content to project memory."""
memory_path = os.path.join('.ccb', 'ccb_memory.md')
timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
with open(memory_path, 'a') as f:
f.write(f'\n## {section} ({timestamp})\n\n')
f.write(content)
f.write('\n')
# Example usage
append_to_memory(
'API Endpoint Implementation',
'- Created `/api/v1/users` endpoint\n'
'- Added authentication middleware\n'
'- Tests passing in `tests/test_users.py`'
)
Inter-Agent Ask Wrapper
import subprocess
def ask_agent(agent_name, query):
"""Send query to another agent via CCB ask."""
result = subprocess.run(
['ask', agent_name, query],
capture_output=True,
text=True
)
return result.stdout
# Example usage
response = ask_agent('reviewer', 'review src/auth.py for security issues')
print(f"Reviewer feedback:\n{response}")
Tmux Integration
CCB runs all agents in tmux panes. Useful tmux commands:
# List CCB sessions
tmux ls
# Attach to CCB session
tmux attach -t <session-name>
# Navigate panes (within tmux)
Ctrl+b <arrow-key>
# Copy mode
# Drag left mouse button to select, Ctrl+Shift+V to paste
Troubleshooting
Issue: ccb command not found
Solution:
# Verify installation
which ccb
# Reinstall
cd claude_codex_bridge
./install.sh install
# Check PATH includes CCB bin directory
echo $PATH | grep ccb
Issue: Agents not starting
Solution:
# Check .ccb/ccb.config syntax
cat .ccb/ccb.config
# Rebuild state
ccb kill -f
ccb -n
# Check agent provider availability
which claude
which codex
Issue: /ask not working
Causes:
- Agent doesn't have
askskill in system memory - Agent is using built-in multi-agent behavior instead
Solution:
Add to agent system prompt or .ccb/ccb_memory.md:
## Inter-Agent Communication
Use `/ask <agent_name> <query>` to delegate tasks to other agents.
Use `$ask <agent_name> <query>` as alternative syntax.
Available agents: [list agent names from layout]
Issue: API key errors
Solution:
# Verify environment variables
echo $OPENAI_API_KEY
echo $ANTHROPIC_API_KEY
# Check .ccb/ccb.config uses env vars
cat .ccb/ccb.config
# Never commit real keys
git diff .ccb/ccb.config
Issue: Worktree conflicts
Solution:
# List worktrees
git worktree list
# Remove stale worktree
git worktree remove .ccb/worktrees/<agent-name>
# Restart CCB
ccb kill -f
ccb
Issue: Stale processes after kill
Solution:
# Force cleanup
ccb kill -f
# If still stuck, find CCB processes
ps aux | grep ccb
# Kill manually
kill -9 <pid>
# Restart
ccb
Best Practices
- Use environment variables for API keys: Never commit real keys to
.ccb/ccb.config - Name agents by role:
writer,reviewer,testerare clearer thanagent1,agent2 - Use worktrees for isolation: Mark test/experimental agents with
(worktree) - Update shared memory: Keep
.ccb/ccb_memory.mdcurrent for team context - Explicit delegation first: Use
/askwhen you know the target; let agents decide only when workflow is clear - Start safe: Use
ccb -sto preserve manual permission settings during development - Clean restarts: Use
ccb -nwhen changing layouts or providers
Configuration Examples
Minimal Two-Agent Setup
.ccb/ccb.config:
writer:codex, reviewer:claude
Complex Multi-Provider Team
.ccb/ccb.config:
cmd; builder:codex, reviewer:claude; qa:gemini(worktree), researcher:gemini
[agents.builder]
key = "$OPENAI_BUILDER_KEY"
model = "gpt-4o"
[agents.reviewer]
key = "$ANTHROPIC_REVIEWER_KEY"
model = "claude-3-5-sonnet-20241022"
[agents.qa]
key = "$GEMINI_QA_KEY"
model = "gemini-2.0-flash-exp"
[agents.researcher]
key = "$GEMINI_RESEARCH_KEY"
model = "gemini-1.5-pro"
Same Provider, Different Endpoints
.ccb/ccb.config:
cmd; prod:codex, staging:codex
[agents.prod]
key = "$OPENAI_PROD_KEY"
url = "https://api.openai.com/v1"
model = "gpt-4o"
[agents.staging]
key = "$OPENAI_STAGING_KEY"
url = "https://staging.example.com/v1"
model = "gpt-4o-mini"
Additional Resources
- Project homepage: https://github.com/SeemSeam/claude_codex_bridge
- Community: Linux.do forum (testing and feedback)
- Contact: bfly123@126.com, WeChat: seemseam-com
- Provider CLIs: Ensure Claude, Codex, Gemini, OpenCode, or Droid CLIs are installed separately
CCB is agent-orchestration infrastructure. It does not bundle agent CLIs—install them separately and configure their API keys via environment variables.
FAQ
What does the seemseam-ccb-multi-agent-cli skill do?
Orchestrate multi-agent AI teams (Claude, Codex, Gemini, OpenCode, Droid) with tmux-based supervision, project memory, and inter-agent communication
How do I install seemseam-ccb-multi-agent-cli?
Run npx skills add https://github.com/reason-machines/codex-skills --skill seemseam-ccb-multi-agent-cli in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/seemseam-ccb-multi-agent-cli/ (personal) or .claude/skills/seemseam-ccb-multi-agent-cli/ (project).
Which AI agents can use seemseam-ccb-multi-agent-cli?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is seemseam-ccb-multi-agent-cli safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains seemseam-ccb-multi-agent-cli?
It is published by reason-machines in reason-machines/codex-skills. It has 250 recorded installs.
More from reason-machines/codex-skills
academic-research-skills-codex
reason-machines/codex-skills
Open the skill to read its SKILL.md instructions.
codexplusplus-launcher
reason-machines/codex-skills
Enhanced launcher for Codex App that unlocks plugins, enables session deletion, exports conversations, and syncs provider sessions via CDP injection
codex-plugin-claude-code
reason-machines/codex-skills
Open the skill to read its SKILL.md instructions.
awesome-codex-skills-curator
reason-machines/codex-skills
Open the skill to read its SKILL.md instructions.
codex-plusplus-tweak-system
reason-machines/codex-skills
Open the skill to read its SKILL.md instructions.
awesome-codex-subagents
reason-machines/codex-skills
Open the skill to read its SKILL.md instructions.
Popular ai & agents skills
google-agents-cli-publish
google/agents-cli
This skill should be used when the user wants to "publish an agent", "publish my ADK agent", "register an agent with Gemini", "publish to Gemini" (formerly Gemini Enterprise), or needs guidance on the agents-cli publish gemini command. Also use when the user wants to "manage agents in Agent Registry", "list/update/delete registered agents", or "register an MCP server". Covers ADK vs A2A registration modes, programmatic and interactive usage, flag reference, auto-detection from deployment metadata, Agent Registry fleet management, and troubleshooting. Part of the agents-cli skills suite. Do NOT use for deployment (use google-agents-cli-deploy).
google-agents-cli-eval
google/agents-cli
This skill should be used when the user wants to "run an evaluation", "evaluate my agent", "evaluate my ADK agent", "write an eval dataset", "analyze eval failures", "compare eval results", "optimize agent", or needs guidance on the Gemini platform eval methodology and the Quality Flywheel. Covers eval metrics, dataset schema, LLM-as-judge scoring, and common failure causes. Applies to any agents-cli project, whatever framework the agent is written in. Do NOT use for agent API code patterns (ADK: use google-agents-cli-adk-code), deployment (use google-agents-cli-deploy), or project scaffolding (use google-agents-cli-scaffold).
skill-creator
anthropics/skills
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
codex-pet
prime-skills/runcomfy-agent-skills
Codex Pet generator on RunComfy. Build a Codex-compatible Codex Pet spritesheet.webp + pet.json from a single reference image, drop it into ${CODEXHOME:-$HOME/.codex}/pets/ / and Codex picks it up as a custom Codex Pet next to the 8 built-ins. This skill produces the exact Codex Pet atlas Codex expects (1536x1872 PNG/WebP, 8 cols x 9 rows, 192x208 cells, 9 animation states — idle, running-right, running-left, waving, jumping, failed, waiting, running, review). Calls OpenAI GPT Image 2 edit ONCE via the local RunComfy CLI as runcomfy run openai/gpt-image-2/edit to produce a canonical Codex Pet pose, then assembles all 9 animation rows programmatically with ImageMagick micro-transforms — no Codex Pro, no $imagegen, no OPENAIAPIKEY required, only RUNCOMFYTOKEN. Triggers on "codex pet", "create codex pet", "make codex pet", "hatch codex pet", "/hatch image", "desktop pet codex", "codex pets", "spritesheet.webp", or any explicit ask to build a custom pet for OpenAI Codex.
full-output-enforcement
leonxlnx/taste-skill
Overrides default LLM truncation behavior. Enforces complete code generation, bans placeholder patterns, and handles token-limit splits cleanly. Apply to any task requiring exhaustive, unabridged output.
executing-plans
obra/superpowers
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available