Help us improve
Share bugs, ideas, or general feedback.
From bopen-tools
Orchestrates parallel agent teams from the bopen-tools roster to break large tasks into sub-tasks handled by domain experts. Requires CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1.
How this skill is triggered — by the user, by Claude, or both
Slash command
/bopen-tools:deploy-agent-teamThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Deploy a coordinated team of specialized agents from the bopen-tools kit using Claude Code's agent team system. Agents work in parallel on independent tasks and communicate through a shared task list and message bus.
Share bugs, ideas, or general feedback.
Deploy a coordinated team of specialized agents from the bopen-tools kit using Claude Code's agent team system. Agents work in parallel on independent tasks and communicate through a shared task list and message bus.
Agent teams require this env var to be set:
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
Add to ~/.claude/settings.json:
{
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
}
}
Without this, TeamCreate will fail.
mode on Every Agent SpawnWARNING: The default permission mode will block teammates waiting for permission prompts that never arrive, stalling the whole team.
Always set mode: "bypassPermissions" when spawning teammates:
Agent(
subagent_type: "bopen-tools:designer",
team_name: "feature-billing",
name: "designer",
mode: "bypassPermissions", # ← REQUIRED
prompt: "..."
)
See references/permissions-and-isolation.md for all mode options and worktree isolation.
| Agent | subagent_type | Best for |
|---|---|---|
| researcher | bopen-tools:researcher | Libraries, APIs, docs, competitive analysis |
| nextjs | bopen-tools:nextjs | Next.js, React, Vercel, RSC, app router |
| designer | bopen-tools:designer | UI, Tailwind, shadcn/ui, accessibility |
| agent-builder | bopen-tools:agent-builder | AI agent systems, LLM integration, Vercel AI SDK |
| database | bopen-tools:database | Schema, queries, PostgreSQL, Redis, Convex |
| integration-expert | bopen-tools:integration-expert | REST APIs, webhooks, third-party services |
| code-auditor | bopen-tools:code-auditor | Security review, vulnerability scanning |
| tester | bopen-tools:tester | Unit, integration, e2e tests, CI |
| documentation-writer | bopen-tools:documentation-writer | READMEs, API docs, PRDs, guides |
| devops | bopen-tools:devops | Vercel+Railway+Bun, CI/CD, monitoring |
| optimizer | bopen-tools:optimizer | Bundle analysis, Lighthouse, Core Web Vitals |
| architecture-reviewer | bopen-tools:architecture-reviewer | System design, refactoring strategy, tech debt |
| mobile | bopen-tools:mobile | React Native, Swift, Kotlin, Flutter |
| payments | bopen-tools:payments | Stripe, billing, financial transactions |
| marketer | bopen-tools:marketer | CRO, SEO, copy, launch strategy |
| legal | product-skills:legal | Privacy, compliance, ToS |
| mcp | bopen-tools:mcp | MCP server setup, config, diagnostics |
Full roster with per-agent skills to mention in spawn prompts: references/agent-roster.md
Before calling any tools, identify:
TeamCreate(
team_name: "feature-billing",
description: "Implement Stripe billing with UI, API, tests, and docs"
)
Set dependencies with addBlockedBy where order matters:
TaskCreate(
subject: "Design billing UI components",
description: "Create PricingCard, BillingHistory, UpgradeModal using shadcn/ui.
Repo: ~/code/myapp. Tailwind v4. Output: src/components/billing/.",
activeForm: "Designing billing UI"
) → id: "1"
TaskCreate(
subject: "Implement Stripe integration",
description: "Set up webhooks, subscription creation, customer portal.
Repo: ~/code/myapp. API routes in app/api/billing/.",
activeForm: "Implementing Stripe integration"
) → id: "2"
TaskCreate(
subject: "Write billing test suite",
description: "Vitest tests for all billing API routes and webhook handler.
Repo: ~/code/myapp. Tests in __tests__/billing/.",
activeForm: "Writing billing tests"
) → id: "3"
TaskUpdate(taskId: "3", addBlockedBy: ["2"]) # tests wait for Stripe impl
Agent(
subagent_type: "bopen-tools:designer",
team_name: "feature-billing",
name: "designer",
mode: "bypassPermissions",
prompt: "..." # see references/spawn-prompt-guide.md
)
Every spawn prompt must be self-contained — teammates have zero conversation history. See references/spawn-prompt-guide.md for the full template and how to list each agent's available skills.
Messages from teammates arrive automatically. Check progress:
TaskList()
Answer a blocked teammate:
SendMessage(
type: "message",
recipient: "backend",
content: "Stripe webhook secret is STRIPE_WEBHOOK_SECRET in .env.local",
summary: "Stripe secret location"
)
SendMessage(type: "shutdown_request", recipient: "designer", content: "Work complete")
SendMessage(type: "shutdown_request", recipient: "backend", content: "Work complete")
SendMessage(type: "shutdown_request", recipient: "tester", content: "Work complete")
# Wait for each shutdown_response, then:
TeamDelete()
Parallel from the start:
├── researcher: research best practices / prior art
├── designer: UI components
├── nextjs or integration-expert: API / server logic
└── database: schema changes
Blocked until implementation complete:
├── tester: test suite
└── documentation-writer: feature docs
Parallel:
├── code-auditor: full vulnerability scan (Semgrep, CodeQL)
└── architecture-reviewer: structural/design issues
Blocked until audit complete:
├── nextjs or integration-expert: fix findings
└── tester: regression tests
Parallel:
├── code-auditor: security review
├── tester: coverage audit
├── optimizer: Lighthouse + bundle
├── documentation-writer: user-facing docs
└── legal: privacy / ToS
Blocked until all above complete:
└── devops: deploy pipeline
mode: "bypassPermissions" on every Agent spawn or teammates block| Problem | Fix |
|---|---|
TeamCreate fails | Check CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 is set |
| Teammate blocks/stalls | Missing mode: "bypassPermissions" — always set this |
| Teammate not claiming tasks | Check blockedBy deps with TaskGet |
| Teammate idle and unresponsive | Send a direct SendMessage — idle agents wake on receipt |
TeamDelete fails | Teammates still running. Send shutdown_request to each |
| Teammate went off-script | Send correction via SendMessage. If severe, shutdown and respawn |
references/permissions-and-isolation.md — mode parameter options, worktree isolation for parallel editsreferences/agent-roster.md — full roster table + which skills to mention per agent in spawn promptsreferences/spawn-prompt-guide.md — complete spawn prompt template with skills sectionnpx claudepluginhub b-open-io/claude-plugins --plugin bopen-toolsOrchestrates Claude Code agent teams for parallel multi-agent workflows on complex tasks using TeamCreate, SendMessage, TaskUpdate, and shared task lists. Enable with --enable-teams flag.
Orchestrates multi-agent teams to decompose complex tasks, select optimal sub-agents like Explore or Plan, and execute parallel work across domains such as frontend and backend.
Orchestrates Claude Code agent teams: spawn teammates, assign tasks with dependencies, manage communication via messages or broadcasts, configure modes, and set quality gate hooks.