Agent skill
ck:team
Orchestrate Agent Teams for parallel multi-session collaboration. Use for research, implementation, review, and debug workflows requiring independent teammates.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/team-nammdev-goads-coss-2
SKILL.md
Agent Teams - CK-Native Orchestration Engine
Coordinate multiple independent Claude Code sessions. Each teammate has own context window, loads project context (CLAUDE.md, skills, agents), communicates via shared task list and messaging.
Requires: Agent Teams enabled. Set CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 in settings.json env if using Claude Code < 2.1.33. May be GA in 2.1.33+.
Usage
/team <template> <context> [flags]
Templates: ck:research, ck:cook, ck:code-review, ck:debug
Flags:
--devs N|--researchers N|--reviewers N|--debuggers N— team size--plan-approval/--no-plan-approval— plan gate (default: on for cook)--delegate— lead only coordinates, never touches code
Execution Protocol
Pre-flight (MANDATORY — merged into step 2 of every template):
- Step 2 of every template calls
TeamCreate(team_name: "...", ...). Do NOT check whether the tool exists first — just call it. - If the call SUCCEEDS: continue with the template.
- If the call returns an ERROR or is unrecognized: STOP. Tell user: "Agent Teams requires
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1in settings.json. Team mode is not available." - Do NOT fall back to subagents.
/ck:teamMUST use Agent Teams or abort. - All teammate spawns MUST include
team_nameparameter — never spawn Task without it.
When activated, IMMEDIATELY execute the matching template sequence below. Do NOT ask for confirmation. Do NOT explain what you're about to do. Execute the tool calls in order. Report progress after each major step.
CK Context Block
Every teammate spawn prompt MUST include this context at the end:
CK Context:
- Work dir: {CK_PROJECT_ROOT or CWD}
- Reports: {CK_REPORTS_PATH or "plans/reports/"}
- Plans: {CK_PLANS_PATH or "plans/"}
- Branch: {CK_GIT_BRANCH or current branch}
- Naming: {CK_NAME_PATTERN or "YYMMDD-HHMM"}
- Active plan: {CK_ACTIVE_PLAN or "none"}
- Commits: conventional (feat:, fix:, docs:, refactor:, test:, chore:)
- Refer to teammates by NAME, not agent ID
ON /ck:team research <topic> [--researchers N]:
Wraps /ck:research skill — scope, gather, analyze, report.
IMMEDIATELY execute in order:
-
Derive N angles from
<topic>(default N=3):- Angle 1: Architecture, patterns, proven approaches
- Angle 2: Alternatives, competing solutions, trade-offs
- Angle 3: Risks, edge cases, failure modes, security
- (If N>3, derive additional angles from topic context)
-
CALL
TeamCreate(team_name: "<topic-slug>") -
CALL
TaskCreatex N — one per angle:- Subject:
Research: <angle-title> - Description:
Investigate <angle> for topic: <topic>. Save report to: {CK_REPORTS_PATH}/researcher-{N}-{CK_NAME_PATTERN}-{topic-slug}.md. Format: Executive summary, key findings, evidence, recommendations. Mark task completed when done. Send findings summary to lead.
- Subject:
-
CALL
Taskx N to spawn researcher teammates:subagent_type: "researcher",team_name: "<topic-slug>",model: "haiku"name: "researcher-{N}"- Prompt: task description + CK Context Block
-
MONITOR via TaskCompleted hook events + TaskList fallback:
- TaskCompleted events auto-notify when researchers finish
- Fallback: Check TaskList if no event received in 60s
- If stuck >5 min, message teammate directly
-
READ all researcher reports from
{CK_REPORTS_PATH}/ -
SYNTHESIZE into:
{CK_REPORTS_PATH}/research-summary-{CK_NAME_PATTERN}-{topic-slug}.mdFormat: exec summary, key findings, comparative analysis, recommendations, unresolved questions. -
SHUTDOWN:
SendMessage(type: "shutdown_request")to each teammate -
CLEANUP:
TeamDelete(no parameters — just call it) -
REPORT: Tell user
Research complete. Summary: {path}. N reports generated.
ON /ck:team cook <plan-path-or-description> [--devs N]:
Wraps /ck:cook skill — plan, code, test, review, finalize.
IMMEDIATELY execute in order:
-
READ plan (if path provided) OR create via planner teammate:
- If description only: spawn
Task(subagent_type: "planner")to create plan first - Parse plan into N independent task groups with file ownership boundaries
- If description only: spawn
-
CALL
TeamCreate(team_name: "<feature-slug>") -
CALL
TaskCreatex (N + 1) — N dev tasks + 1 tester task:- Dev tasks: include
File ownership: <glob patterns>— NO overlap between devs - Tester task:
addBlockedByall dev task IDs - Each task description includes: implementation scope, file ownership, acceptance criteria
- Dev tasks: include
-
CALL
Taskx N to spawn developer teammates:subagent_type: "fullstack-developer",mode: "plan"model: "sonnet",name: "dev-{N}"- Prompt: task description + CK Context Block
- REVIEW and APPROVE each developer's plan via
plan_approval_response
-
MONITOR dev completion via TaskCompleted events:
- TaskCompleted hook notifies when each dev task finishes
- When all N dev tasks show completed, spawn tester immediately
- TeammateIdle events confirm devs are available for shutdown
- Fallback: Check TaskList if no events received in 60s
Task(subagent_type: "tester", model: "haiku", name: "tester")- Tester runs full test suite, reports pass/fail
-
DOCS SYNC EVAL (MANDATORY for cook — from /ck:cook finalize):
Docs impact: [none|minor|major] Action: [no update needed — <reason>] | [updated <page>] | [needs separate PR] -
SHUTDOWN all teammates via
SendMessage(type: "shutdown_request") -
CLEANUP:
TeamDelete(no parameters — just call it) -
REPORT: Tell user what was cooked, test results, docs impact.
ON /ck:team review <scope> [--reviewers N]:
Wraps /ck:code-review skill — scout, review, synthesize with evidence gates.
IMMEDIATELY execute in order:
-
DERIVE N review focuses from
<scope>(default N=3):- Focus 1: Security — vulnerabilities, auth, input validation, OWASP
- Focus 2: Performance — bottlenecks, memory, complexity, scaling
- Focus 3: Test coverage — gaps, edge cases, error paths
- (If N>3, derive from scope: architecture, DX, accessibility, etc.)
-
CALL
TeamCreate(team_name: "review-<scope-slug>") -
CALL
TaskCreatex N — one per focus:- Subject:
Review: <focus-title> - Description:
Review <scope> for <focus>. Output severity-rated findings only. Format: [CRITICAL|IMPORTANT|MODERATE] <finding> — <evidence> — <recommendation>. No "seems" or "probably" — concrete evidence only. Save to: {CK_REPORTS_PATH}/reviewer-{N}-{CK_NAME_PATTERN}-{scope-slug}.md. Mark task completed when done.
- Subject:
-
CALL
Taskx N to spawn reviewers:subagent_type: "code-reviewer",model: "haiku",name: "reviewer-{N}"- Prompt: task description + CK Context Block
-
MONITOR via TaskCompleted hook events + TaskList fallback:
- TaskCompleted events auto-notify when reviewers finish
- Fallback: Check TaskList if no event received in 60s
-
SYNTHESIZE into:
{CK_REPORTS_PATH}/review-{scope-slug}.md- Deduplicate findings across reviewers
- Prioritize by severity: CRITICAL > IMPORTANT > MODERATE
- Create action items list with owners
-
SHUTDOWN all teammates via
SendMessage(type: "shutdown_request") -
CLEANUP:
TeamDelete(no parameters — just call it) -
REPORT: Tell user
Review complete. {X} findings ({Y} critical). Report: {path}.
ON /ck:team debug <issue> [--debuggers N]:
Wraps /ck:fix skill — root-cause-first, adversarial hypotheses, disprove to converge.
IMMEDIATELY execute in order:
-
GENERATE N competing hypotheses from
<issue>(default N=3):- Each hypothesis must be independently testable
- Each must predict different observable symptoms
- Frame as: "If , then we should see "
-
CALL
TeamCreate(team_name: "debug-<issue-slug>") -
CALL
TaskCreatex N — one per hypothesis:- Subject:
Debug: Test hypothesis — <theory> - Description:
Investigate hypothesis: <theory>. For issue: <issue>. ADVERSARIAL: actively try to disprove other theories. Message other debuggers to challenge findings. Report evidence FOR and AGAINST your theory. Save findings to: {CK_REPORTS_PATH}/debugger-{N}-{CK_NAME_PATTERN}-{issue-slug}.md. Mark task completed when done.
- Subject:
-
CALL
Taskx N to spawn debugger teammates:subagent_type: "debugger",model: "sonnet",name: "debugger-{N}"- Prompt: task description + CK Context Block
-
MONITOR via TaskCompleted events. Debuggers should message each other — let them converge.
- TaskCompleted events notify as each hypothesis is tested
- TeammateIdle events indicate debugger awaiting peer input
- Fallback: Check TaskList if no events in 60s
-
READ all debugger reports. Identify surviving theory as root cause.
-
WRITE root cause report:
{CK_REPORTS_PATH}/debug-{issue-slug}.mdFormat: Root cause, evidence chain, disproven hypotheses, recommended fix. -
SHUTDOWN all teammates via
SendMessage(type: "shutdown_request") -
CLEANUP:
TeamDelete(no parameters — just call it) -
REPORT: Tell user
Debug complete. Root cause: <summary>. Report: {path}.
Agent Memory
Agents with memory: project retain learnings across team sessions. Memory persists in .opencode/agent-memory/<name>/ (gitignored). Useful for:
- Code reviewer remembering project conventions
- Debugger recalling past failure patterns
- Tester tracking flaky tests and coverage gaps
Agent Memory
Agents with memory: project retain learnings across team sessions. Memory persists in .opencode/agent-memory/<name>/ (gitignored). Useful for:
- Code reviewer remembering project conventions
- Debugger recalling past failure patterns
- Tester tracking flaky tests and coverage gaps
When to Use Agent Teams vs Subagents
| Scenario | Subagents (Task tool) | Agent Teams |
|---|---|---|
| Focused task (test, lint, single review) | Yes | Overkill |
| Sequential chain (plan → code → test) | Yes | No |
| 3+ independent parallel workstreams | Maybe | Yes |
| Competing debug hypotheses | No | Yes |
| Cross-layer work (FE + BE + tests) | Maybe | Yes |
| Workers need to discuss/challenge findings | No | Yes |
| Token budget is tight | Yes | No (high cost) |
Token Budget
| Template | Estimated Tokens | Model Strategy |
|---|---|---|
| Research (3) | ~150K-300K | haiku for all |
| Cook (4) | ~400K-800K | sonnet for devs, haiku for tester |
| Review (3) | ~100K-200K | haiku for all |
| Debug (3) | ~200K-400K | sonnet for all |
Error Recovery
- Check status:
Shift+Up/Down(in-process) or click pane (split) - Redirect: Send direct message with corrective instructions
- Replace: Shut down failed teammate, spawn replacement for same task
- Reassign:
TaskUpdatestuck task to unblock dependents
Abort Team
Shut down all teammates. Then call TeamDelete (no parameters).
If unresponsive: close terminal or kill session. Clean orphaned configs at ~/.opencode/teams/ manually.
Display Modes
- auto (default): split panes if in tmux, otherwise in-process
- in-process: all in one terminal.
Shift+Up/Downnavigate.Ctrl+Ttask list. - tmux/split: each teammate own pane. Requires tmux or iTerm2.
Rules Reference
See .opencode/rules/team-coordination-rules.md for teammate behavior rules.
v2.1.0: Event-driven orchestration via TaskCompleted/TeammateIdle hooks. Agent memory + Task restrictions.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?