executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
create-teamCrea un nuevo archivo de composición de equipo siguiendo la plantilla de equipo de agent-almanac y las convenciones del registro. Cubre la definición del propósito del equipo, la selección de miembros, la elección del patrón de coordinación, el diseño de la descomposición de tareas, el bloque de configuración legible por máquinas, la integración en el regis…
Independent GitHub snapshot · Automated classification · Original documentation governs
Define una composición de equipo multiagente que coordina dos o más agentes para realizar tareas que requieren múltiples perspectivas, especialidades o fases. El archivo de equipo resultante se integra con el registro de equipos y puede activarse en Claude Code por nombre.
data-pipeline-review)agents/_registry.yml)hub-and-spoke, sequential, parallel, timeboxed, adaptiveArticular qué problema requiere que múltiples agentes trabajen juntos. Un propósito de equipo válido debe responder:
Escribir el propósito como un párrafo que un humano o agente pueda leer para decidir si activar este equipo.
Esperado: Un párrafo claro que explica la propuesta de valor del equipo, con al menos dos especialidades distintas identificadas.
En caso de fallo: Si no puedes identificar dos especialidades distintas, la tarea probablemente no necesita un equipo. Usar un solo agente con múltiples habilidades en su lugar.
El agente líder orquesta el equipo. Elegir un agente de agents/_registry.yml que:
# List all available agents
grep "^ - id:" agents/_registry.yml
El líder también debe aparecer como miembro en la composición del equipo (el líder siempre es un miembro).
Esperado: Un agente seleccionado como líder, confirmado que existe en el registro de agentes.
En caso de fallo: Si ningún agente existente se adapta al rol de líder, crear uno primero usando la habilidad create-agent (o agents/_template.md manualmente). No crear un equipo con un líder que no existe como definición de agente.
Elegir de 2 a 5 miembros (incluyendo al líder) con responsabilidades claras y no superpuestas. Para cada miembro, definir:
# Verify each candidate agent exists
grep "id: agent-name-here" agents/_registry.yml
Validar la no superposición: ningún dos miembros deben tener la misma responsabilidad principal. Si las responsabilidades se superponen, ya sea fusionar los roles o afilar los límites.
Esperado: De 2 a 5 miembros seleccionados, cada uno con un rol único y responsabilidades claras, todos confirmados en el registro de agentes.
En caso de fallo: Si un agente necesario no existe, crearlo primero. Si las responsabilidades se superponen entre dos miembros, reescribirlas para aclarar los límites o eliminar un miembro.
Seleccionar el patrón que mejor se adapte al flujo de trabajo del equipo. Los cinco patrones y sus casos de uso:
| Patrón | Cuándo usar | Equipos de ejemplo |
|---|---|---|
| hub-and-spoke | El líder distribuye tareas, recopila resultados y sintetiza. Mejor para flujos de trabajo de revisión y auditoría. | r-package-review, gxp-compliance-validation, ml-data-science-review |
| sequential | Cada agente construye sobre la salida del agente anterior. Mejor para pipelines y flujos de trabajo por etapas. | fullstack-web-dev, tending |
| parallel | Todos los agentes trabajan simultáneamente en subtareas independientes. Mejor cuando las subtareas no tienen dependencias. | devops-platform-engineering |
| timeboxed | El trabajo se organiza en iteraciones de longitud fija. Mejor para trabajo de proyecto continuo con un backlog. | scrum-team |
| adaptive | El equipo se auto-organiza según la tarea. Mejor para tareas desconocidas o muy variables. | opaque-team |
Guía de decisión:
Esperado: Un patrón de coordinación seleccionado con una justificación clara para la elección.
En caso de fallo: Si no estás seguro, por defecto hub-and-spoke. Es el patrón más común y funciona para la mayoría de los flujos de trabajo de revisión y análisis.
Definir cómo una solicitud entrante típica se divide entre los miembros del equipo. Estructurar esto como fases:
Para cada miembro, listar de 3 a 5 tareas concretas que realizarían en una solicitud típica. Estas tareas aparecen tanto en la sección prosa de "Task Decomposition" como en la lista tasks del bloque CONFIG.
Esperado: Una descomposición estructurada por fases con tareas concretas por miembro, que coincida con el patrón de coordinación elegido.
En caso de fallo: Si las tareas son demasiado vagas (p.ej., "revisa cosas"), hacerlas específicas (p.ej., "revisa el estilo del código frente a la guía de estilo de tidyverse, verifica la cobertura de pruebas, evalúa la calidad de los mensajes de error").
Copiar la plantilla y completar todas las secciones:
cp teams/_template.md teams/<team-name>.md
Completar las siguientes secciones en orden:
name, description, lead, version ("1.0.0"), author, created, updated, tags, coordination, members[] (cada uno con id, role, responsibilities)# Team Name (legible por humanos, en formato título)Esperado: Un archivo de equipo completo con todas las secciones completadas, sin texto de marcador de posición de la plantilla.
En caso de fallo: Comparar con un archivo de equipo existente (p.ej., teams/r-package-review.md) para verificar la estructura. Buscar strings de marcador de posición de plantilla como "your-team-name" o "another-agent" para encontrar secciones sin completar.
El bloque CONFIG entre los marcadores <!-- CONFIG:START --> y <!-- CONFIG:END --> proporciona YAML legible por máquinas para las herramientas. Estructurarlo de la siguiente manera:
<!-- CONFIG:START -->
```yaml
team:
name: <team-name>
lead: <lead-agent-id>
coordination: <pattern>
members:
- agent: <agent-id>
role: <role-title>
subagent_type: <agent-id> # Claude Code subagent type for spawning
# ... repeat for each member
tasks:
- name: <task-name>
assignee: <agent-id>
description: <one-line description>
# ... repeat for each task
- name: synthesize-report # final task if hub-and-spoke
assignee: <lead-agent-id>
description: <synthesis description>
blocked_by: [<prior-task-names>] # for dependency ordering
```
<!-- CONFIG:END -->
El campo subagent_type se mapea a los tipos de agentes de Claude Code. Para agentes definidos en .claude/agents/, usar el id del agente como el subagent_type. Usar blocked_by para expresar dependencias de tareas (p.ej., la síntesis está bloqueada por todas las tareas de revisión).
Esperado: El bloque CONFIG es YAML válido, todos los agentes coinciden con los de la lista de miembros del frontmatter, y las dependencias de tareas forman un DAG válido (sin ciclos).
En caso de fallo: Validar la sintaxis YAML. Verificar que cada assignee en la lista de tareas coincide con un agent en la lista de miembros. Comprobar que blocked_by hace referencia solo a nombres de tareas definidos anteriormente en la lista.
Editar teams/_registry.yml para añadir el nuevo equipo:
- id: <team-name>
path: <team-name>.md
lead: <lead-agent-id>
members: [<agent-id-1>, <agent-id-2>, ...]
coordination: <pattern>
description: <one-line description matching frontmatter>
Actualizar el recuento total_teams al inicio del registro.
# Verify the entry was added
grep "id: <team-name>" teams/_registry.yml
Esperado: La nueva entrada aparece en el registro, el recuento total_teams se incrementa en uno.
En caso de fallo: Si el nombre del equipo ya existe en el registro, elegir un nombre diferente o actualizar la entrada existente. Verificar que la sangría YAML coincide con las entradas existentes.
Regenerar los archivos README a partir del registro actualizado:
npm run update-readmes
Esto actualiza las secciones dinámicas en teams/README.md y cualquier otro archivo con marcadores <!-- AUTO:START --> / <!-- AUTO:END --> que hagan referencia a datos de equipos.
Esperado: El comando termina con 0, teams/README.md ahora lista el nuevo equipo.
En caso de fallo: Ejecutar npm run check-readmes para ver qué archivos están desincronizados. Si el script falla, verificar que package.json existe en la raíz del repositorio y js-yaml está instalado (npm install).
Probar que el equipo puede activarse en Claude Code:
User: Use the <team-name> team to <typical task description>
Claude Code debe:
teams/<team-name>.mdEsperado: Claude Code reconoce el nombre del equipo, identifica al líder y miembros correctos, y sigue el patrón de coordinación.
En caso de fallo: Verificar que el archivo del equipo está en teams/<team-name>.md (no en un subdirectorio). Comprobar que todos los agentes miembros existen en .claude/agents/ (que enlaza a agents/). Confirmar que el equipo está listado en teams/_registry.yml.
Obligatorio para todos los equipos. Este paso se aplica tanto a autores humanos como a agentes de IA que siguen este procedimiento. No omitir — las traducciones faltantes se acumulan como un atraso obsoleto.
Generar archivos de traducción para las 4 localizaciones compatibles inmediatamente después de confirmar el nuevo equipo:
for locale in de zh-CN ja es; do
npm run translate:scaffold -- teams <team-name> "$locale"
done
Luego traducir la prosa generada en cada archivo (los bloques de código y los IDs permanecen en inglés). Finalmente regenerar los archivos de estado:
npm run translation:status
Esperado: 4 archivos creados en i18n/{de,zh-CN,ja,es}/teams/<team-name>.md, todos con source_commit coincidiendo con el HEAD actual. npm run validate:translations muestra 0 advertencias de obsolescencia para el nuevo equipo.
En caso de fallo: Si la generación de andamiaje falla, verificar que el equipo existe en teams/_registry.yml. Si los archivos de estado no se actualizan, ejecutar npm run translation:status explícitamente — no se activa automáticamente por CI.
teams/<team-name>.mdname, description, lead, version, author, coordination, members[]id, role y responsibilities<!-- CONFIG:START --> y <!-- CONFIG:END -->agents/_registry.ymlteams/_registry.yml con la ruta, líder, miembros y coordinación correctostotal_teams en el registro se incrementanpm run update-readmes se completa sin erroresTeamCreate. Sin él, el archivo del equipo solo es legible por humanos y no puede activarse programáticamente.create-skill - sigue el mismo meta-patrón para crear archivos SKILL.mdcreate-agent - crear definiciones de agentes que sirvan como miembros del equipocommit-changes - confirmar el nuevo archivo del equipo y las actualizaciones del registro