team▌
yeachan-heo/oh-my-claudecode · updated Apr 8, 2026
MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.
Spawn N coordinated agents working on a shared task list using Claude Code's native team tools. Replaces the legacy /swarm skill (SQLite-based) with built-in team management, inter-agent messaging, and task dependencies -- no external dependencies required.
Team Skill
Spawn N coordinated agents working on a shared task list using Claude Code's native team tools. Replaces the legacy /swarm skill (SQLite-based) with built-in team management, inter-agent messaging, and task dependencies -- no external dependencies required.
The swarm compatibility alias was removed in #1131.
Usage
/oh-my-claudecode:team N:agent-type "task description"
/oh-my-claudecode:team "task description"
/oh-my-claudecode:team ralph "task description"
Parameters
- N - Number of teammate agents (1-20). Optional; defaults to auto-sizing based on task decomposition.
- agent-type - OMC agent to spawn for the
team-execstage (e.g., executor, debugger, designer, codex, gemini). Optional; defaults to stage-aware routing. Usecodexto spawn Codex CLI workers orgeminifor Gemini CLI workers (requires respective CLIs installed). See Stage Agent Routing below. - task - High-level task to decompose and distribute among teammates
- ralph - Optional modifier. When present, wraps the team pipeline in Ralph's persistence loop (retry on failure, architect verification before completion). See Team + Ralph Composition below.
Examples
/team 5:executor "fix all TypeScript errors across the project"
/team 3:debugger "fix build errors in src/"
/team 4:designer "implement responsive layouts for all page components"
/team "refactor the auth module with security review"
/team ralph "build a complete REST API for user management"
# With Codex CLI workers (requires: npm install -g @openai/codex)
/team 2:codex "review architecture and suggest improvements"
# With Gemini CLI workers (requires: npm install -g @google/gemini-cli)
/team 2:gemini "redesign the UI components"
# Mixed: Codex for backend analysis, Gemini for frontend (use /ccg instead for this)
Architecture
User: "/team 3:executor fix all TypeScript errors"
|
v
[TEAM ORCHESTRATOR (Lead)]
|
+-- TeamCreate("fix-ts-errors")
| -> lead becomes team-lead@fix-ts-errors
|
+-- Analyze & decompose task into subtasks
| -> explore/architect produces subtask list
|
+-- TaskCreate x N (one per subtask)
| -> tasks #1, #2, #3 with dependencies
|
+-- TaskUpdate x N (pre-assign owners)
| -> task #1 owner=worker-1, etc.
|
+-- Task(team_name="fix-ts-errors", name="worker-1") x 3
| -> spawns teammates into the team
|
+-- Monitor loop
| <- SendMessage from teammates (auto-delivered)
| -> TaskList polling for progress
| -> SendMessage to unblock/coordinate
|
+-- Completion
-> SendMessage(shutdown_request) to each teammate
<- SendMessage(shutdown_response, approve: true)
-> TeamDelete("fix-ts-errors")
-> rm .omc/state/team-state.json
Storage layout (managed by Claude Code):
~/.claude/
teams/fix-ts-errors/
config.json # Team metadata + members array
tasks/fix-ts-errors/
.lock # File lock for concurrent access
1.json # Subtask #1
2.json # Subtask #2 (may be internal)
3.json # Subtask #3
...
Staged Pipeline (Canonical Team Runtime)
Team execution follows a staged pipeline:
team-plan -> team-prd -> team-exec -> team-verify -> team-fix (loop)
Stage Agent Routing
Each pipeline stage uses specialized agents -- not just executors. The lead selects agents based on the stage and task characteristics.
| Stage | Required Agents | Optional Agents | Selection Criteria |
|---|---|---|---|
| team-plan | explore (haiku), planner (opus) |
analyst (opus), architect (opus) |
Use analyst for unclear requirements. Use architect for systems with complex boundaries. |
| team-prd | analyst (opus) |
critic (opus) |
Use critic to challenge scope. |
| team-exec | executor (sonnet) |
executor (opus), debugger (sonnet), designer (sonnet), writer (haiku), test-engineer (sonnet) |
Match agent to subtask type. Use executor (model=opus) for complex autonomous work, designer for UI, debugger for compilation issues, writer for docs, test-engineer for test creation. |
| team-verify | verifier (sonnet) |
test-engineer (sonnet), security-reviewer (sonnet), code-reviewer (opus) |
Always run verifier. Add security-reviewer for auth/crypto changes. Add code-reviewer for >20 files or architectural changes. code-reviewer also covers style/formatting checks. |
| team-fix | executor (sonnet) |
debugger (sonnet), executor (opus) |
Use debugger for type/build errors and regression isolation. Use executor (model=opus) for complex multi-file fixes. |
Routing rules:
- The lead picks agents per stage, not the user. The user's
N:agent-typeparameter only overrides theteam-execstage worker type. All other stages use stage-appropriate specialists. - Specialist agents complement executor agents. Route analysis/review to architect/critic Claude agents and UI work to designer agents. Tmux CLI workers are one-shot and don't participate in team communication.
- Cost mode affects model tier. In downgrade:
opusagents tosonnet,sonnettohaikuwhere quality permits.team-verifyalways uses at leastsonnet. - Risk level escalates review. Security-sensitive or >20 file changes must include
security-reviewer+code-reviewer(opus) inteam-verify.
Stage Entry/Exit Criteria
- team-plan
- Entry: Team invocation is parsed and orchestration starts.
- Agents:
explorescans codebase,plannercreates task graph, optionallyanalyst/architectfor complex tasks. - Exit: decomposition is complete and a runnable task graph is prepared.
- team-prd
- Entry: scope is ambiguous or acceptance criteria are missing.
- Agents:
analystextracts requirements, optionallycritic. - Exit: acceptance criteria and boundaries are explicit.
- team-exec
- Entry:
TeamCreate,TaskCreate, assignment, and worker spawn are complete. - Agents: workers spawned as the appropriate specialist type per subtask (see routing table).
- Exit: execution tasks reach terminal state for the current pass.
- Entry:
- team-verify
- Entry: execution pass finishes.
- Agents:
verifier+ task-appropriate reviewers (see routing table). - Exit (pass): verification gates pass with no required follow-up.
- Exit (fail): fix tasks are generated and control moves to
team-fix.
- team-fix
- Entry: verification found defects/regressions/incomplete criteria.
- Agents:
executor/debuggerdepending on defect type. - Exit: fixes are complete and flow returns to
team-execthenteam-verify.
Verify/Fix Loop and Stop Conditions
Continue team-exec -> team-verify -> team-fix until:
- verification passes and no required fix tasks remain, or
- work reaches an explicit terminal blocked/failed outcome with evidence.
team-fix is bounded by max attempts. If fix attempts exceed the configured limit, transition to terminal failed (no infinite loop).
Stage Handoff Convention
When transitioning between stages, important context — decisions made, alternatives rejected, risks identified — lives only in the lead's conversation history. If the lead's context compacts or agents restart, this knowledge is lost.
Each completing stage MUST produce a handoff document before transitioning.
The lead writes handoffs to .omc/handoffs/<stage-name>.md.
Handoff Format
## Handoff: <current-stage> → <next-stage>
- **Decided**: [key decisions made in this stage]
- **Rejected**: [alternatives considered and why they were rejected]
- **Risks**: [identified risks for the next stage]
- **Files**: [key files created or modified]
- **Remaining**: [items left for the next stage to handle]
Handoff Rules
- Lead reads previous handoff BEFORE spawning next stage's agents. The handoff content is included in the next stage's agent spawn prompts, ensuring agents start with full context.
- Handoffs accumulate. The verify stage can read all prior handoffs (plan → prd → exec) for full decision history.
- On team cancellation, handoffs survive in
.omc/handoffs/for session resume. They are not deleted byTeamDelete. - Handoffs are lightweight. 10-20 lines max. They capture decisions and rationale, not full specifications (those live in deliverable files like DESIGN.md).
Example
## Handoff: team-plan → team-exec
- **Decided**: Microservice architecture with 3 services (auth, api, worker). PostgreSQL for persistence. JWT for auth tokens.
- **Rejected**: Monolith (scaling concerns), MongoDB (team expertise is SQL), session cookies (API-first design).
- **Risks**: Worker service needs Redis for job queue — not yet provisioned. Auth service has no rate limiting in initial design.
- **Files**: DESIGN.md, TEST_STRATEGY.md
- **Remaining**: Database migration scripts, CI/CD pipeline config, Redis provisioning.
Resume and Cancel Semantics
- Resume: restart from the last non-terminal stage using staged state + live task status. Read
.omc/handoffs/to recover stage transition context. - Cancel:
/oh-my-claudecode:cancelrequests teammate shutdown, waits for responses (best effort), marks phasecancelledwithactive=false, captures cancellation metadata, then deletes team resources and clears/preserves Team state per policy. Handoff files in.omc/handoffs/are preserved for potential resume. - Terminal states are
complete,failed, andcancelled.
Workflow
Phase 1: Parse Input
- Extract N (agent count), validate 1-20
- Extract agent-type, validate it maps to a known OMC subagent
- Extract task description
Phase 2: Analyze & Decompose
Use explore or architect (via MCP or agent) to analyze the codebase and break the task into N subtasks:
- Each subtask should be file-scoped or module-scoped to avoid conflicts
- Subtasks must be independent or have clear dependency ordering
- Each subtask needs a concise
subjectand detaileddescription - Identify dependencies between subtasks (e.g., "shared types must be fixed before consumers")
Phase 3: Create Team
Call TeamCreate with a slug derived from the task:
{
"team_name": "fix-ts-errors",
"description": "Fix all TypeScript errors across the project"
}
Response:
{
"team_name": "fix-ts-errors",
"team_file_path": "~/.claude/teams/fix-ts-errors/config.json",
"lead_agent_id": "team-lead@fix-ts-errors"
}
The current session becomes the team lead (team-lead@fix-ts-errors).
Write OMC state using the state_write MCP tool for proper session-scoped persistence:
state_write(mode="team", active=true, current_phase="team-plan", state={
"team_name": "fix-ts-errors",
"agent_count": 3,
"agent_types": "executor",
"task": "fix all TypeScript errors",
"fix_loop_count": 0,
"max_fix_loops": 3,
"linked_ralph": false,
"stage_history": "team-plan"
})
Note: The MCP
state_writetool transports all values as strings. Consumers must coerceagent_count,fix_loop_count,max_fix_loopsto numbers andlinked_ralphto boolean when reading state.
State schema fields:
| Field | Type | Description |
|---|---|---|
active |
boolean | Whether team mode is active |
current_phase |
string | Current pipeline stage: team-plan, team-prd, team-exec, team-verify, team-fix |
team_name |
string | Slug name for the team |
agent_count |
number | Number of worker agents |
agent_types |
string | Comma-separated agent types used in team-exec |
task |
string | Original task description |
fix_loop_count |
number | Current fix iteration count |
max_fix_loops |
number | Maximum fix iterations before failing (default: 3) |
linked_ralph |
boolean | Whether team is linked to a ralph persistence loop |
stage_history |
string | Comma-separated list of stage transitions with timestamps |
Update state on every stage transition:
state_write(mode="team", current_phase="team-exec", state={
"stage_history": "team-plan:2026-02-07T12:00:00Z,team-prd:2026-02-07T12:01:00Z,team-exec:2026-02-07T12:02:00Z"
})
Read state for resume detection:
state_read(mode="team")
If active=true and current_phase is non-terminal, resume from the last incomplete stage instead of creating a new team.
Phase 4: Create Tasks
Call TaskCreate for each subtask. Set dependencies with TaskUpdate using addBlockedBy.
// TaskCreate for subtask 1
{
"subject": "Fix type errors in src/auth/",
"description": "Fix all TypeScript errors in src/auth/login.ts, src/auth/session.ts, and src/auth/types.ts. Run tsc --noEmit to verify.",
"activeForm": "Fixing auth type errors"
}
Response stores a task file (e.g. 1.json):
How to use team on Cursor
AI-first code editor with Composer
Prerequisites
Before installing skills in Cursor, ensure your development environment meets these requirements:
- ›Cursor installed and configured on your development machine
- ›Node.js version 16.0+ with npm package manager (verify with
node --version) - ›Active project directory or workspace where you want to add team
Execute installation command
Execute the skills CLI command in your project's root directory to begin installation:
The skills CLI fetches team from GitHub repository yeachan-heo/oh-my-claudecode and configures it for Cursor.
Select Cursor when prompted
The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:
Verify installation
Confirm successful installation by checking the skill directory location:
Reload or restart Cursor to activate team. Access the skill through slash commands (e.g., /team) or your agent's skill management interface.
Security & Verification Notice
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.
List & Monetize Your Skill
Submit your Claude Code skill and start earning
Use Cases▌
User Story & Requirements Generation
Create detailed user stories, acceptance criteria, and feature specs
Example
Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios
Reduce spec writing time by 50%, ensure comprehensive coverage
Competitive Analysis
Research competitors, compare features, identify gaps
Example
Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities
Complete competitive research in 2 hours instead of 2 days
Roadmap Prioritization
Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs
Example
Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale
Make data-driven prioritization decisions faster
Stakeholder Communication
Draft PRDs, status updates, and stakeholder presentations
Example
Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement
Save 3-5 hours/week on communication overhead
Implementation Guide▌
Prerequisites
- ›Claude Desktop or compatible AI client
- ›Access to product documentation and roadmap tools (Jira, Notion, etc.)
- ›Understanding of product management frameworks (RICE, Jobs-to-be-Done, etc.)
- ›Stakeholder contact information and communication channels
Time Estimate
30-60 minutes to see productivity improvements
Installation Steps
- 1.Install product management skill
- 2.Start with user story generation for known feature
- 3.Progress to competitive analysis: research 2-3 competitors
- 4.Use for roadmap prioritization: apply RICE/ICE scoring
- 5.Draft stakeholder communications and refine based on feedback
- 6.Build template library for recurring PM tasks
- 7.Share effective prompts with product team
Common Pitfalls
- ⚠Not validating competitive research—verify facts before sharing
- ⚠Accepting user stories without involving engineering team
- ⚠Over-relying on frameworks without qualitative judgment
- ⚠Not customizing outputs to company culture and communication style
- ⚠Skipping stakeholder validation of generated requirements
Best Practices▌
✓ Do
- +Validate research and competitive analysis with real data
- +Collaborate with engineering when generating technical requirements
- +Customize frameworks and templates to your company context
- +Use skill for first drafts, refine with stakeholder input
- +Document successful prompt patterns for PM tasks
- +Combine AI efficiency with human judgment and intuition
✗ Don't
- −Don't publish competitive analysis without fact-checking
- −Don't finalize user stories without engineering review
- −Don't make prioritization decisions solely on AI scoring
- −Don't skip customer validation of generated requirements
- −Don't ignore company-specific context and culture
💡 Pro Tips
- ★Provide context: company goals, constraints, customer feedback
- ★Ask for alternatives: 'Show 3 ways to prioritize this roadmap'
- ★Request stakeholder-specific formatting: 'Executive summary vs. engineering spec'
- ★Use skill for 70% generation + 30% customization to company needs
When to Use This▌
✓ Use When
Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.
✗ Avoid When
Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.
Learning Path▌
- 1Basic: user stories, feature specs, status updates
- 2Intermediate: competitive analysis, prioritization frameworks, PRDs
- 3Advanced: product strategy, go-to-market planning, OKR setting
- 4Expert: product vision, market positioning, business model innovation
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
Ratings
4.7★★★★★55 reviews- ★★★★★Fatima White· Dec 20, 2024
Registry listing for team matched our evaluation — installs cleanly and behaves as described in the markdown.
- ★★★★★Evelyn Abebe· Dec 20, 2024
Useful defaults in team — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Tariq Smith· Dec 16, 2024
team fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
- ★★★★★Layla Gonzalez· Dec 8, 2024
I recommend team for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
- ★★★★★Fatima Jackson· Dec 4, 2024
team reduced setup friction for our internal harness; good balance of opinion and flexibility.
- ★★★★★Yuki Rahman· Nov 27, 2024
team fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
- ★★★★★Zara Tandon· Nov 23, 2024
Registry listing for team matched our evaluation — installs cleanly and behaves as described in the markdown.
- ★★★★★Layla Malhotra· Nov 11, 2024
team reduced setup friction for our internal harness; good balance of opinion and flexibility.
- ★★★★★Layla Khanna· Nov 7, 2024
I recommend team for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
- ★★★★★Emma Haddad· Oct 26, 2024
Solid pick for teams standardizing on skills: team is focused, and the summary matches what you get after install.
showing 1-10 of 55