team-builder
- Use it when:
- You have a collection of agent persona files and want several specialists, such as security and SEO, to look at one task.
- It does:
- Lists your agents by domain, takes your picks by number or name, then runs each as a parallel subagent with its persona and your task.
- You get:
- Each agent's findings, then a synthesis of where they agree, where they conflict and next steps.
- Needs:
- Claude Code: it lists agents with the claude agents command and runs them through the Agent tool.
- Unlike TeamCreate agent teams:
- This one's agents work independently and never talk to each other.
TL;DR
An interactive menu for composing ad hoc agent teams. It finds agents with the claude agents command, which covers user, plugin and built-in agents, and reads persona files from ./agents and ~/.claude/agents. Domains come from subfolder names or, in a flat folder, from a filename prefix two or more files share; the rest go under General. Built-in agents like Explore and Plan are skipped unless you ask. You pick domains by number, agents by name, or everything in a domain; past five it asks you to narrow down. Each chosen agent then runs at the same time as a general-purpose subagent, prompted with its whole persona file and your task. A failed agent is noted and the others still report. With one agent it shows the output as is; with several it groups results by agent and adds a synthesis of agreements, conflicts between recommendations, and next steps. It never hardcodes the agent list, so new persona files appear on the next run.
Summarizes the skill at d2ef268.
npx skills add https://github.com/affaan-m/ecc --skill team-builder skills.sh pageSource on GitHubAll skills from affaan-m/ecc
- Total Downloads
- 5,400 on skills.sh, Nov 9, 2026
- Repo stars
- 299,776 affaan-m/ecc
- First seen
- May 19, 2026 on skills.sh
Weekly values
| Week to | Installs |
|---|---|
| Sep 21 | 255 |
| Sep 28 | 159 |
| Oct 5 | 143 |
| Oct 12 | 232 |
| Oct 19 | 409 |
| Oct 26 | 402 |
| Nov 2 | 470 |
| Nov 9 | 445 |
| Category |
Build agents, orchestrate workers and give agents memory. Everything for building software: planning, coding, debugging, design, frameworks, cloud, agents and skills. |
|---|---|
| Type |
A multi-step process the agent follows: interview, debug, run a TDD loop, review. |
| Effect |
Adds no side effects of its own. It shapes how the agent thinks, writes or reviews. Guidelines and routers are always effect:none, even when the task they support edits code. |
| Needs |
Relies on the agent being able to spawn subagents. Uses Claude Code features such as hooks or background agents. |
| Publisher |
Everyone else. Unverified vendor claims default to community. |
| Topics |
SKILL.md
From affaan-m/ecc at d2ef268. Checked daily, last changed Nov 6, 2026.
Frontmatter
name: team-builder
description: Interactive picker that discovers available agent personas via the claude agents command and agents/ markdown globs, groups them into domains, has the user select up to five, dispatches them in parallel on one task, and synthesizes agreements and conflicts into a unified report. Use when composing a team of agents, browsing available agent personas, or running several specialist agents in parallel.
metadata:
origin: communityTeam Builder
Interactive menu for browsing and composing agent teams on demand. Works with flat or domain-subdirectory agent collections.
When to Use
- You have multiple agent personas (markdown files) and want to pick which ones to use for a task
- You want to compose an ad-hoc team from different domains (e.g., Security + SEO + Architecture)
- You want to browse what agents are available before deciding
Prerequisites
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., product-management) should use the subdirectory layout instead:
agents/
├── engineering-security-engineer.md
├── engineering-software-architect.md
├── marketing-seo-specialist.md
├── marketing-content-strategist.md
├── sales-discovery-coach.md
└── sales-outbound-strategist.md
Configuration
Agents are discovered via two methods, merged and deduplicated by agent name:
claude agentscommand (primary) — runclaude agentsto get all agents known to the CLI, including user agents, plugin agents (e.g.ecc:architect), and built-in agents. This automatically covers ECC marketplace installs without any path configuration.- File glob (fallback, for reading agent content) — agent markdown files are read from:
./agents/**/*.md+./agents/*.md— project-local agents~/.claude/agents/**/*.md+~/.claude/agents/*.md— global user agents
Earlier 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.
How It Works
Step 1: Discover Available Agents
Run claude agents to get the full agent list. Parse each line:
- Plugin agents are prefixed with
plugin-name:(e.g.,ecc:security-reviewer). Use the part after:as the agent name and the plugin name as the domain. - User agents have no prefix. Read the corresponding markdown file from
~/.claude/agents/or./agents/to extract the name and description. - Built-in agents (e.g.,
Explore,Plan) are skipped unless the user explicitly asks to include them.
For user agents loaded from markdown files:
- Subdirectory layout: extract the domain from the parent folder name
- Flat layout: collect all filename prefixes (text before the first
-). A prefix qualifies as a domain only if it appears in 2 or more filenames (e.g.,engineering-security-engineer.mdandengineering-software-architect.mdboth start withengineering→ Engineering domain). Files with unique prefixes (e.g.,code-reviewer.md,tdd-guide.md) are grouped under "General" - Extract the agent name from the first
# Heading. If no heading is found, derive the name from the filename (strip.md, replace hyphens with spaces, title-case) - Extract a one-line summary from the first paragraph after the heading
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.
Step 2: Present Domain Menu
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"):
- Skip domains with zero agents (empty directories)
- Show agent count per domain
Step 3: Handle Selection
Accept flexible input:
- Numbers: "1,3" selects all agents from Engineering and Sales
- Names: "security + seo" fuzzy-matches against discovered agents
- "all from engineering" selects every agent in that domain
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):
Step 4: Spawn Agents in Parallel
- Read each selected agent's markdown file
- Prompt for the task description if not already provided
- Spawn all agents in parallel using the Agent tool:
subagent_type: "general-purpose"prompt: "{agent file content}\n\nTask: {task description}"- Each agent runs independently — no inter-agent communication needed
- If an agent fails (error, timeout, or empty output), note the failure inline (e.g., "Security Engineer: failed — [reason]") and continue with results from agents that succeeded
Step 5: Synthesize Results
Collect all outputs and present a unified report:
- Results grouped by agent
- Synthesis section highlighting:
- Agreements across agents
- Conflicts or tensions between recommendations
- Recommended next steps
If only 1 agent was selected, skip synthesis and present the output directly.
Rules
- Dynamic discovery only. Never hardcode agent lists. New files in the directory auto-appear in the menu.
- Max 5 agents per team. More than 5 produces diminishing returns and excessive token usage. Enforce at selection time.
- Parallel dispatch. All agents run simultaneously — use the Agent tool's parallel invocation pattern.
- Parallel Agent calls, not TeamCreate. This skill uses parallel Agent tool calls for independent work. TeamCreate (a Claude Code tool for multi-agent dialogue) is only needed when agents must debate or respond to each other.
Examples
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: [...]