Interactive agent picker for composing and dispatching parallel teams
Interactive menu for browsing and composing agent teams on demand. Works with flat or domain-subdirectory agent collections.
Agent files must be markdown files containing a persona prompt (identity, rules, workflow, deliverables). The first # Heading is used as the agent name and the first paragraph as the description.
Both flat and subdirectory layouts are supported:
Subdirectory layout — domain is inferred from the folder name:
agents/
├── engineering/
│ ├── security-engineer.md
│ └── software-architect.md
├── marketing/
│ └── seo-specialist.md
└── sales/
└── discovery-coach.md
Flat layout — domain inferred from shared filename prefixes. A prefix counts as a domain when 2+ files share it. Files with unique prefixes go to "General". Note: the algorithm splits at the first , so multi-word domains (e.g., ) should use the subdirectory layout instead:
-product-managementagents/
├── engineering-security-engineer.md
├── engineering-software-architect.md
├── marketing-seo-specialist.md
├── marketing-content-strategist.md
├── sales-discovery-coach.md
└── sales-outbound-strategist.md
Agents are discovered via two methods, merged and deduplicated by agent name:
claude agents command (primary) — run claude agents to get all agents known to the CLI, including user agents, plugin agents (e.g. heiba-claude-code:architect), and built-in agents. This automatically covers ECC marketplace installs without any path configuration../agents/**/*.md + ./agents/*.md — project-local agents~/.claude/agents/**/*.md + ~/.claude/agents/*.md — global user agentsEarlier sources take precedence when names collide: user agents > plugin agents > built-in agents. A custom path can be used instead if the user specifies one.
Run claude agents to get the full agent list. Parse each line:
plugin-name: (e.g., heiba-claude-code:security-reviewer). Use the part after : as the agent name and the plugin name as the domain.~/.claude/agents/ or ./agents/ to extract the name and description.Explore, Plan) are skipped unless the user explicitly asks to include them.For user agents loaded from markdown files:
-). A prefix qualifies as a domain only if it appears in 2 or more filenames (e.g., engineering-security-engineer.md and engineering-software-architect.md both start with engineering → Engineering domain). Files with unique prefixes (e.g., code-reviewer.md, tdd-guide.md) are grouped under "General"# Heading. If no heading is found, derive the name from the filename (strip .md, replace hyphens with spaces, title-case)If no agents are found after running claude agents and probing file locations, inform the user: "No agents found. Run claude agents to verify your setup." Then stop.
Available agent domains:
1. Engineering — Software Architect, Security Engineer
2. Marketing — SEO Specialist
3. Sales — Discovery Coach, Outbound Strategist
Pick domains or name specific agents (e.g., "1,3" or "security + seo"):
Accept flexible input:
If more than 5 agents are selected, list them alphabetically and ask the user to narrow down: "You selected N agents (max 5). Pick which to keep, or say 'first 5' to use the first five alphabetically."
Confirm selection:
Selected: Security Engineer + SEO Specialist
What should they work on? (describe the task):
subagent_type: "general-purpose"prompt: "{agent file content}\n\nTask: {task description}"Collect all outputs and present a unified report:
If only 1 agent was selected, skip synthesis and present the output directly.
User: team builder
Claude:
Available agent domains:
1. Engineering (2) — Software Architect, Security Engineer
2. Marketing (1) — SEO Specialist
3. Sales (4) — Discovery Coach, Outbound Strategist, Proposal Strategist, Sales Engineer
4. Support (1) — Executive Summary
Pick domains or name specific agents:
User: security + seo
Claude:
Selected: Security Engineer + SEO Specialist
What should they work on?
User: Review my Next.js e-commerce site before launch
[Both agents spawn in parallel, each applying their specialty to the codebase]
Claude:
## Security Engineer Findings
- [findings...]
## SEO Specialist Findings
- [findings...]
## Synthesis
Both agents agree on: [...]
Tension: Security recommends CSP that blocks inline styles, SEO needs inline schema markup. Resolution: [...]
Next steps: [...]