by firstintent
ccteam turns the coding agents you already run (Claude Code, Codex, Grok, DeepSeek Harness, Kimi, Pi) into one team — any session can spawn, dispatch, and collect work from any vendor on any machine, while you steer it all from Telegram, Lark, or a browser tab. 把你在用的编程 agent 编成一支团队,跨厂商跨机器派活,Telegram/飞书/网页统一指挥。
# Add to your Claude Code skills
git clone https://github.com/firstintent/ccteamLast scanned: 9/3/2026
{
"issues": [
{
"file": "AGENTS.md",
"line": 61,
"type": "secret-exfiltration",
"message": "Instruction appears to send credentials/secrets to an external endpoint",
"severity": "high"
},
{
"file": "AGENTS.md",
"line": 18,
"type": "remote-install",
"message": "Install command (remote install script piped to a shell — review the source before running): \"curl install.sh | sh\"",
"severity": "medium"
},
{
"file": "AGENTS.md",
"line": 101,
"type": "dangerous-command",
"message": "Dangerous command (disables permission prompts): \"bypassPermissions\"",
"severity": "high"
},
{
"file": "README.md",
"line": 140,
"type": "remote-install",
"message": "Install command (remote install script piped to a shell — review the source before running): \"curl -sSL https://raw.githubusercontent.com/firstintent/ccteam/main/install.sh |\"",
"severity": "low"
}
],
"status": "PASSED",
"scannedAt": "2026-09-03T08:34:10.354Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}ccteam is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by firstintent. ccteam turns the coding agents you already run (Claude Code, Codex, Grok, DeepSeek Harness, Kimi, Pi) into one team — any session can spawn, dispatch, and collect work from any vendor on any machine, while you steer it all from Telegram, Lark, or a browser tab. 把你在用的编程 agent 编成一支团队,跨厂商跨机器派活,Telegram/飞书/网页统一指挥。. It has 394 GitHub stars.
Yes. ccteam passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/firstintent/ccteam" and add it to your Claude Code skills directory (see the Installation section above).
ccteam is primarily written in Rust. It is open-source under firstintent on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh ccteam against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
Each coding CLI is brilliant alone but works in isolation — one terminal, one context, no colleagues:
anthropic/…, openai/…), on your own machineccteam is the connective tissue they lack — identity, routing, delivery guarantees, guardrails, a cost ledger — and leaves how the team organizes itself to prompts you version.
1 · Remote control from Telegram / Lark
Paste a bot token once (Settings → Access) and the chat becomes a full console — completion notifications, HITL [approve] [deny] buttons, and shipped files all land in the same thread. Dispatch at midnight, close the laptop, find the result at breakfast:
/cd demo # pick a project; your next message talks to it
/new codex effort=high # more sessions: /new [vendor] [role] [model=…] [effort=…]
@s2 run the test suite # address any session directly
/status /sessions /stop s3 # health · fleet · cost · stop
/inbox +30m remind me … # schedule a one-shot user turn; /inbox lists · cancel dN
2 · Remote control from the web console
The installer runs the daemon; ccteam status reprints your link (http://<lan-ip>:7331/?token=…) — open it from any device on your LAN. It's a chat shell, not a dashboard:
routing.md agents read via status) edited in placeEverything the console does is also /api/v1 (OpenAPI at /api/docs).
3 · Orchestrate a team from inside a claude session
Any registered session can hire the others — say it in plain language and session_spawn / dispatch / collect run under the hood (with an honest working / idle signal, so nobody guesses from silence):
Spawn a codex session, have it implement RFC-12 and run the tests; report back when green.
Plan this refactor, then delegate: codex implements, grok profiles the hot path in
parallel, kimi sweeps the rename across the repo. Collect everything into one summary.
Spawn a claude reviewer on s2's diff — I'm not merging until it signs off.
4 · Many machines, one console
Register a satellite with a join token (Settings → Access) — it dials out to your daemon, so a laptop behind NAT works fine. Projects are bound to a host and run where they live: spawn into the GPU-box project and its tests run on the GPU box, while transcripts, cost, and the team view stay in one console. Switching machines is just switching projects.
Satellite execution currently runs Claude sessions; the other vendors run on the daemon's machine.
Under all four modes are the same eight MCP tools, available to every session, to your plain hand-started CLIs once registered, and to any external agent that presents an enrollment credential over POST /mcp — one credential per vendor config or per copy-button, and the daemon issues each process its own identity when it connects, so two agents sharing a config are still two callers with their own ledger rows and their own children:
session_spawn · session_dispatch · session_collect · session_list · session_stop
status (+ its discovery alias grok_claude_codex_kimi) · chat_send_file
The daemon routes and records — at-least-once notifications across restarts, idempotency keys, a child's turn written to disk before its parent is told, guardrails that refuse runaway fan-out with a reason. When a web-driven session finishes autonomous work while nobody is watching the console, the final answer is mirrored to your IM; the IM /status card shows your session's working children at a glance. It never schedules; when to delegate lives in prompts you version.
ccteam also lives natively inside DeepSeek Harness's own web UI, as one DSH client plugin — @ccteam/ccteam-ui, not a port of the console above, built with DSH's own slots, primitives and locale. Installing it once gives you three faces and an engine supervisor:
| Face | For | What it gives you |
|---|---|---|
| Workbench | People using DSH Web | A full-page ccteam workbench opened from a button at the bottom of DSH's sidebar: the cross-harness team tree (search, per-project fold/unfold, hover ⋯ menu), a native-grade conversation (streaming Markdown, tool steps, choice prompts, attachments, mid-turn model/effort switch, interrupt), and a details column — docks beside DSH's own panes or expands full-page. |
| Tools | DSH agents (the LLM) | The same eight MCP tools described above, callable from inside a DSH session. |
| Transport | ccteam | The channel that lets ccteam hire a DSH session the way it hires any other harness. |
| Engine | You | The ccteam daemon itself, shipped with the plugin as a platform package (@ccteam/engine-<os>-<cpu>): installed, started and supervised from the Engine section of the plugin's settings card — state, version, Start / Stop / Restart / Update engine, a Start the engine when the plugin loads switch, the engine log. |
Install it with dsh plugin --profile web add @ccteam/ccteam-ui and restart dsh web: the plugin brings the engine, starts the daemon, and picks up your console token from ~/.ccteam on the same machine — nothing to paste. If your DSH is already running through ccteam (/new dsh, the ccteam DSH page, or session_spawn with vendor:"dsh"), the plugin and its credentials are materialized for you. Either way it is one daemon shared with the CLI and ccteam web: the plugin attaches to a running one, never starts a second one against another ~/.ccteam, and never stops it when DSH restarts. The full setup (both install paths, coexistence rules, troubleshooting) is in the DSH plugin guide (中文).
Runs on macOS, Linux, and Windows (via WSL).
[!IMPORTANT] Bring your own coding CLI — install and authenticate at least one before you start. ccteam is the bridge, not the agent: it spawns the vendor CLIs already on the machine a project is boun