From claude-swarm
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.
npx claudepluginhub joshuarweaver/cascade-ai-ml-agents-misc-1 --plugin und3rf10w-claude-litterThis skill uses the workspace's default tool permissions.
This 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.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
This 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
# Graceful cleanup (recommended - notifies teammates)
/claude-swarm:swarm-cleanup payment-system --graceful
# Or immediate cleanup (suspends without notification)
/claude-swarm:swarm-cleanup payment-system
# Or permanent deletion
/claude-swarm:swarm-cleanup payment-system --force
External Claude instances can discover and join your team:
# External agent discovers available teams
/claude-swarm:swarm-discover
# External agent requests to join
/claude-swarm:swarm-join payment-system backend-developer
# You (team-lead) see request in inbox
/claude-swarm:swarm-inbox
# Approve or reject
/claude-swarm:swarm-approve-join <request-id> new-backend-dev blue
/claude-swarm:swarm-reject-join <request-id> "Team at capacity"
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> [--graceful|--force] | Clean up team |
Team discovery commands:
| Command | Purpose |
|---|---|
/claude-swarm:swarm-discover | List joinable teams |
/claude-swarm:swarm-join <team> | Request to join |
/claude-swarm:swarm-approve-join <id> | Approve join (team-lead) |
/claude-swarm:swarm-reject-join <id> | Reject join (team-lead) |
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 |
/claude-swarm:swarm-request-shutdown | Request graceful shutdown |
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 |