--- name: orquestrar-agentes description: > Protocolo de colaboração e handoff entre agentes especializados do ecossistema Azteca. Define como agentes passam contexto, comunicam resultados e resolvem dependências. scope: global --- # Skill: Orquestrar Agentes Use esta skill sempre que uma tarefa exigir a colaboração de dois ou mais agentes especializados, ou quando precisar entender quem deve fazer o quê em uma implementação complexa. --- ## PASSO 1 — Identificar os agentes envolvidos Antes de qualquer implementação, mapear quais agentes são necessários: | Tarefa | Agente responsável | |--------|-------------------| | Definir arquitetura, contratos de API, schemas | `@ag-arquiteto` | | Implementar backend (rotas, serviços, banco) | `@ag-back` | | Implementar frontend (telas, componentes, fluxos) | `@ag-front` | | Garantir qualidade e criar testes | `@ag-testes` | | Configurar infraestrutura e deploy | `@ag-deploy` | | Criar/atualizar documentação | `@ag-documentacao` | | Revisar e melhorar UX | `@ag-ux` | | Criar materiais de venda e marketing | `@ag-comercial` | --- ## PASSO 2 — Definir a sequência de handoff Toda tarefa complexa segue uma ordem de precedência: ``` 1. @ag-arquiteto → define e especifica 2. @ag-back → implementa backend + schemas *-comuns 3. @ag-front → implementa frontend (consome *-comuns) 4. @ag-ux → revisa experiência (paralelo com front) 5. @ag-testes → valida qualidade 6. @ag-deploy → empacota e publica 7. @ag-documentacao → documenta (pode ser paralelo) 8. @ag-comercial → cria materiais (após documentação) ``` Agentes podem trabalhar em paralelo quando não há dependência direta: - `@ag-ux` e `@ag-front` podem colaborar em paralelo - `@ag-documentacao` pode trabalhar em paralelo com `@ag-testes` - `@ag-comercial` é sempre o último da cadeia --- ## PASSO 3 — Formato de mensagem entre agentes Quando um agente precisa comunicar resultado ou delegar tarefa para outro, usar o formato: ```markdown **De:** @ag-arquiteto **Para:** @ag-back **Tipo:** especificação | resultado | bloqueio | revisão ## Contexto [O que foi decidido/implementado/identificado] ## Entrega [O que o agente destinatário precisa fazer ou receber] ## Dependências [Arquivos, schemas, endpoints ou decisões que o destinatário precisa conhecer] ## Critérios de aceite [Como saber que a tarefa do destinatário está completa] ``` --- ## PASSO 4 — Regras de escopo entre agentes ### Permitido ✅ ``` @ag-arquiteto → pode delegar para qualquer agente @ag-back → pode enviar schemas e endpoints para @ag-front (via *-comuns) @ag-front → pode solicitar revisão de @ag-ux @ag-ux → pode propor melhorias para @ag-front @ag-testes → pode reportar bugs para @ag-back e @ag-front @ag-documentacao → pode documentar artefatos de qualquer agente @ag-deploy → recebe builds de @ag-back e @ag-front ``` ### Proibido ❌ ``` @ag-front ✗ não importa código de @ag-back diretamente @ag-back ✗ não cria componentes Vue ou lógica de interface @ag-comercial ✗ não promete features que @ag-arquiteto não aprovou @ag-testes ✗ não modifica código de produção @ag-ux ✗ não implementa código Vue — apenas orienta @ag-front ``` --- ## PASSO 5 — Resolução de conflitos Quando dois agentes têm visões diferentes: 1. **Técnico vs. UX:** `@ag-arquiteto` arbitra, priorizando viabilidade técnica com mínimo impacto na UX 2. **Back vs. Front (sobre contrato de API):** `@ag-arquiteto` define o contrato no schema `*-comuns` 3. **Documentação vs. Implementação:** O código é a verdade — `@ag-documentacao` atualiza para refletir o código 4. **Comercial vs. Produto:** `@ag-arquiteto` define o que existe; `@ag-comercial` comunica apenas o real --- ## PASSO 6 — Fluxos típicos de colaboração ### Fluxo: Nova feature completa ``` @ag-arquiteto → especifica schema e contrato de API ↓ @ag-back → implementa endpoint + atualiza *-comuns ↓ @ag-front → implementa tela consumindo *-comuns ↓ (paralelo) @ag-ux → revisa UX da tela ↓ @ag-testes → valida back + front ↓ @ag-deploy → publica ↓ (paralelo) @ag-documentacao → documenta ↓ @ag-comercial → cria material de divulgação ``` ### Fluxo: Correção de bug crítico ``` @ag-testes → identifica e documenta bug ↓ @ag-back ou @ag-front → corrige ↓ @ag-testes → valida correção ↓ @ag-deploy → hotfix ``` ### Fluxo: Melhoria de UX ``` @ag-ux → identifica problema e propõe melhoria ↓ @ag-arquiteto → avalia impacto técnico ↓ @ag-front → implementa ↓ @ag-ux → valida ``` --- ## Checklist de orquestração - [ ] Agentes necessários identificados? - [ ] Sequência de handoff definida? - [ ] Dependências entre agentes mapeadas? - [ ] Critérios de aceite definidos para cada entrega? - [ ] Conflitos potenciais identificados e árbitro definido? --- ## Referências - Rule: `global/rules/autonomia-agente` - Rule: `global/rules/fronteiras-monorepo` - Personas: `agents/*/persona`