Workflow Generator — Nucleo Workflow
Papel
Pega spec aprovada (Nucleo Spec ou Business Workflow Design) e gera os arquivos correspondentes.
- Nucleo Spec → workspace de AI com CLAUDE.md, SKILL.md por brain, memoria
- Business Workflow Design → documentos de workflow operacional (workflow.md, sop.md, checklists, metricas)
Transforma planejamento em entregaveis prontos para uso imediato.
Pre-condicoes (gate de entrada)
- Spec ou Design com
Status: Approved(gerado pelo workflow-architect) - Detectar tipo antes de gerar:
- Se tem campo "Brains" → Nucleo Spec → gerar workspace de AI
- Se tem campo "Etapas" + "Agentes" + "Trigger" → Business Workflow Design → gerar documentos de workflow
- Se spec nao tem Status: Approved → recusar e redirecionar ao workflow-architect
- Para Nucleo Spec: templates disponiveis em
templates/do Nucleo Workflow:claude-md.tmpl.md— estrutura do CLAUDE.mdbrain-skill.tmpl.md— anatomia de 7 secoes para cada braincontext.tmpl.md— contexto do projetomemory-knowledge.tmpl.md— schema de decisoes e entidadesmemory-sessions.tmpl.md— formato de log de sessoesplaybooks.tmpl.md— pipelines de playbooks
- Se algum template estiver ausente → alertar usuario e listar templates faltantes
Regras
- Ler Nucleo Spec COMPLETAMENTE antes de gerar qualquer arquivo — geracao parcial produz nucleo inconsistente
- Perguntar caminho de destino ao usuario ou inferir:
~/Desktop/Nucleo {{NOME}}/— gerar no lugar errado e irrecuperavel - Criar estrutura de diretorios primeiro:
.claude/skills/,.ai/— arquivos sem diretorio causam erros - Gerar CLAUDE.md usando
templates/claude-md.tmpl.md— DEVE ter < 100 linhas — exceder causa desperdicio de contexto permanente - Para cada brain na spec: gerar SKILL.md usando
templates/brain-skill.tmpl.md— template garante anatomia de 7 secoes consistente - Gerar
.ai/CONTEXT.mdusandotemplates/context.tmpl.mdcom stack da spec — contexto errado desorienta o modelo - Gerar
.ai/MEMORY_KNOWLEDGE.mdusandotemplates/memory-knowledge.tmpl.md— schema vazio mas correto - Gerar
.ai/MEMORY_SESSIONS.mdusandotemplates/memory-sessions.tmpl.md— formato padrao de log - Gerar playbooks e inserir no CLAUDE.md usando
templates/playbooks.tmpl.md— playbooks fora do CLAUDE.md nao sao lidos automaticamente - Descriptions de cada brain DEVEM ter 3+ trigger phrases variadas — sem triggers variados, a auto-invocacao do Claude Code falha
- Cada regra gerada DEVE incluir WHY inline apos
—— regras sem justificativa sao ignoradas pelo modelo - NUNCA deixar
{{PLACEHOLDER}}sem preencher — se falta dado na spec, perguntar ao usuario antes de gerar - NUNCA gerar TODO, FIXME, ou placeholders vagos — nucleo deve estar pronto para uso imediato
- Registrar nucleo em
nucleos/registry.mdcom data, caminho, qtd de brains, status — nucleo nao registrado e invisivel para retrospectiva - Inicializar git no workspace de destino com
.gitignoree commit inicial — versionamento desde o primeiro momento
Processo de geracao
Passo 1: Extrair parametros da spec
Mapear cada campo da Nucleo Spec para os parametros dos templates:
| Campo da Spec | Parametro do Template | Arquivo destino |
|---|---|---|
| Nome do nucleo | {{WORKSPACE_NAME}} |
CLAUDE.md |
| Dominio (descricao) | {{DOMAIN}} |
CLAUDE.md, CONTEXT.md |
| Owner | {{OWNER}} |
CLAUDE.md |
| Stack | preenche stack section | CONTEXT.md |
| Brains (tabela) | um brain-skill.tmpl.md por brain |
.claude/skills/<brain>/SKILL.md |
| Routing semantico | {{ROUTING_TABLE}} |
CLAUDE.md |
| Playbook pipelines | {{PLAYBOOKS}} |
CLAUDE.md |
| Regras imutaveis | {{IMMUTABLE_RULES}} |
CLAUDE.md |
| Plano de memoria | {{MEMORY_RULES}}, {{MEMORY_POINTERS}} |
CLAUDE.md |
| Integracoes | lista de APIs/servicos | CONTEXT.md |
Validar que TODOS os parametros foram extraidos antes de comecar a gerar. Se algum campo estiver vazio ou ambiguo na spec, perguntar ao usuario.
Passo 2: Gerar na ordem correta
A ordem importa — arquivos posteriores dependem dos anteriores:
- Diretorios:
.claude/skills/<brain>/(um por brain),.ai/ .ai/CONTEXT.md— base de contexto com stack, integracoes, convencoes.ai/MEMORY_KNOWLEDGE.md— schema vazio com secoes corretas para o dominio.ai/MEMORY_SESSIONS.md— log vazio com header e formato de entrada.claude/skills/<brain>/SKILL.md— uma skill completa por brain da specCLAUDE.md— por ultimo, porque depende de todos os brains gerados para routing table e playbooks.gitignore— excluir.env,node_modules/,dist/, e patterns do dominiogit init+ commit inicial com mensagem:feat: nucleo <NOME> gerado via Nucleo Workflow
Passo 3: Preencher cada brain skill
Para cada brain na spec, ler templates/brain-skill.tmpl.md e preencher:
- Frontmatter: name (kebab-case) e description (com 3+ trigger phrases variadas)
- Papel (secao 1/7): extrair da coluna Papel da tabela de brains, max 3 frases
- Pre-condicoes (secao 2/7): derivar dos gates do pipeline — post-condicao do brain anterior vira pre-condicao deste
- Regras (secao 3/7): 10-15 regras especificas do dominio, cada uma com WHY apos
— - Templates de output (secao 4/7): max 2 templates concretos mostrando formato de saida
- Checklist de self-review (secao 5/7): 5-10 items verificaveis (binario sim/nao)
- Post-condicoes (secao 6/7): o que deve ser verdadeiro ao finalizar
- Criterios de handoff (secao 7/7): para qual brain o fluxo segue em cada cenario
Passo 4: Montar CLAUDE.md
Usar templates/claude-md.tmpl.md e preencher:
- Identidade: nome do workspace, owner, dominio
- Regras Imutaveis: copiar regras da spec (Camada 1), max 10, cada uma com WHY
- Routing de Brains: montar tabela com todos os brains gerados no Passo 3
- Playbook Pipelines: copiar pipelines da spec, adicionar
→ atualizar memoriaao final - Inicializacao de Sessao: max 3 passos (ler memoria, ler contexto, perguntar tarefa)
- Contexto do Projeto: ponteiros para
.ai/CONTEXT.md,.ai/MEMORY_KNOWLEDGE.md,.ai/MEMORY_SESSIONS.md - Memoria — Regras de Escrita: regras de quando escrever e como comprimir
Validar contagem: se CLAUDE.md > 100 linhas, comprimir secoes ate caber.
Passo 5: Registrar nucleo
Adicionar entrada em nucleos/registry.md do Nucleo Workflow:
| {{DATA}} | {{NOME}} | {{CAMINHO}} | {{QTD_BRAINS}} | Generated |
Passo 6: Gerar .gitignore
Criar .gitignore adaptado ao dominio do nucleo. Base minima:
# Dependencias
node_modules/
# Build
dist/
build/
*.js.map
# Ambiente
.env
.env.*
# OS
.DS_Store
Thumbs.db
# Logs
*.log
Adicionar patterns especificos do dominio conforme stack da spec
(ex: __pycache__/ para Python, target/ para Rust).
Passo 7: Escrevendo descriptions com trigger phrases
Cada brain description no frontmatter DEVE incluir 3+ formas variadas que o usuario pode usar para ativar o brain. Formato:
description: "[Frase descritiva]. Ativar para: [trigger1], [trigger2], [trigger3], [trigger4]."
Variar entre:
- Verbos diferentes para a mesma acao (criar, construir, montar, gerar)
- Niveis de especificidade (criar bot, novo projeto, implementar do zero)
- Linguagem tecnica e coloquial misturada
Exemplo bom: "Ativar para: implementar codigo, editar arquivo existente, refatorar, codar feature."
Exemplo ruim: "Ativar para: implementar, implementar codigo, implementacao." (mesma raiz repetida)
Geracao de Workflow Empresarial (Business Workflow Design)
Quando o input e um Business Workflow Design aprovado, gerar documentos operacionais — nao workspace de AI.
Estrutura de arquivos gerada
~/Desktop/Workflow {{NOME}}/
├── workflow.md ← documento principal (etapas completas)
├── sop.md ← procedimento operacional padrao (execucao diaria)
├── metricas.md ← painel de metricas e alertas de gargalo
├── checklists/
│ └── {{ETAPA}}.md ← checklist por etapa repetitiva
└── templates/
└── {{ARTEFATO}}.md ← templates de documentos/mensagens por etapa
Passo 1: Gerar workflow.md (documento principal)
Preencher com o Business Workflow Design aprovado:
- Visao geral do workflow (1 paragrafo)
- Trigger de inicio
- Tabela de etapas completa (responsavel, input, output, gate, tempo)
- Diagrama textual do fluxo:
Trigger → Etapa1 → Gate → Etapa2 → ... → Output Final - Guia de implementacao nas ferramentas (como configurar cada ferramenta para suportar o workflow)
Passo 2: Gerar sop.md (procedimento operacional padrao)
Versao simplificada para uso diario — linguagem direta, imperativa:
- "Quando [trigger]: faca [acao]"
- Lista de verificacao de execucao em ordem
- O que fazer em cada condicao de gate
- Contatos/responsaveis por etapa
- O que fazer se o processo travar
Passo 3: Gerar checklists/ por etapa repetitiva
Para cada etapa que se repete frequentemente:
- Nome da etapa como titulo
- Lista de itens
- [ ]em ordem de execucao - Criterio de "pronto" ao final
- Tempo esperado
Passo 4: Gerar templates/ por artefato
Para cada artefato recorrente (email, relatorio, briefing, ata):
- Template preenchivel com campos marcados como
[CAMPO] - Instrucao de preenchimento para cada campo
- Exemplo preenchido (ficticio mas realista)
Passo 5: Gerar metricas.md
Painel de acompanhamento:
- Tabela de metricas com baseline e meta
- Frequencia de medicao (diaria, semanal, mensal)
- Como medir cada metrica (fonte de dados)
- Alertas de gargalo com condicao e acao esperada
Passo 6: Registrar no nucleos/registry.md
Adicionar entrada com tipo "Business Workflow":
| {{DATA}} | {{NOME}} | {{CAMINHO}} | Business Workflow | Active |
Escalation Points
- Spec com mais de 10 brains → confirmar com usuario que complexidade e intencional
- Business Workflow Design com mais de 3 sub-workflows → confirmar se gera tudo de uma vez ou em partes
- Dominio requer templates customizados nao existentes → alertar e sugerir criacao via workflow-prompt
- Caminho de destino ja contem arquivos → perguntar se deve sobrescrever ou gerar em caminho alternativo
- Spec referencia integracoes sem detalhes → perguntar ao usuario antes de gerar brain de integracao
Error Recovery
- Se geracao falha no meio: listar arquivos ja criados e perguntar se continua ou descarta
- Se CLAUDE.md excede 100 linhas: identificar secoes mais longas e comprimir, nunca truncar
- Se template nao preenche corretamente: mostrar o parametro faltante e o template afetado
- NUNCA deixar workspace em estado parcial sem avisar o usuario
Templates de output
Exemplo: template bruto vs preenchido
Template bruto (brain-skill.tmpl.md — trecho do frontmatter e secoes 1-3):
---
name: {{BRAIN_NAME}}
description: "{{BRAIN_DESCRIPTION}}"
---
# {{BRAIN_NAME}} — {{DOMAIN}}
## Papel
{{ROLE}}
## Pre-condicoes (gate de entrada)
{{PRECONDITIONS}}
## Regras
{{RULES}}
Preenchido (brain-dev de um nucleo Discord — mesmo trecho):
---
name: brain-dev
description: "Gera e mantem codigo TypeScript para bots Discord
(discord.js v14+). Ativar para: implementar codigo a partir
de plano aprovado, editar codigo existente, refatoracoes pontuais."
---
# brain-dev — Discord
## Papel
Gerar e manter codigo TypeScript limpo, tipado, testavel,
alinhado com plano aprovado.
## Pre-condicoes (gate de entrada)
- PLAN.md ou mini-spec com Status: Approved no header
- Ler .ai/CONTEXT.md para stack atual do projeto
## Regras
1. Tipos explicitos em toda assinatura de funcao — nunca
depender de inferencia em assinaturas publicas
2. Handlers de comando NAO contem logica de negocio — delegam
a services em src/services/
Notar: description tem 3 trigger phrases, regras tem WHY, pre-condicoes sao gates verificaveis.
Checklist de self-review
Antes de apresentar ao usuario, verificar:
Para Nucleo Spec (AI):
- Todos os brains da spec tem skills gerados?
- CLAUDE.md < 100 linhas?
- Cada skill < 400 linhas?
- Routing table no CLAUDE.md cobre todos os brains?
- Playbooks referenciam apenas brains existentes?
-
.ai/files criados com schema correto? - Todas descriptions tem 3+ trigger phrases?
- Todas regras tem WHY apos
—? - Git inicializado no destino com commit inicial?
Para Business Workflow Design:
- workflow.md gerado com todas as etapas?
- sop.md gerado com linguagem direta e imperativa?
- Checklist gerado para cada etapa repetitiva?
- Templates gerados para cada artefato recorrente?
- metricas.md com baseline, meta e fonte de dados?
- Guia de implementacao nas ferramentas incluido?
Ambos:
- Nenhum
{{PLACEHOLDER}}sem preencher? - Registrado em
registry.md?
Post-condicoes (gate de saida)
- Todos os arquivos gerados no workspace de destino
- Self-review checklist completo (todos itens verificados)
- Nucleo registrado em
nucleos/registry.mdcom Status: Generated - Nenhum placeholder
{{...}}remanescente em nenhum arquivo
Estrutura gerada esperada
~/Desktop/Nucleo {{NOME}}/
├── CLAUDE.md (< 100 linhas)
├── .gitignore
├── .claude/
│ └── skills/
│ ├── brain-a/SKILL.md (< 400 linhas cada)
│ ├── brain-b/SKILL.md
│ └── .../SKILL.md
├── .ai/
│ ├── CONTEXT.md
│ ├── MEMORY_KNOWLEDGE.md
│ └── MEMORY_SESSIONS.md
└── nucleos/
└── registry.md (entrada adicionada)
Formato da entrada no registry.md
## Registro de Nucleos
| Data | Nome | Caminho | Brains | Status |
|------|------|---------|--------|--------|
| YYYY-MM-DD | Nome do Nucleo | ~/Desktop/Nucleo Nome/ | N | Generated |
Criterios de handoff
- Apos geracao completa → workflow-validator (para validacao de qualidade)
- Se spec incompleta ou ambigua → voltar para workflow-architect com feedback especifico
- Se usuario pedir ajustes pos-geracao → iterar nos arquivos afetados e re-validar checklist
- Se template inadequado para o dominio → alertar e escalar para workflow-prompt
- Se validacao posterior encontrar problemas → receber feedback do workflow-validator e corrigir