This skill should be used when the user asks to "set up a team", "create a swarm", "spawn teammates", "assign tasks", "coordinate agents", "work in parallel", "divide work among agents", "orchestrate multiple agents", or describes a complex task that would benefit from multiple Claude Code instances working together. Provides comprehensive guidance for team leads on creating teams, spawning teammates, assigning work, and monitoring progress across tmux/kitty terminal multiplexers.
This skill inherits all available tools. When active, it can use any tool Claude has access to.
examples/01-simple-api-feature.mdexamples/02-full-stack-feature.mdexamples/README.mdreferences/setup-guide.mdreferences/slash-commands.mdThis skill guides you through orchestrating teams of Claude Code instances working in parallel. By default, you delegate coordination to a spawned team-lead, keeping your involvement minimal.
When you run /swarm-create, a team-lead is automatically spawned who handles all coordination:
You (orchestrator)
└── /swarm-create "team" → team-lead auto-spawns
└── /task-create (high-level goals)
└── /swarm-message team-lead "Brief with requirements..."
└── [Team-lead handles everything]
├── Spawns workers
├── Creates detailed tasks
├── Monitors progress
└── Handles consults
└── /swarm-status (periodic check-ins)
└── /swarm-cleanup (when done)
Your role: Set direction, provide high-level goals, monitor progress, answer escalations.
--no-lead)If you want full control, use --no-lead to coordinate everything yourself:
/swarm-create "team" "description" --no-lead
For direct mode guidance, see the swarm-team-lead skill.
# 1. Create team (team-lead spawns automatically)
/claude-swarm:swarm-create "auth-feature" "Implement user authentication"
# 2. Create high-level tasks (team-lead will break these down)
/claude-swarm:task-create "Backend Auth" "JWT endpoints with login/signup"
/claude-swarm:task-create "Frontend UI" "Login and signup forms"
# 3. Brief team-lead
/claude-swarm:swarm-message team-lead "Please coordinate implementation. Use sonnet for workers. Let me know if you need architectural decisions."
# 4. Monitor progress (periodically)
/claude-swarm:swarm-status auth-feature
/claude-swarm:swarm-inbox
# 5. Cleanup when done
/claude-swarm:swarm-cleanup auth-feature
That's it! The team-lead handles spawning workers, assigning tasks, and coordinating execution.
Good candidates:
Not ideal for:
| Factor | Delegation | Direct (--no-lead) |
|---|---|---|
| Your involvement | Low - check in periodically | High - constant coordination |
| Context switching | Minimal | Frequent |
| Control | Less direct, trust team-lead | Full control |
| Best for | Large/long tasks | Quick tasks, learning swarms |
Recommendation: Use delegation mode for most work. Switch to direct mode only if you need fine-grained control or want to learn the swarm mechanics.
Before creating a team, briefly analyze the work:
You don't need a detailed task breakdown - team-lead will do that.
Example:
User: "Implement payment processing system"
Your analysis:
/claude-swarm:swarm-create "team-name" "Brief description"
What happens:
~/.claude/teams/ and ~/.claude/tasks/Options:
--lead-model <model> - Model for team-lead (haiku/sonnet/opus, default: sonnet)--no-lead - Skip auto-spawn, you become team-lead (direct mode)Examples:
# Standard team with auto-spawned team-lead
/claude-swarm:swarm-create "payment-system" "Stripe integration"
# Complex work - use opus for team-lead
/claude-swarm:swarm-create "architecture-refactor" "Major refactoring" --lead-model opus
Create high-level tasks that define the goals:
/claude-swarm:task-create "Backend API" "Implement Stripe payment endpoints"
/claude-swarm:task-create "Checkout UI" "Build payment form and confirmation pages"
Note: You can also let team-lead create all tasks based on your brief. Either approach works.
Send your requirements, constraints, and context:
/claude-swarm:swarm-message team-lead "Here's what we need:
Goal: Integrate Stripe payments
- Backend: Use stripe npm package, add to existing backend/services/
- Frontend: Build checkout form matching our design system
- Tests: Integration tests required
Constraints:
- Must use existing auth middleware
- Target staging environment for testing
- Use sonnet for workers (haiku for simple tests OK)
Let me know if you have questions before spawning workers."
Good briefs include:
Check in periodically without micromanaging:
# High-level status
/claude-swarm:swarm-status payment-system
# Check for messages (team-lead reports milestones)
/claude-swarm:swarm-inbox
# View task progress
/claude-swarm:task-list
Monitoring cadence:
Trust the team-lead - They'll reach out when they need you.
Team-lead will consult you for:
# Check your inbox
/claude-swarm:swarm-inbox
# You might see:
# <teammate-message teammate_id="team-lead">
# Question: Should we support guest checkout or require login?
# Context: Design doc doesn't specify this...
# </teammate-message>
# Respond with guidance
/claude-swarm:swarm-message team-lead "Require login for v1. Guest checkout can be a follow-up task."
Be responsive - Team-lead and workers wait on your decisions.
When work is complete:
# Verify completion
/claude-swarm:task-list
# Clean up
/claude-swarm:swarm-cleanup payment-system # Kills sessions only
/claude-swarm:swarm-cleanup payment-system --force # Also removes files
Good brief:
/claude-swarm:swarm-message team-lead "Implementing user dashboard:
Requirements:
- Dashboard page at /dashboard showing user stats
- Widget components for activity, notifications, settings
- API endpoint to fetch dashboard data
Patterns to follow:
- See existing pages in frontend/pages/ for structure
- Use backend/services/userService.ts as API pattern
Team composition suggestion:
- 1 backend-dev for API
- 1 frontend-dev for UI
- 1 tester for integration tests
Let me know if you need clarification before starting."
Poor brief:
/claude-swarm:swarm-message team-lead "Build a dashboard"
Good check-in:
/claude-swarm:swarm-status my-team
/claude-swarm:swarm-inbox
If status looks good and no messages, let them work.
Avoid:
When team-lead consults you, respond with:
# Team-lead asks: "Backend and frontend disagree on API format. Which approach?"
/claude-swarm:swarm-message team-lead "Use JSON:API format per our standards. Backend should adjust. Let me know if they need examples from existing endpoints."
Core commands for orchestrators:
| Command | Purpose |
|---|---|
/claude-swarm:swarm-create <team> [desc] | Create team (auto-spawns team-lead) |
/claude-swarm:task-create <subject> [desc] | Create high-level task |
/claude-swarm:swarm-status <team> | View team status |
/claude-swarm:swarm-inbox | Check messages from team-lead |
/claude-swarm:swarm-message <to> <msg> | Message team-lead |
/claude-swarm:task-list | View task progress |
/claude-swarm:swarm-cleanup <team> [--force] | Clean up team |
Commands primarily used by team-lead:
| Command | Purpose |
|---|---|
/claude-swarm:swarm-spawn | Spawn workers |
/claude-swarm:swarm-verify | Verify workers alive |
/claude-swarm:task-update | Assign/update tasks |
/claude-swarm:swarm-broadcast | Message all workers |
See Slash Commands Reference for detailed options.
When briefing team-lead, suggest appropriate roles and models:
Roles:
| Role | Use For |
|---|---|
worker | General-purpose tasks |
backend-developer | API, server logic, database |
frontend-developer | UI, styling, interactions |
reviewer | Code review, quality assurance |
researcher | Documentation, investigation |
tester | Test writing, QA |
Models:
| Model | Use For |
|---|---|
haiku | Simple, well-defined tasks |
sonnet | Balanced complexity (recommended default) |
opus | Complex reasoning, architecture |
Scenario: Implement user authentication
# 1. Create team
/claude-swarm:swarm-create "auth-feature" "JWT authentication system"
# 2. Brief team-lead
/claude-swarm:swarm-message team-lead "Implement JWT authentication:
Requirements:
- Login/signup endpoints with JWT
- Frontend login/signup forms
- Protected route middleware
- Integration tests
Patterns:
- Backend in backend/auth/
- Frontend in frontend/pages/auth/
- Tests in tests/auth/
Suggest spawning: researcher for design, backend-dev, frontend-dev, tester
Use sonnet for all workers.
Questions? Let me know, otherwise proceed."
# 3. Check progress (after ~1 hour)
/claude-swarm:swarm-status auth-feature
/claude-swarm:swarm-inbox
# 4. Answer any consults
/claude-swarm:swarm-message team-lead "Use HTTP-only cookies for tokens, not localStorage."
# 5. Cleanup when complete
/claude-swarm:task-list # Verify all done
/claude-swarm:swarm-cleanup auth-feature
You provided direction and monitored - team-lead handled the coordination details.
If you use --no-lead or want to coordinate yourself, see the swarm-team-lead skill for:
For issues with spawn failures, status mismatches, or team problems:
/claude-swarm:swarm-diagnose <team> to identify issues/claude-swarm:swarm-message team-lead "Please run /swarm-diagnose and report issues"User-configurable:
| Variable | Description |
|---|---|
SWARM_MULTIPLEXER | Force "tmux" or "kitty" |
SWARM_KITTY_MODE | Kitty spawn mode: split, tab, or window |