team-builder
affaan-m/ECC
Explora los perfiles de agentes disponibles y crea equipos ad hoc de hasta 5 agentes para que trabajen en paralelo en una tarea; a continuación, sintetiza sus resultados.
...Expandir todoCreador de equipos
Menú interactivo para explorar y crear equipos de agentes según las necesidades. Funciona con colecciones de agentes en una estructura plana o en subdirectorios de dominio.
Cuándo utilizarlo
- Tienes varios perfiles de agente (archivos Markdown) y quieres seleccionar cuáles utilizar para una tarea
- Quieres formar un equipo ad hoc a partir de diferentes ámbitos (por ejemplo, Seguridad + SEO + Arquitectura)
- Quieres ver qué agentes están disponibles antes de decidirte
Requisitos previos
Los archivos de los agentes deben ser archivos Markdown que contengan una descripción del perfil (identidad, reglas, flujo de trabajo, resultados esperados). El primer encabezado con el símbolo # se utiliza como nombre del agente y el primer párrafo como descripción.
Se admiten tanto estructuras planas como con subdirectorios:
Estructura con subdirectorios: el ámbito se deduce del nombre de la carpeta:
agents/
├── engineering/
│ ├── security-engineer.md
│ └── software-architect.md
├── marketing/
│ └── seo-specialist.md
└── sales/
└── discovery-coach.md
Estructura plana: el dominio se deduce a partir de prefijos compartidos en los nombres de los archivos. Un prefijo se considera un dominio cuando lo comparten al menos dos archivos. Los archivos con prefijos únicos se incluyen en «General». Nota: el algoritmo divide en el primer «-», por lo que los dominios de varias palabras (p. ej., «gestión-de-productos») deben utilizar en su lugar la estructura de subdirectorios:
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
Configuración
Los agentes se detectan mediante dos métodos, que se fusionan y se deduplican por nombre de agente:
- comando
«claude agents»(principal): ejecuta«claude agents»para obtener todos los agentes conocidos por la CLI, incluidos los agentes de usuario, los agentes de complementos (por ejemplo,«everything-claude-code:architect») y los agentes integrados. Esto cubre automáticamente las instalaciones del mercado ECC sin necesidad de configurar ninguna ruta. - Expresión de patrón de archivo (opción alternativa, para leer el contenido de los agentes): los archivos Markdown de los agentes se leen desde:
./agents/**/*.md+./agents/*.md— agentes locales del proyecto~/.claude/agents/**/*.md+~/.claude/agents/*.md— agentes globales de usuario
Las fuentes anteriores tienen prioridad cuando los nombres coinciden: agentes de usuario > agentes de complementos > agentes integrados. Se puede utilizar una ruta personalizada en su lugar si el usuario especifica una.
Cómo funciona
Paso 1: Descubrir los agentes disponibles
Ejecuta «claude agents » para obtener la lista completa de agentes. Analiza cada línea:
- Los agentes de complemento llevan el prefijo
«plugin-name:»(por ejemplo,«everything-claude-code:security-reviewer»). Utiliza la parte que aparece después de«:»como nombre del agente y el nombre del complemento como dominio. - Los agentes de usuario no tienen prefijo. Lee el archivo Markdown correspondiente en
~/.claude/agents/o./agents/para extraer el nombre y la descripción. - Los agentes integrados (p. ej.,
Explore,Plan) se omiten a menos que el usuario solicite explícitamente su inclusión.
Para los agentes de usuario cargados desde archivos Markdown:
- Estructura de subdirectorios: extrae el dominio del nombre de la carpeta principal
- Estructura plana: recopila todos los prefijos de los nombres de archivo (el texto que precede al primer
«-»). Un prefijo se considera un dominio solo si aparece en dos o más nombres de archivo (por ejemplo,engineering-security-engineer.mdyengineering-software-architect.mdcomienzan ambos por«engineering»→ dominio «Engineering»). Los archivos con prefijos únicos (p. ej.,code-reviewer.md,tdd-guide.md) se agrupan en «General» - Extraer el nombre del agente del primer
encabezado #. Si no se encuentra ningún encabezado, derivar el nombre del nombre del archivo (eliminar.md, sustituir los guiones por espacios y poner las mayúsculas iniciales). - Extrae un resumen de una línea del primer párrafo tras el encabezado
Si no se encuentran agentes tras ejecutar «claude agents» y buscar en las ubicaciones de los archivos, informa al usuario: «No se han encontrado agentes. Ejecuta claude agents para verificar tu configuración». A continuación, detén el proceso.
Paso 2: Mostrar el menú de dominios
Dominios de agentes disponibles:
1. Ingeniería — Arquitecto de software, Ingeniero de seguridad
2. Marketing — Especialista en SEO
3. Ventas — Asesor de captación, Estratega de ventas activas
Selecciona dominios o nombra agentes específicos (p. ej., «1,3» o «seguridad + seo»):
- Omite los dominios sin agentes (directorios vacíos)
- Mostrar el número de agentes por dominio
Paso 3: Gestionar la selección
Acepta entradas flexibles:
- Números: «1,3» selecciona a todos los agentes de Ingeniería y Ventas
- Nombres: «security + seo» realiza una búsqueda aproximada entre los agentes detectados
- «todos de ingeniería» selecciona a todos los agentes de ese dominio
Si se seleccionan más de 5 agentes, enuméralos alfabéticamente y pide al usuario que reduzca la selección: «Has seleccionado N agentes (máximo 5). Elige cuáles quieres conservar o di "los 5 primeros" para utilizar los cinco primeros por orden alfabético».
Confirmar selección:
Seleccionados: Ingeniero de seguridad + Especialista en SEO
¿En qué deberían trabajar? (describe la tarea):
Paso 4: Generar agentes en paralelo
- Lee el archivo Markdown de cada agente seleccionado
- Solicita la descripción de la tarea si aún no se ha proporcionado
- Iniciar todos los agentes en paralelo utilizando la herramienta Agent:
subagent_type: "general-purpose"prompt: "{contenido del archivo del agente}\n\nTarea: {descripción de la tarea}"- Cada agente se ejecuta de forma independiente; no es necesaria la comunicación entre agentes
- Si un agente falla (error, tiempo de espera agotado o salida vacía), anota el fallo en la misma línea (p. ej., «Ingeniero de seguridad: falló — [motivo]») y continúa con los resultados de los agentes que han tenido éxito
Paso 5: Sintetizar los resultados
Recopila todas las salidas y presenta un informe unificado:
- Resultados agrupados por agente
- Sección de síntesis en la que se destaquen:
- Puntos de acuerdo entre los agentes
- Conflictos o tensiones entre las recomendaciones
- Próximos pasos recomendados
Si solo se ha seleccionado un agente, omite la síntesis y presenta directamente el resultado.
Reglas
- Solo descubrimiento dinámico. Nunca codificar listas de agentes de forma fija. Los nuevos archivos del directorio aparecen automáticamente en el menú.
- Máximo de 5 agentes por equipo. Más de 5 produce rendimientos decrecientes y un uso excesivo de tokens. Aplicar esta restricción en el momento de la selección.
- Distribución paralela. Todos los agentes se ejecutan simultáneamente: utiliza el patrón de invocación paralela de la herramienta Agent.
- Llamadas paralelas a Agent, no a TeamCreate. Esta habilidad utiliza llamadas paralelas a la herramienta Agent para el trabajo independiente. TeamCreate (una herramienta de Claude Code para el diálogo multiagente) solo es necesaria cuando los agentes deben debatir o responderse entre sí.
Ejemplos
Usuario: creador de equipos
Claude:
Dominios de agentes disponibles:
1. Ingeniería (2) — Arquitecto de software, ingeniero de seguridad
2. Marketing (1) — Especialista en SEO
3. Ventas (4): asesor de descubrimiento, estratega de ventas activas, estratega de propuestas, ingeniero de ventas
4. Asistencia (1): resumen ejecutivo
Elige ámbitos o nombra agentes específicos:
Usuario: seguridad + SEO
Claude:
Seleccionados: ingeniero de seguridad + especialista en SEO
¿En qué deberían trabajar?
Usuario: Revisa mi sitio de comercio electrónico en Next.js antes del lanzamiento
[Ambos agentes se activan en paralelo, aplicando cada uno su especialidad al código fuente]
Claude:
## Conclusiones del ingeniero de seguridad
- [conclusiones...]
## Conclusiones del especialista en SEO
- [conclusiones...]
## Síntesis
Ambos agentes coinciden en: [...]
Conflicto: Seguridad recomienda un CSP que bloquee los estilos en línea, mientras que SEO necesita el marcado de esquema en línea. Solución: [...]
Próximos pasos: [...]
---
name: team-builder
description: Browse available agent personas and compose ad-hoc teams of up to 5 agents to work in parallel on a task, then synthesize their results.
---
# Team 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:
1. **`claude agents` command** (primary) — run `claude agents` to get all agents known to the CLI, including user agents, plugin agents (e.g. `everything-claude-code:architect`), and built-in agents. This automatically covers ECC marketplace installs without any path configuration.
2. **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., `everything-claude-code: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.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"
- 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
1. Read each selected agent's markdown file
2. Prompt for the task description if not already provided
3. 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
4. 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: [...]
```
Todos los archivos
1 archivosInstalar team-builder
Descarga y descomprime los archivos de habilidades en tu directorio .claude/skills/.
Descargar ZIPClona el repositorio y copia los archivos de la habilidad a tu proyecto.
git clone https://github.com/affaan-m/ECC/tree/main/skills/team-builder # Copy SKILL.md to your .claude/skills/ directory
Copiar





Hogar
