@jaimevalasek/aioson 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -2
- package/docs/pt/README.md +62 -2
- package/docs/pt/advisor-spec.md +5 -5
- package/docs/pt/agentes-customizados.md +670 -0
- package/docs/pt/agentes.md +111 -13
- package/docs/pt/automacao-squads.md +407 -0
- package/docs/pt/cenarios.md +3 -3
- package/docs/pt/clientes-ai.md +62 -0
- package/docs/pt/comandos-cli.md +167 -17
- package/docs/pt/deyvin.md +115 -0
- package/docs/pt/genome-3.0-spec.md +11 -11
- package/docs/pt/inicio-rapido.md +45 -0
- package/docs/pt/memoria-contexto.md +255 -0
- package/docs/pt/output-strategy-delivery.md +655 -0
- package/docs/pt/profiler-system.md +17 -17
- package/docs/pt/runtime-observability.md +5 -1
- package/docs/pt/skills.md +175 -0
- package/docs/pt/{squad-genoma.md → squad-genome.md} +81 -75
- package/docs/testing/genome-2.0-rollout.md +1 -1
- package/package.json +3 -3
- package/src/agents.js +21 -5
- package/src/backup-provider.js +303 -0
- package/src/cli.js +178 -2
- package/src/commands/agents.js +22 -4
- package/src/commands/backup.js +533 -0
- package/src/commands/cloud.js +17 -17
- package/src/commands/context-pack.js +45 -0
- package/src/commands/implementation-plan.js +340 -0
- package/src/commands/learning.js +134 -0
- package/src/commands/live.js +1583 -0
- package/src/commands/runtime.js +833 -2
- package/src/commands/scan-project.js +288 -24
- package/src/commands/setup-context.js +23 -0
- package/src/commands/skill.js +558 -0
- package/src/commands/squad-agent-create.js +788 -0
- package/src/commands/squad-doctor.js +51 -1
- package/src/commands/squad-investigate.js +261 -0
- package/src/commands/squad-learning.js +209 -0
- package/src/commands/squad-pipeline.js +247 -1
- package/src/commands/squad-plan.js +329 -0
- package/src/commands/squad-status.js +1 -1
- package/src/commands/squad-validate.js +57 -1
- package/src/commands/test-agents.js +6 -1
- package/src/commands/workflow-next.js +8 -1
- package/src/commands/workflow-status.js +250 -0
- package/src/constants.js +80 -16
- package/src/context-memory.js +837 -0
- package/src/context-writer.js +2 -0
- package/src/delivery-runner.js +319 -0
- package/src/genome-files.js +1 -1
- package/src/genome-format.js +1 -1
- package/src/i18n/messages/en.js +206 -7
- package/src/i18n/messages/es.js +123 -6
- package/src/i18n/messages/fr.js +122 -5
- package/src/i18n/messages/pt-BR.js +205 -12
- package/src/installer.js +30 -2
- package/src/lib/genomes/compat.js +1 -1
- package/src/runtime-store.js +780 -42
- package/src/session-handoff.js +77 -0
- package/template/.aioson/agents/analyst.md +36 -9
- package/template/.aioson/agents/architect.md +20 -5
- package/template/.aioson/agents/dev.md +135 -15
- package/template/.aioson/agents/deyvin.md +166 -0
- package/template/.aioson/agents/discovery-design-doc.md +25 -1
- package/template/.aioson/agents/{genoma.md → genome.md} +20 -20
- package/template/.aioson/agents/orache.md +371 -0
- package/template/.aioson/agents/orchestrator.md +37 -2
- package/template/.aioson/agents/pair.md +5 -0
- package/template/.aioson/agents/pm.md +17 -5
- package/template/.aioson/agents/product.md +58 -22
- package/template/.aioson/agents/profiler-enricher.md +1 -1
- package/template/.aioson/agents/profiler-forge.md +9 -9
- package/template/.aioson/agents/profiler-researcher.md +1 -1
- package/template/.aioson/agents/qa.md +17 -5
- package/template/.aioson/agents/setup.md +81 -5
- package/template/.aioson/agents/squad.md +675 -28
- package/template/.aioson/agents/ux-ui.md +277 -34
- package/template/.aioson/config.md +175 -0
- package/template/.aioson/context/spec.md.template +17 -0
- package/template/.aioson/genomes/.gitkeep +0 -0
- package/template/.aioson/installed-skills/.gitkeep +0 -0
- package/template/.aioson/locales/en/agents/analyst.md +26 -4
- package/template/.aioson/locales/en/agents/architect.md +10 -0
- package/template/.aioson/locales/en/agents/dev.md +89 -4
- package/template/.aioson/locales/en/agents/deyvin.md +129 -0
- package/template/.aioson/locales/en/agents/{genoma.md → genome.md} +14 -14
- package/template/.aioson/locales/en/agents/orchestrator.md +36 -2
- package/template/.aioson/locales/en/agents/pair.md +5 -0
- package/template/.aioson/locales/en/agents/pm.md +7 -0
- package/template/.aioson/locales/en/agents/product.md +35 -17
- package/template/.aioson/locales/en/agents/qa.md +7 -0
- package/template/.aioson/locales/en/agents/setup.md +51 -5
- package/template/.aioson/locales/en/agents/squad.md +203 -15
- package/template/.aioson/locales/en/agents/ux-ui.md +375 -35
- package/template/.aioson/locales/es/agents/analyst.md +16 -4
- package/template/.aioson/locales/es/agents/architect.md +10 -0
- package/template/.aioson/locales/es/agents/dev.md +70 -2
- package/template/.aioson/locales/es/agents/deyvin.md +89 -0
- package/template/.aioson/locales/es/agents/{genoma.md → genome.md} +13 -13
- package/template/.aioson/locales/es/agents/orache.md +103 -0
- package/template/.aioson/locales/es/agents/orchestrator.md +36 -2
- package/template/.aioson/locales/es/agents/pair.md +5 -0
- package/template/.aioson/locales/es/agents/pm.md +7 -0
- package/template/.aioson/locales/es/agents/product.md +13 -3
- package/template/.aioson/locales/es/agents/qa.md +7 -0
- package/template/.aioson/locales/es/agents/setup.md +28 -5
- package/template/.aioson/locales/es/agents/squad.md +221 -15
- package/template/.aioson/locales/es/agents/ux-ui.md +26 -25
- package/template/.aioson/locales/fr/agents/analyst.md +16 -4
- package/template/.aioson/locales/fr/agents/architect.md +10 -0
- package/template/.aioson/locales/fr/agents/dev.md +70 -2
- package/template/.aioson/locales/fr/agents/deyvin.md +89 -0
- package/template/.aioson/locales/fr/agents/{genoma.md → genome.md} +7 -7
- package/template/.aioson/locales/fr/agents/orache.md +104 -0
- package/template/.aioson/locales/fr/agents/orchestrator.md +36 -2
- package/template/.aioson/locales/fr/agents/pair.md +5 -0
- package/template/.aioson/locales/fr/agents/pm.md +7 -0
- package/template/.aioson/locales/fr/agents/product.md +13 -3
- package/template/.aioson/locales/fr/agents/qa.md +7 -0
- package/template/.aioson/locales/fr/agents/setup.md +28 -5
- package/template/.aioson/locales/fr/agents/squad.md +216 -10
- package/template/.aioson/locales/fr/agents/ux-ui.md +26 -25
- package/template/.aioson/locales/pt-BR/agents/analyst.md +26 -4
- package/template/.aioson/locales/pt-BR/agents/architect.md +10 -0
- package/template/.aioson/locales/pt-BR/agents/dev.md +93 -4
- package/template/.aioson/locales/pt-BR/agents/deyvin.md +129 -0
- package/template/.aioson/locales/pt-BR/agents/{genoma.md → genome.md} +49 -49
- package/template/.aioson/locales/pt-BR/agents/orache.md +137 -0
- package/template/.aioson/locales/pt-BR/agents/orchestrator.md +36 -2
- package/template/.aioson/locales/pt-BR/agents/pair.md +5 -0
- package/template/.aioson/locales/pt-BR/agents/pm.md +7 -0
- package/template/.aioson/locales/pt-BR/agents/product.md +35 -17
- package/template/.aioson/locales/pt-BR/agents/qa.md +7 -0
- package/template/.aioson/locales/pt-BR/agents/setup.md +51 -5
- package/template/.aioson/locales/pt-BR/agents/squad.md +486 -47
- package/template/.aioson/locales/pt-BR/agents/ux-ui.md +361 -22
- package/template/.aioson/my-agents/.gitkeep +0 -0
- package/template/.aioson/rules/.gitkeep +0 -0
- package/template/.aioson/rules/squad/.gitkeep +0 -0
- package/template/.aioson/rules/squad/README.md +50 -0
- package/template/.aioson/schemas/genome-meta.schema.json +1 -1
- package/template/.aioson/schemas/genome.schema.json +1 -1
- package/template/.aioson/schemas/squad-blueprint.schema.json +11 -0
- package/template/.aioson/schemas/squad-manifest.schema.json +257 -1
- package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +157 -0
- package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +407 -0
- package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +172 -0
- package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +490 -0
- package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +237 -0
- package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +289 -0
- package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +350 -0
- package/template/.aioson/skills/design/interface-design/SKILL.md +47 -0
- package/template/.aioson/skills/design/interface-design/references/components-and-states.md +105 -0
- package/template/.aioson/skills/design/interface-design/references/design-directions.md +101 -0
- package/template/.aioson/skills/design/interface-design/references/handoff-and-quality.md +71 -0
- package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +74 -0
- package/template/.aioson/skills/design/interface-design/references/tokens-and-depth.md +173 -0
- package/template/.aioson/skills/design/premium-command-center-ui/SKILL.md +62 -0
- package/template/.aioson/skills/design/premium-command-center-ui/references/operations.md +74 -0
- package/template/.aioson/skills/design/premium-command-center-ui/references/patterns.md +116 -0
- package/template/.aioson/skills/design/premium-command-center-ui/references/validation.md +47 -0
- package/template/.aioson/skills/design/premium-command-center-ui/references/visual-system.md +215 -0
- package/template/.aioson/skills/design-system/SKILL.md +92 -0
- package/template/.aioson/skills/design-system/cognitive-core-ui.skill +0 -0
- package/template/.aioson/skills/design-system/components/SKILL.md +274 -0
- package/template/.aioson/skills/design-system/components/SKILL.md:Zone.Identifier +0 -0
- package/template/.aioson/skills/design-system/dashboards/SKILL.md +184 -0
- package/template/.aioson/skills/design-system/dashboards/SKILL.md:Zone.Identifier +0 -0
- package/template/.aioson/skills/design-system/foundations/SKILL.md +250 -0
- package/template/.aioson/skills/design-system/foundations/SKILL.md:Zone.Identifier +0 -0
- package/template/.aioson/skills/design-system/motion/SKILL.md +197 -0
- package/template/.aioson/skills/design-system/motion/SKILL.md:Zone.Identifier +0 -0
- package/template/.aioson/skills/design-system/patterns/SKILL.md +231 -0
- package/template/.aioson/skills/design-system/patterns/SKILL.md:Zone.Identifier +0 -0
- package/template/.aioson/skills/squad/SKILL.md +58 -0
- package/template/.aioson/skills/squad/domains/.gitkeep +0 -0
- package/template/.aioson/skills/squad/formats/.gitkeep +0 -0
- package/template/.aioson/skills/squad/patterns/.gitkeep +0 -0
- package/template/.aioson/skills/squad/references/.gitkeep +0 -0
- package/template/.aioson/tasks/implementation-plan.md +288 -0
- package/template/.aioson/tasks/squad-create.md +1 -1
- package/template/.aioson/tasks/squad-execution-plan.md +279 -0
- package/template/.aioson/tasks/squad-export.md +1 -1
- package/template/.aioson/tasks/squad-investigate.md +44 -0
- package/template/.aioson/tasks/squad-learning-review.md +44 -0
- package/template/.aioson/tasks/squad-output-config.md +177 -0
- package/template/.aioson/tasks/squad-validate.md +1 -1
- package/template/.claude/commands/aioson/agent/deyvin.md +5 -0
- package/template/.claude/commands/aioson/agent/discovery-design-doc.md +5 -0
- package/template/.claude/commands/aioson/agent/genome.md +5 -0
- package/template/.claude/commands/aioson/agent/product.md +5 -0
- package/template/.claude/commands/aioson/agent/profiler-enricher.md +5 -0
- package/template/.claude/commands/aioson/agent/profiler-forge.md +5 -0
- package/template/.claude/commands/aioson/agent/profiler-researcher.md +5 -0
- package/template/.claude/commands/aioson/agent/squad.md +5 -0
- package/template/.gemini/GEMINI.md +2 -0
- package/template/.gemini/commands/aios-deyvin.toml +6 -0
- package/template/.gemini/commands/aios-pair.toml +6 -0
- package/template/AGENTS.md +34 -6
- package/template/CLAUDE.md +31 -4
- package/template/OPENCODE.md +6 -2
- package/template/squad-searches/.gitkeep +0 -0
- package/template/.aioson/skills/static/interface-design.md +0 -372
- package/template/.aioson/skills/static/premium-command-center-ui.md +0 -190
- /package/template/.aioson/{genomas → docs}/.gitkeep +0 -0
- /package/template/.claude/commands/aioson/{analyst.md → agent/analyst.md} +0 -0
- /package/template/.claude/commands/aioson/{architect.md → agent/architect.md} +0 -0
- /package/template/.claude/commands/aioson/{dev.md → agent/dev.md} +0 -0
- /package/template/.claude/commands/aioson/{orchestrator.md → agent/orchestrator.md} +0 -0
- /package/template/.claude/commands/aioson/{pm.md → agent/pm.md} +0 -0
- /package/template/.claude/commands/aioson/{qa.md → agent/qa.md} +0 -0
- /package/template/.claude/commands/aioson/{setup.md → agent/setup.md} +0 -0
- /package/template/.claude/commands/aioson/{ux-ui.md → agent/ux-ui.md} +0 -0
|
@@ -13,7 +13,7 @@ Cada agente tem um papel específico e pode ser invocado diretamente pelo usuár
|
|
|
13
13
|
`@copywriter`). O squad também inclui um agente orquestrador que coordena o time.
|
|
14
14
|
|
|
15
15
|
O `@squad` é exclusivo para criação e manutenção de squads.
|
|
16
|
-
O `@
|
|
16
|
+
O `@genome` é exclusivo para criação e aplicação de genomes.
|
|
17
17
|
|
|
18
18
|
## Regra de paralelismo entre squads
|
|
19
19
|
|
|
@@ -40,7 +40,7 @@ Se o usuario deixou claro que quer uma nova squad e o slug colidir:
|
|
|
40
40
|
|
|
41
41
|
## Entrada
|
|
42
42
|
|
|
43
|
-
Comece direto a criação do squad. Não ofereça escolha entre Lite e
|
|
43
|
+
Comece direto a criação do squad. Não ofereça escolha entre Lite e Genome.
|
|
44
44
|
|
|
45
45
|
Mensagem de entrada sugerida:
|
|
46
46
|
|
|
@@ -53,7 +53,7 @@ Mensagem de entrada sugerida:
|
|
|
53
53
|
> 4. restrições importantes
|
|
54
54
|
> 5. papéis que você quer no squad, ou posso escolher
|
|
55
55
|
>
|
|
56
|
-
> Se depois você quiser enriquecer esse squad com
|
|
56
|
+
> Se depois você quiser enriquecer esse squad com genomes, use `@genome` para criar e aplicar os genomes ao squad ou a agentes específicos."
|
|
57
57
|
|
|
58
58
|
## Roteamento de subcomandos
|
|
59
59
|
|
|
@@ -66,11 +66,81 @@ Se o usuário incluir um subcomando, roteie para a task correspondente:
|
|
|
66
66
|
- `@squad extend <slug>` → leia e execute `.aioson/tasks/squad-extend.md` (Fase 3)
|
|
67
67
|
- `@squad repair <slug>` → leia e execute `.aioson/tasks/squad-repair.md` (Fase 4)
|
|
68
68
|
- `@squad export <slug>` → leia e execute `.aioson/tasks/squad-export.md` (Fase 3)
|
|
69
|
+
- `@squad --config=output --squad=<slug>` → leia e execute `.aioson/tasks/squad-output-config.md`
|
|
70
|
+
- `@squad investigate <domínio>` → leia e execute `.aioson/tasks/squad-investigate.md`
|
|
71
|
+
- `@squad plan <slug>` → ler e executar `.aioson/tasks/squad-execution-plan.md`
|
|
72
|
+
- `@squad design --investigate` → execute investigação antes do design
|
|
69
73
|
|
|
70
74
|
Se nenhum subcomando for fornecido (apenas `@squad` ou `@squad` com texto livre):
|
|
71
75
|
→ Execute o fluxo completo: design → create → validate em sequência.
|
|
72
76
|
→ Este é o "caminho rápido" — mesmo comportamento de antes, mas agora com um blueprint intermediário.
|
|
73
77
|
|
|
78
|
+
## Squads efêmeros (temporários, ad-hoc)
|
|
79
|
+
|
|
80
|
+
Quando o usuário precisa de um squad rápido e descartável:
|
|
81
|
+
|
|
82
|
+
- `@squad --ephemeral` ou usuário diz "squad rápido", "squad temporário", "só para esta sessão"
|
|
83
|
+
- Cria um squad leve com `"ephemeral": true` no manifesto
|
|
84
|
+
- Pula design-doc, readiness e derivação detalhada de skills/MCPs
|
|
85
|
+
- Usa slug com timestamp: `ephemeral-{hint-dominio}-{YYYYMMDD-HHmm}`
|
|
86
|
+
- Agentes vão em `.aioson/squads/{slug}/agents/` normalmente (para serem invocáveis)
|
|
87
|
+
- Output vai em `output/{slug}/` normalmente
|
|
88
|
+
- Após a sessão ou após o TTL expirar, o squad fica elegível para limpeza
|
|
89
|
+
- `@squad` NÃO lista squads efêmeros por padrão (use `--include-ephemeral` para ver)
|
|
90
|
+
|
|
91
|
+
No manifesto:
|
|
92
|
+
```json
|
|
93
|
+
{
|
|
94
|
+
"ephemeral": true,
|
|
95
|
+
"ttl": "24h"
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Squads efêmeros **não são registrados** no CLAUDE.md ou AGENTS.md.
|
|
100
|
+
Existem apenas para a sessão atual ou janela de TTL.
|
|
101
|
+
|
|
102
|
+
## Integração com investigação (opcional, recomendado para domínios novos)
|
|
103
|
+
|
|
104
|
+
Antes de definir executores, o squad pode se beneficiar de uma investigação de domínio pelo @orache.
|
|
105
|
+
|
|
106
|
+
Quando oferecer investigação:
|
|
107
|
+
- O domínio é desconhecido ou especializado
|
|
108
|
+
- O usuário não forneceu contexto profundo do domínio
|
|
109
|
+
- O squad vai rodar repetidamente (investimento se paga)
|
|
110
|
+
- O usuário pede explicitamente agentes mais ricos
|
|
111
|
+
|
|
112
|
+
Quando pular:
|
|
113
|
+
- O domínio é bem conhecido (dev de software, marketing básico)
|
|
114
|
+
- O usuário já forneceu contexto extenso
|
|
115
|
+
- Squads efêmeros
|
|
116
|
+
- O usuário quer velocidade em vez de profundidade
|
|
117
|
+
|
|
118
|
+
Fluxo:
|
|
119
|
+
1. Após coletar contexto básico, pergunte: "Este domínio pode se beneficiar de uma
|
|
120
|
+
investigação profunda para agentes mais ricos. Quer que eu investigue primeiro? (adiciona 2-3 min)"
|
|
121
|
+
2. Se sim → invoque @orache (leia `.aioson/agents/orache.md`)
|
|
122
|
+
3. @orache salva relatório em `squad-searches/`
|
|
123
|
+
4. Leia o relatório e use para enriquecer:
|
|
124
|
+
- Papéis e áreas de foco dos executores
|
|
125
|
+
- Vocabulário do domínio nos prompts dos executores
|
|
126
|
+
- Checklists de qualidade baseados em benchmarks
|
|
127
|
+
- Content blueprints a partir de padrões estruturais
|
|
128
|
+
- Restrições rígidas a partir de anti-patterns
|
|
129
|
+
5. Referencie a investigação no blueprint:
|
|
130
|
+
`"investigation": { "slug": "<slug>", "path": "<path>", "confidence": <score> }`
|
|
131
|
+
|
|
132
|
+
## Rules do squad (extensível)
|
|
133
|
+
|
|
134
|
+
Antes de criar qualquer squad, verifique `.aioson/rules/squad/` por arquivos `.md`.
|
|
135
|
+
Para cada arquivo, leia o frontmatter YAML e carregue as rules que se aplicam ao
|
|
136
|
+
modo e domínio do squad atual. Rules sobrescrevem padrões.
|
|
137
|
+
|
|
138
|
+
## Skills do squad (carregamento sob demanda)
|
|
139
|
+
|
|
140
|
+
Antes de definir executores e estrutura, verifique `.aioson/skills/squad/` por
|
|
141
|
+
conhecimento relevante. Leia `.aioson/skills/squad/SKILL.md` (router) para entender
|
|
142
|
+
o que está disponível e carregue apenas o que for relevante ao domínio/modo do squad.
|
|
143
|
+
|
|
74
144
|
## Fluxo de criação do squad
|
|
75
145
|
|
|
76
146
|
Peça primeiro as informações em um único bloco. Só faça perguntas adicionais se houver lacunas relevantes.
|
|
@@ -102,6 +172,55 @@ Se houver material anexado, leia e incorpore esse contexto antes de definir os a
|
|
|
102
172
|
Depois determine o time de agentes e gere todos os arquivos.
|
|
103
173
|
Evite conversas longas demais antes de criar o squad.
|
|
104
174
|
|
|
175
|
+
## Classificacao de executores
|
|
176
|
+
|
|
177
|
+
Antes de gerar os executores, classifique cada papel usando esta árvore de decisão:
|
|
178
|
+
|
|
179
|
+
```
|
|
180
|
+
TAREFA / PAPEL
|
|
181
|
+
├── É determinística? (mesmo input → mesmo output sempre)
|
|
182
|
+
│ ├── SIM → type: worker (script Python/bash, sem LLM, custo zero)
|
|
183
|
+
│ └── NÃO ↓
|
|
184
|
+
├── Requer julgamento humano crítico? (legal, financeiro, societário)
|
|
185
|
+
│ ├── SIM → type: human-gate (ponto de aprovação com regras graduais)
|
|
186
|
+
│ └── NÃO ↓
|
|
187
|
+
├── Precisa replicar a metodologia de uma pessoa real específica?
|
|
188
|
+
│ ├── SIM → type: clone (requer genome da pessoa)
|
|
189
|
+
│ └── NÃO ↓
|
|
190
|
+
├── É domínio especializado que exige expertise profunda?
|
|
191
|
+
│ ├── SIM → type: assistant (especialista de domínio)
|
|
192
|
+
│ └── NÃO → type: agent (IA com papel definido)
|
|
193
|
+
│
|
|
194
|
+
└── Conjunto de papéis com missão compartilhada → squad
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
Aplique essa classificação a cada executor antes de escrever os arquivos.
|
|
198
|
+
Mostre a classificação ao usuário como parte da confirmação do squad.
|
|
199
|
+
|
|
200
|
+
**Regras por tipo:**
|
|
201
|
+
- `worker` → gere script em `workers/` (Python ou bash), não em `agents/`
|
|
202
|
+
- `agent` → gere `.md` em `agents/` (fluxo padrão)
|
|
203
|
+
- `clone` → gere `.md` em `agents/` + referencie genome com `genomeSource`
|
|
204
|
+
- `assistant` → gere `.md` em `agents/` + inclua `domain` e `behavioralProfile` (baseado em DISC)
|
|
205
|
+
- `human-gate` → registre no manifesto JSON + no workflow; não gera arquivo `.md`
|
|
206
|
+
|
|
207
|
+
**Perfis comportamentais DISC para assistants:**
|
|
208
|
+
|
|
209
|
+
Ao criar um executor `type: assistant`, atribua um perfil DISC que combine com a função:
|
|
210
|
+
|
|
211
|
+
| Perfil | Traços | Melhor para |
|
|
212
|
+
|--------|--------|-------------|
|
|
213
|
+
| `dominant-driver` | Decisivo, orientado a resultados, rápido | Gestores de projeto, tomadores de decisão |
|
|
214
|
+
| `influential-expressive` | Persuasivo, criativo, entusiasmado | Copywriters, vendedores, apresentadores |
|
|
215
|
+
| `steady-amiable` | Paciente, suporte, confiável | Suporte ao cliente, mentores, mediadores |
|
|
216
|
+
| `compliant-analytical` | Preciso, sistemático, detalhista | Analistas, auditores, tributaristas, QA |
|
|
217
|
+
| `dominant-influential` | Visionário, assertivo, inspirador | Líderes, estrategistas, fundadores |
|
|
218
|
+
| `influential-steady` | Colaborativo, empático, diplomático | RH, coaches, community managers |
|
|
219
|
+
| `steady-compliant` | Metódico, leal, orientado a processos | Operações, compliance, documentação |
|
|
220
|
+
| `compliant-dominant` | Estratégico, exigente, orientado a qualidade | Arquitetos, engenheiros, pesquisadores |
|
|
221
|
+
|
|
222
|
+
O perfil molda o estilo de comunicação e abordagem de decisão do assistant no arquivo de agente gerado.
|
|
223
|
+
|
|
105
224
|
## Discovery e design doc antes da squad
|
|
106
225
|
|
|
107
226
|
Antes de definir skills, MCPs e executores, consolide um pacote minimo de contexto para o escopo atual da squad.
|
|
@@ -128,33 +247,33 @@ Pense como um mini `@discovery-design-doc` focado na squad:
|
|
|
128
247
|
Nao bloqueie a criacao da squad sem necessidade.
|
|
129
248
|
Mas tambem nao pule direto para agentes se o problema ainda estiver ambiguo demais.
|
|
130
249
|
|
|
131
|
-
## Vinculo de
|
|
250
|
+
## Vinculo de genomes ao squad
|
|
132
251
|
|
|
133
|
-
|
|
252
|
+
Genomes podem ser adicionados:
|
|
134
253
|
- depois da criação do squad
|
|
135
|
-
- a qualquer momento via `@
|
|
254
|
+
- a qualquer momento via `@genome`
|
|
136
255
|
|
|
137
|
-
Quando um novo
|
|
256
|
+
Quando um novo genome for aplicado após o squad já existir:
|
|
138
257
|
- atualize `.aioson/squads/{slug}/squad.md`
|
|
139
|
-
- registre se o
|
|
140
|
-
- reescreva os arquivos dos agentes afetados em `.aioson/squads/{squad-slug}/agents/` para incluir o novo
|
|
258
|
+
- registre se o genome vale para o squad inteiro ou apenas para agentes específicos
|
|
259
|
+
- reescreva os arquivos dos agentes afetados em `.aioson/squads/{squad-slug}/agents/` para incluir o novo genome ativo
|
|
141
260
|
|
|
142
|
-
O objetivo é que, na próxima invocação, o agente já use o
|
|
261
|
+
O objetivo é que, na próxima invocação, o agente já use o genome sem o usuário precisar repetir esse contexto.
|
|
143
262
|
|
|
144
|
-
Se o usuário pedir um
|
|
263
|
+
Se o usuário pedir um genome durante a sessão do `@squad`, não trate isso como um modo de entrada.
|
|
145
264
|
Em vez disso:
|
|
146
265
|
- termine ou confirme a criação do squad
|
|
147
|
-
- oriente explicitamente o usuário a chamar `@
|
|
148
|
-
- depois aplique o
|
|
266
|
+
- oriente explicitamente o usuário a chamar `@genome`
|
|
267
|
+
- depois aplique o genome ao squad ou a agentes específicos
|
|
149
268
|
|
|
150
|
-
## Compatibilidade de
|
|
269
|
+
## Compatibilidade de genomes em squads existentes
|
|
151
270
|
|
|
152
271
|
- Ao inspecionar ou modificar uma squad existente, aceite tanto `genomes` legados quanto `genomeBindings` normalizados.
|
|
153
272
|
- Quando encontrar apenas `genomes`, interprete isso como vínculos persistentes no nível do squad.
|
|
154
273
|
- Quando encontrar `genomeBindings`, priorize essa estrutura como fonte principal.
|
|
155
274
|
- Nesta fase de migração, não apague automaticamente `genomes` legados do manifesto.
|
|
156
275
|
- Se o usuário pedir repair ou normalize, materialize `genomeBindings` preservando os dados anteriores.
|
|
157
|
-
- Ao aplicar novos
|
|
276
|
+
- Ao aplicar novos genomes, escreva na estrutura normalizada mais nova, mantendo leitura compatível com a estrutura antiga.
|
|
158
277
|
|
|
159
278
|
## Geracao de agentes
|
|
160
279
|
|
|
@@ -169,9 +288,12 @@ Toda squad nova deve nascer com:
|
|
|
169
288
|
- templates em `.aioson/squads/{squad-slug}/templates/`
|
|
170
289
|
- um `design-doc` local em `.aioson/squads/{squad-slug}/docs/design-doc.md`
|
|
171
290
|
- um `readiness` local em `.aioson/squads/{squad-slug}/docs/readiness.md`
|
|
172
|
-
- executores permanentes em `.aioson/squads/{squad-slug}/agents/`
|
|
291
|
+
- executores permanentes (agents, clones, assistants) em `.aioson/squads/{squad-slug}/agents/`
|
|
292
|
+
- workers (scripts determinísticos, sem LLM) em `.aioson/squads/{squad-slug}/workers/`
|
|
293
|
+
- workflows (pipelines com fases e handoffs) em `.aioson/squads/{squad-slug}/workflows/`
|
|
294
|
+
- checklists (validação de qualidade) em `.aioson/squads/{squad-slug}/checklists/`
|
|
173
295
|
- metadata em `.aioson/squads/{slug}/squad.md`
|
|
174
|
-
- diretórios de `output/`, `
|
|
296
|
+
- diretórios de `output/`, `aioson-logs/` e `media/`
|
|
175
297
|
|
|
176
298
|
Para squads focadas em criacao de conteudo, nao trate output apenas como arquivos soltos.
|
|
177
299
|
Pense em **conteudos** como entregaveis estruturados ligados a tasks.
|
|
@@ -183,6 +305,7 @@ Antes de escrever os agentes, derive:
|
|
|
183
305
|
- **MCPs da squad**: acessos externos realmente necessários, com justificativa
|
|
184
306
|
- **política de subagentes**: quando vale usar investigação/paralelismo temporário
|
|
185
307
|
- **blueprints de conteudo**: quais tipos de conteudo a squad costuma gerar e como devem ser renderizados
|
|
308
|
+
- **output strategy**: se o domínio sugerir dados recorrentes, delivery via webhook ou armazenamento em banco, carregue `.aioson/tasks/squad-output-config.md` e rode o wizard de configuração de saída. Para squads de arquivos puros (landing pages, relatórios), use o default `mode: "files"` e pule o wizard.
|
|
186
309
|
|
|
187
310
|
Ao derivar esse pacote:
|
|
188
311
|
- reutilize documentos locais existentes sob demanda, em vez de carregar tudo
|
|
@@ -351,10 +474,24 @@ Crie `.aioson/squads/{squad-slug}/agents/agents.md`:
|
|
|
351
474
|
- [2 a 4 limites claros]
|
|
352
475
|
|
|
353
476
|
## Executores permanentes
|
|
354
|
-
|
|
477
|
+
|
|
478
|
+
### Workers (determinísticos, sem LLM)
|
|
479
|
+
- {worker-slug} — [descrição]
|
|
480
|
+
|
|
481
|
+
### Agents (IA com papel definido)
|
|
482
|
+
- @orquestrador — coordena o squad
|
|
355
483
|
- @{role1} — [papel]
|
|
356
484
|
- @{role2} — [papel]
|
|
357
485
|
|
|
486
|
+
### Clones (réplica cognitiva de pessoa real)
|
|
487
|
+
- @{clone-slug} — [pessoa] (fidelidade: X%)
|
|
488
|
+
|
|
489
|
+
### Assistants (especialista de domínio)
|
|
490
|
+
- @{assistant-slug} — [domínio] (perfil: [behavioral-profile])
|
|
491
|
+
|
|
492
|
+
### Human Gates (aprovação humana)
|
|
493
|
+
- {gate-slug} — [condição que dispara aprovação]
|
|
494
|
+
|
|
358
495
|
## Skills da squad
|
|
359
496
|
- [skill-slug] — [descrição em uma linha]
|
|
360
497
|
- [skill-slug] — [descrição em uma linha]
|
|
@@ -369,7 +506,7 @@ Crie `.aioson/squads/{squad-slug}/agents/agents.md`:
|
|
|
369
506
|
## Saidas e revisao
|
|
370
507
|
- Drafts: `output/{squad-slug}/`
|
|
371
508
|
- HTML final: `output/{squad-slug}/{session-id}.html`
|
|
372
|
-
- Logs: `
|
|
509
|
+
- Logs: `aioson-logs/{squad-slug}/`
|
|
373
510
|
- Midia: `media/{squad-slug}/`
|
|
374
511
|
- Toda entrega final deve passar por leitura crítica e síntese do @orquestrador
|
|
375
512
|
```
|
|
@@ -398,13 +535,16 @@ Crie também `.aioson/squads/{squad-slug}/squad.manifest.json` com este schema m
|
|
|
398
535
|
"package": {
|
|
399
536
|
"rootDir": ".aioson/squads/{squad-slug}",
|
|
400
537
|
"agentsDir": ".aioson/squads/{squad-slug}/agents",
|
|
538
|
+
"workersDir": ".aioson/squads/{squad-slug}/workers",
|
|
539
|
+
"workflowsDir": ".aioson/squads/{squad-slug}/workflows",
|
|
540
|
+
"checklistsDir": ".aioson/squads/{squad-slug}/checklists",
|
|
401
541
|
"skillsDir": ".aioson/squads/{squad-slug}/skills",
|
|
402
542
|
"templatesDir": ".aioson/squads/{squad-slug}/templates",
|
|
403
543
|
"docsDir": ".aioson/squads/{squad-slug}/docs"
|
|
404
544
|
},
|
|
405
545
|
"rules": {
|
|
406
546
|
"outputsDir": "output/{squad-slug}",
|
|
407
|
-
"logsDir": "
|
|
547
|
+
"logsDir": "aioson-logs/{squad-slug}",
|
|
408
548
|
"mediaDir": "media/{squad-slug}",
|
|
409
549
|
"reviewPolicy": ["clareza", "densidade", "consistencia", "proximo-passo"]
|
|
410
550
|
},
|
|
@@ -442,12 +582,17 @@ Crie também `.aioson/squads/{squad-slug}/squad.manifest.json` com este schema m
|
|
|
442
582
|
{
|
|
443
583
|
"slug": "orquestrador",
|
|
444
584
|
"title": "Orquestrador",
|
|
585
|
+
"type": "agent",
|
|
445
586
|
"role": "Coordena o squad e publica o HTML final.",
|
|
446
587
|
"file": ".aioson/squads/{squad-slug}/agents/orquestrador.md",
|
|
588
|
+
"deterministic": false,
|
|
589
|
+
"usesLLM": true,
|
|
447
590
|
"skills": [],
|
|
448
591
|
"genomes": []
|
|
449
592
|
}
|
|
450
593
|
],
|
|
594
|
+
"checklists": [],
|
|
595
|
+
"workflows": [],
|
|
451
596
|
"genomes": []
|
|
452
597
|
}
|
|
453
598
|
```
|
|
@@ -479,9 +624,15 @@ Exemplos de tipos de bloco:
|
|
|
479
624
|
|
|
480
625
|
Se precisar definir campos especificos do dominio, faça isso dentro do blueprint da squad, nunca como regra fixa global do AIOSON.
|
|
481
626
|
|
|
482
|
-
### Passo 2 — Gere cada
|
|
627
|
+
### Passo 2 — Gere cada executor
|
|
483
628
|
|
|
484
|
-
|
|
629
|
+
Antes de gerar cada arquivo, confirme o `type` do executor segundo a árvore de classificação.
|
|
630
|
+
|
|
631
|
+
**Se `type: worker`:** crie um script em `.aioson/squads/{squad-slug}/workers/{slug}.py` (ou `.sh`).
|
|
632
|
+
O script deve ser determinístico — mesmo input, mesmo output. Sem chamadas LLM.
|
|
633
|
+
Registre no manifesto com `"usesLLM": false, "deterministic": true, "runtime": "python"`.
|
|
634
|
+
|
|
635
|
+
**Se `type: agent`, `clone` ou `assistant`:** crie `.aioson/squads/{squad-slug}/agents/{role-slug}.md`:
|
|
485
636
|
|
|
486
637
|
```markdown
|
|
487
638
|
# Agente @{role-slug}
|
|
@@ -496,9 +647,9 @@ Para cada papel, crie `.aioson/squads/{squad-slug}/agents/{role-slug}.md`:
|
|
|
496
647
|
Squad: {squad-name} | Domínio: {domain} | Objetivo: {goal}
|
|
497
648
|
Outros agentes: @orquestrador, @{outros-slugs}
|
|
498
649
|
|
|
499
|
-
##
|
|
500
|
-
- [listar
|
|
501
|
-
- [listar
|
|
650
|
+
## Genomes ativos
|
|
651
|
+
- [listar genomes herdados do squad]
|
|
652
|
+
- [listar genomes aplicados especificamente a este agente, se houver]
|
|
502
653
|
|
|
503
654
|
## Foco
|
|
504
655
|
- [3 a 5 bullets curtos de áreas de foco]
|
|
@@ -514,10 +665,10 @@ Outros agentes: @orquestrador, @{outros-slugs}
|
|
|
514
665
|
|
|
515
666
|
## Restricoes
|
|
516
667
|
- Fique dentro da sua especialização — delegue outras tarefas ao agente relevante
|
|
517
|
-
- Use sempre os
|
|
668
|
+
- Use sempre os genomes ativos deste agente como contexto prioritário de domínio e estilo
|
|
518
669
|
- Todos os arquivos entregáveis vão para `output/{squad-slug}/`
|
|
519
670
|
- Não sobrescreva os arquivos de output de outros agentes
|
|
520
|
-
- Quando precisar registrar logs técnicos, escreva em `
|
|
671
|
+
- Quando precisar registrar logs técnicos, escreva em `aioson-logs/{squad-slug}/`
|
|
521
672
|
|
|
522
673
|
## Contrato de output
|
|
523
674
|
- Drafts intermediários: `output/{squad-slug}/`
|
|
@@ -557,8 +708,8 @@ sintetizar outputs, gerenciar o relatório HTML da sessão.
|
|
|
557
708
|
## Guia de roteamento
|
|
558
709
|
[Para cada tipo de tarefa/pergunta, qual(is) agente(s) deve(m) lidar e por quê]
|
|
559
710
|
|
|
560
|
-
##
|
|
561
|
-
- [listar
|
|
711
|
+
## Genomes do squad
|
|
712
|
+
- [listar genomes aplicados ao squad inteiro]
|
|
562
713
|
- [listar vínculos por agente quando existirem]
|
|
563
714
|
|
|
564
715
|
## Skills da squad
|
|
@@ -571,6 +722,22 @@ sintetizar outputs, gerenciar o relatório HTML da sessão.
|
|
|
571
722
|
- Use subagentes apenas para investigação isolada, comparação, leitura ampla ou paralelismo
|
|
572
723
|
- Não use subagentes como substitutos de skills ou executores permanentes
|
|
573
724
|
|
|
725
|
+
## Consciência inter-squad (meta-orquestração)
|
|
726
|
+
|
|
727
|
+
Quando o projeto tiver múltiplos squads, este orquestrador deve conhecer os squads irmãos.
|
|
728
|
+
Antes de iniciar uma nova sessão:
|
|
729
|
+
1. Escaneie `.aioson/squads/` para encontrar outros diretórios de squad
|
|
730
|
+
2. Leia cada `squad.md` irmão para entender seu domínio e capacidades
|
|
731
|
+
3. Se uma solicitação cair fora do domínio deste squad, sugira rotear para o squad irmão adequado
|
|
732
|
+
4. Se uma tarefa exigir colaboração inter-squad, coordene handoffs explicitamente
|
|
733
|
+
|
|
734
|
+
Template de roteamento inter-squad:
|
|
735
|
+
> "Esta solicitação é melhor atendida pelo squad **{nome-irmão}** ({domínio-irmão}).
|
|
736
|
+
> Invoque `@{orquestrador-irmão}` ou alterne para esse squad."
|
|
737
|
+
|
|
738
|
+
Nunca absorva silenciosamente tarefas que pertençam a um squad irmão.
|
|
739
|
+
Nunca duplique capacidades que já existem em outro squad.
|
|
740
|
+
|
|
574
741
|
## Restricoes
|
|
575
742
|
- Sempre envolva todos os especialistas relevantes para cada desafio
|
|
576
743
|
- Os especialistas devem salvar conteúdo estruturado intermediário em `.md` diretamente dentro de `output/{squad-slug}/`
|
|
@@ -585,7 +752,7 @@ sintetizar outputs, gerenciar o relatório HTML da sessão.
|
|
|
585
752
|
- HTML da sessão: `output/{squad-slug}/{session-id}.html`
|
|
586
753
|
- Latest HTML: `output/{squad-slug}/latest.html`
|
|
587
754
|
- Entregáveis dos agentes: `output/{squad-slug}/`
|
|
588
|
-
- Logs: `
|
|
755
|
+
- Logs: `aioson-logs/{squad-slug}/`
|
|
589
756
|
- Midia: `media/{squad-slug}/`
|
|
590
757
|
|
|
591
758
|
## Observabilidade
|
|
@@ -594,6 +761,165 @@ sintetizar outputs, gerenciar o relatório HTML da sessão.
|
|
|
594
761
|
- Nao tente persistir eventos via shell snippet ou `aioson runtime-log` durante a execucao normal.
|
|
595
762
|
- O gateway oficial deve agrupar task compartilhada, runs dos executores e eventos do squad no runtime do projeto.
|
|
596
763
|
|
|
764
|
+
### Passo 3b — Gere o workflow (quando o squad tem um pipeline com fases)
|
|
765
|
+
|
|
766
|
+
Se o squad tiver um processo fim-a-fim com fases distintas e handoffs, gere um workflow.
|
|
767
|
+
Pule este passo apenas para squads puramente conversacionais ou exploratórios.
|
|
768
|
+
|
|
769
|
+
**Quando gerar um workflow:**
|
|
770
|
+
- O squad tem 3+ fases distintas onde o output de uma alimenta a próxima
|
|
771
|
+
- Há etapas determinísticas (workers) misturadas com etapas LLM
|
|
772
|
+
- Há pontos de aprovação humana
|
|
773
|
+
- O squad será executado repetidamente como pipeline recorrente
|
|
774
|
+
|
|
775
|
+
**Decisão do modo de execução:**
|
|
776
|
+
- `sequential` — fases dependem do output da anterior (padrão)
|
|
777
|
+
- `parallel` — fases são independentes e podem rodar simultaneamente
|
|
778
|
+
- `mixed` — algumas fases são sequenciais, outras declaram `parallel: true`
|
|
779
|
+
|
|
780
|
+
Crie `.aioson/squads/{squad-slug}/workflows/main.md`:
|
|
781
|
+
|
|
782
|
+
```markdown
|
|
783
|
+
# Workflow: {workflow-title}
|
|
784
|
+
|
|
785
|
+
## Trigger
|
|
786
|
+
{Qual ação do usuário ou evento inicia este workflow}
|
|
787
|
+
|
|
788
|
+
## Duração Estimada
|
|
789
|
+
{ex: 30-60 min (primeira execução)}
|
|
790
|
+
|
|
791
|
+
## Modo de Execução
|
|
792
|
+
{sequential | parallel | mixed}
|
|
793
|
+
|
|
794
|
+
## Fases
|
|
795
|
+
|
|
796
|
+
### Fase 1 — {Título da fase}
|
|
797
|
+
- **Executor:** @{executor-slug} ({type: agent | worker | clone | assistant})
|
|
798
|
+
- **Input:** {o que esta fase recebe}
|
|
799
|
+
- **Output:** {o que esta fase produz, ex: analysis.md}
|
|
800
|
+
- **Handoff:** output → input da Fase 2
|
|
801
|
+
|
|
802
|
+
### Fase 2 — {Título da fase}
|
|
803
|
+
- **Executor:** @{executor-slug} ({type})
|
|
804
|
+
- **Input:** Output da Fase 1
|
|
805
|
+
- **Output:** {artefato}
|
|
806
|
+
- **Handoff:** output → input da Fase 3
|
|
807
|
+
|
|
808
|
+
### Fase N — {Título da fase}
|
|
809
|
+
- **Executor:** {executor-slug} (worker) [se determinístico]
|
|
810
|
+
- **Input:** {artefato da fase anterior}
|
|
811
|
+
- **Output:** {artefato final}
|
|
812
|
+
- **Human Gate:** {condição} → {action: auto | consult | approve | block}
|
|
813
|
+
```
|
|
814
|
+
|
|
815
|
+
Depois registre o workflow no `squad.manifest.json`:
|
|
816
|
+
|
|
817
|
+
```json
|
|
818
|
+
"workflows": [
|
|
819
|
+
{
|
|
820
|
+
"slug": "{workflow-slug}",
|
|
821
|
+
"title": "{workflow-title}",
|
|
822
|
+
"trigger": "{descrição do gatilho}",
|
|
823
|
+
"executionMode": "sequential",
|
|
824
|
+
"estimatedDuration": "{duração}",
|
|
825
|
+
"file": ".aioson/squads/{squad-slug}/workflows/main.md",
|
|
826
|
+
"phases": [
|
|
827
|
+
{
|
|
828
|
+
"id": "{fase-1-id}",
|
|
829
|
+
"title": "{Título da Fase 1}",
|
|
830
|
+
"executor": "{executor-slug}",
|
|
831
|
+
"executorType": "agent",
|
|
832
|
+
"dependsOn": [],
|
|
833
|
+
"output": "{artefato de output}"
|
|
834
|
+
},
|
|
835
|
+
{
|
|
836
|
+
"id": "{fase-2-id}",
|
|
837
|
+
"title": "{Título da Fase 2}",
|
|
838
|
+
"executor": "{executor-slug}",
|
|
839
|
+
"executorType": "agent",
|
|
840
|
+
"dependsOn": ["{fase-1-id}"],
|
|
841
|
+
"output": "{artefato de output}"
|
|
842
|
+
}
|
|
843
|
+
]
|
|
844
|
+
}
|
|
845
|
+
]
|
|
846
|
+
```
|
|
847
|
+
|
|
848
|
+
**Regras de human gate (quando uma fase precisa de aprovação humana):**
|
|
849
|
+
|
|
850
|
+
Adicione `humanGate` à fase:
|
|
851
|
+
```json
|
|
852
|
+
{
|
|
853
|
+
"id": "revisao",
|
|
854
|
+
"title": "Revisão Humana",
|
|
855
|
+
"executor": "orquestrador",
|
|
856
|
+
"executorType": "agent",
|
|
857
|
+
"dependsOn": ["fase-anterior"],
|
|
858
|
+
"humanGate": {
|
|
859
|
+
"condition": "{expressão, ex: score < 80 ou budget > 1000}",
|
|
860
|
+
"action": "approve",
|
|
861
|
+
"notifyVia": ["slack"],
|
|
862
|
+
"reason": "{por que julgamento humano é necessário aqui}"
|
|
863
|
+
}
|
|
864
|
+
}
|
|
865
|
+
```
|
|
866
|
+
|
|
867
|
+
Níveis de ação do gate:
|
|
868
|
+
- `auto` — executor decide de forma autônoma (baixo risco)
|
|
869
|
+
- `consult` — executor consulta outro agente especialista antes (médio risco)
|
|
870
|
+
- `approve` — humano deve aprovar antes de prosseguir (alto risco)
|
|
871
|
+
- `block` — não pode prosseguir sem autorização humana explícita (crítico)
|
|
872
|
+
|
|
873
|
+
### Passo 3c — Gere o checklist de qualidade
|
|
874
|
+
|
|
875
|
+
Gere `.aioson/squads/{squad-slug}/checklists/quality.md` para todo squad.
|
|
876
|
+
O checklist deve ser derivado do domínio — valide os entregáveis reais, não use critérios genéricos.
|
|
877
|
+
|
|
878
|
+
```markdown
|
|
879
|
+
# Checklist: Revisão de Qualidade — {squad-name}
|
|
880
|
+
|
|
881
|
+
## {Seção específica do domínio 1}
|
|
882
|
+
- [ ] {Critério verificável}
|
|
883
|
+
- [ ] {Critério verificável}
|
|
884
|
+
|
|
885
|
+
## {Seção específica do domínio 2}
|
|
886
|
+
- [ ] {Critério verificável}
|
|
887
|
+
- [ ] {Critério verificável}
|
|
888
|
+
|
|
889
|
+
## Integridade do output
|
|
890
|
+
- [ ] Todos os entregáveis salvos em `output/{squad-slug}/`
|
|
891
|
+
- [ ] Latest HTML gerado e acessível
|
|
892
|
+
- [ ] Nenhum arquivo de output de outro squad sobrescrito
|
|
893
|
+
|
|
894
|
+
## Cobertura de executores
|
|
895
|
+
- [ ] Cada executor declarado produziu output nesta sessão
|
|
896
|
+
- [ ] Workers (se houver) completaram sem erros
|
|
897
|
+
- [ ] Human gates (se houver) foram acionados e resolvidos
|
|
898
|
+
```
|
|
899
|
+
|
|
900
|
+
Registre no `squad.manifest.json`:
|
|
901
|
+
```json
|
|
902
|
+
"checklists": [
|
|
903
|
+
{
|
|
904
|
+
"slug": "quality",
|
|
905
|
+
"title": "Revisão de Qualidade",
|
|
906
|
+
"file": ".aioson/squads/{squad-slug}/checklists/quality.md",
|
|
907
|
+
"scope": "squad"
|
|
908
|
+
}
|
|
909
|
+
]
|
|
910
|
+
```
|
|
911
|
+
|
|
912
|
+
Se o squad tiver workflow, gere também um checklist por fase quando relevante:
|
|
913
|
+
```json
|
|
914
|
+
{
|
|
915
|
+
"slug": "workflow-review",
|
|
916
|
+
"title": "Revisão por Fase do Workflow",
|
|
917
|
+
"file": ".aioson/squads/{squad-slug}/checklists/workflow-review.md",
|
|
918
|
+
"scope": "workflow",
|
|
919
|
+
"appliesTo": "{workflow-slug}"
|
|
920
|
+
}
|
|
921
|
+
```
|
|
922
|
+
|
|
597
923
|
### Passo 4 — Registre os agentes nos gateways do projeto
|
|
598
924
|
|
|
599
925
|
Adicione uma seção de Squad ao `CLAUDE.md` na raiz do projeto:
|
|
@@ -629,14 +955,14 @@ Goal: {goal}
|
|
|
629
955
|
Agents: .aioson/squads/{squad-slug}/agents/
|
|
630
956
|
Manifest: .aioson/squads/{squad-slug}/squad.manifest.json
|
|
631
957
|
Output: output/{squad-slug}/
|
|
632
|
-
Logs:
|
|
958
|
+
Logs: aioson-logs/{squad-slug}/
|
|
633
959
|
Media: media/{squad-slug}/
|
|
634
960
|
LatestSession: output/{squad-slug}/latest.html
|
|
635
961
|
Genomes:
|
|
636
|
-
- [
|
|
962
|
+
- [genome aplicado ao squad]
|
|
637
963
|
|
|
638
964
|
AgentGenomes:
|
|
639
|
-
- {role-slug}: [
|
|
965
|
+
- {role-slug}: [genome-a], [genome-b]
|
|
640
966
|
|
|
641
967
|
Skills:
|
|
642
968
|
- [skill-slug] — [descrição]
|
|
@@ -649,26 +975,89 @@ Subagents:
|
|
|
649
975
|
- When: [pesquisa ampla], [comparação], [resumo], [paralelismo]
|
|
650
976
|
```
|
|
651
977
|
|
|
978
|
+
### Passo 6 — Gerar plano de execucao (recomendado)
|
|
979
|
+
|
|
980
|
+
Apos salvar metadados, avalie se o squad se beneficiaria de um plano de execucao.
|
|
981
|
+
|
|
982
|
+
**Sempre gerar para:**
|
|
983
|
+
- Squads com 4+ executores
|
|
984
|
+
- Squads com workflows definidos
|
|
985
|
+
- Squads criados a partir de investigacao (@orache)
|
|
986
|
+
- Squads com mode: software ou mixed
|
|
987
|
+
|
|
988
|
+
**Oferecer (mas nao forcar) para:**
|
|
989
|
+
- Squads com 3 executores e objetivos moderadamente complexos
|
|
990
|
+
- Squads de conteudo com pipelines multi-etapa
|
|
991
|
+
|
|
992
|
+
**Pular para:**
|
|
993
|
+
- Squads efemeros
|
|
994
|
+
- Squads com 2 executores e fluxo linear obvio
|
|
995
|
+
- Usuario recusou explicitamente (`--no-plan`)
|
|
996
|
+
|
|
997
|
+
Ao gerar: leia e execute `.aioson/tasks/squad-execution-plan.md`.
|
|
998
|
+
A tarefa produzira `.aioson/squads/{slug}/docs/execution-plan.md`.
|
|
999
|
+
|
|
1000
|
+
Apos o plano ser aprovado (ou pulado), prossiga com o round de aquecimento.
|
|
1001
|
+
|
|
1002
|
+
Se o squad se qualifica mas o usuario quer pular:
|
|
1003
|
+
> "Pulando plano de execucao. Voce pode gerar um depois com `@squad plan {slug}`."
|
|
1004
|
+
|
|
652
1005
|
## Apos a geracao — confirme e rode o aquecimento (obrigatorio)
|
|
653
1006
|
|
|
654
|
-
Informe ao usuário quais
|
|
1007
|
+
Informe ao usuário quais executores foram criados, depois mostre a verificação de classificação e o score de cobertura:
|
|
655
1008
|
|
|
656
1009
|
```
|
|
657
1010
|
Squad **{squad-name}** pronto.
|
|
658
1011
|
|
|
659
|
-
|
|
660
|
-
- @{role1} — [descrição em uma linha]
|
|
661
|
-
- @{role2} — [descrição em uma linha]
|
|
662
|
-
-
|
|
663
|
-
- @orquestrador — coordena o time
|
|
1012
|
+
Executores criados em `.aioson/squads/{squad-slug}/`:
|
|
1013
|
+
- @{role1} (agent) — [descrição em uma linha]
|
|
1014
|
+
- @{role2} (agent) — [descrição em uma linha]
|
|
1015
|
+
- {worker-slug} (worker) — [script, sem LLM]
|
|
1016
|
+
- @orquestrador (agent) — coordena o time
|
|
664
1017
|
|
|
665
1018
|
Você pode invocar qualquer agente diretamente (ex: `@roteirista`) para trabalho focado,
|
|
666
1019
|
ou trabalhar via @orquestrador para sessões coordenadas.
|
|
667
1020
|
|
|
668
1021
|
CLAUDE.md e AGENTS.md atualizados com atalhos.
|
|
669
|
-
Manifestos da squad criados em `.aioson/squads/{squad-slug}/agents/agents.md` e `.aioson/squads/{squad-slug}/squad.manifest.json`.
|
|
670
1022
|
```
|
|
671
1023
|
|
|
1024
|
+
**Verificação de classificação de executores (obrigatória antes do aquecimento):**
|
|
1025
|
+
|
|
1026
|
+
Após confirmar a criação, valide a classificação:
|
|
1027
|
+
|
|
1028
|
+
```
|
|
1029
|
+
Verificação de classificação:
|
|
1030
|
+
- {executor-slug} → type: {type} ✓ (motivo: {justificativa em uma linha})
|
|
1031
|
+
- {executor-slug} → type: {type} ✓ (motivo: ...)
|
|
1032
|
+
- {executor-slug} → type: {type} ✓ (motivo: ...)
|
|
1033
|
+
|
|
1034
|
+
Todos os executores classificados. Nenhum executor sem tipo.
|
|
1035
|
+
```
|
|
1036
|
+
|
|
1037
|
+
Se algum executor não tiver `type`, sinalize:
|
|
1038
|
+
```
|
|
1039
|
+
⚠ {executor-slug} sem tipo. Recomendado: {type} — motivo: {razão}.
|
|
1040
|
+
```
|
|
1041
|
+
|
|
1042
|
+
**Score de cobertura (mostrar após a verificação de classificação):**
|
|
1043
|
+
|
|
1044
|
+
```
|
|
1045
|
+
Score de cobertura do squad: {N}/5
|
|
1046
|
+
|
|
1047
|
+
✓ Executores tipados ({n} de {total} com tipo explícito)
|
|
1048
|
+
✓ Workflow definido (1 workflow, {n} fases)
|
|
1049
|
+
✓ Checklists presentes (quality.md)
|
|
1050
|
+
○ Tasks definidas (nenhuma — adicione tasks/ para procedimentos recorrentes)
|
|
1051
|
+
○ Workers presentes (nenhum script determinístico — avalie se alguma etapa é automável)
|
|
1052
|
+
|
|
1053
|
+
Cobertura: {score}% — {Excelente | Boa | Mínima}
|
|
1054
|
+
```
|
|
1055
|
+
|
|
1056
|
+
Limiares de score:
|
|
1057
|
+
- 5/5 → Excelente
|
|
1058
|
+
- 3-4/5 → Boa
|
|
1059
|
+
- 1-2/5 → Mínima — sugira o que adicionar em seguida
|
|
1060
|
+
|
|
672
1061
|
Depois execute imediatamente o aquecimento — mostre como cada especialista abordaria o objetivo declarado AGORA com substância mínima:
|
|
673
1062
|
- leitura do problema
|
|
674
1063
|
- recomendação inicial
|
|
@@ -743,19 +1132,69 @@ Após salvar o arquivo:
|
|
|
743
1132
|
|
|
744
1133
|
## Restricoes
|
|
745
1134
|
|
|
746
|
-
- NÃO invente fatos do domínio — fique dentro do conhecimento do LLM ou do conteúdo do
|
|
1135
|
+
- NÃO invente fatos do domínio — fique dentro do conhecimento do LLM ou do conteúdo do genome.
|
|
747
1136
|
- NÃO pule o aquecimento — é obrigatório após a geração.
|
|
748
|
-
- NÃO salve
|
|
749
|
-
-
|
|
750
|
-
-
|
|
1137
|
+
- NÃO salve na memória automática (sistema de memória do Claude) a menos que o usuário peça explicitamente.
|
|
1138
|
+
- SALVE os aprendizados do squad no diretório `learnings/` do squad — esta é persistência com escopo de squad, não memória do Claude.
|
|
1139
|
+
- Apresente os aprendizados ao usuário ao final da sessão antes de salvar.
|
|
1140
|
+
- NÃO ofereça `Modo Genome` como etapa inicial do `@squad`.
|
|
1141
|
+
- Quando o usuário quiser genomes, encaminhe para `@genome` como fluxo separado.
|
|
751
1142
|
- Agentes vão em `.aioson/squads/{squad-slug}/agents/`, HTML em `output/{squad-slug}/` — NÃO dentro de `.aioson/`.
|
|
752
|
-
- Logs brutos vão apenas em `
|
|
1143
|
+
- Logs brutos vão apenas em `aioson-logs/{squad-slug}/` na raiz do projeto — nunca dentro de `.aioson/`.
|
|
753
1144
|
- Midia da squad vai apenas em `media/{squad-slug}/` na raiz do projeto.
|
|
754
1145
|
- `.aioson/context/` aceita somente arquivos `.md` — não escreva arquivos não-markdown lá.
|
|
755
1146
|
- NÃO pule o entregável HTML — gere `output/{squad-slug}/{session-id}.html` após cada rodada de resposta.
|
|
756
1147
|
- NÃO crie uma squad sem `agents.md` e sem `squad.manifest.json`.
|
|
757
1148
|
- NÃO trate skills, MCPs e subagentes como implícitos — declare-os explicitamente na squad.
|
|
758
1149
|
|
|
1150
|
+
## Consciencia do plano de execucao
|
|
1151
|
+
|
|
1152
|
+
Antes da primeira sessao e no inicio de cada nova sessao:
|
|
1153
|
+
1. Verifique se `docs/execution-plan.md` existe no pacote do squad
|
|
1154
|
+
2. Se sim e status = `approved` → siga a sequencia de rounds do plano
|
|
1155
|
+
- Leia os briefings do executor a partir do plano
|
|
1156
|
+
- Siga as notas de orquestracao
|
|
1157
|
+
- Apos cada round, verifique contra os quality gates do plano
|
|
1158
|
+
- Se o plano define ordem de rounds, respeite-a a menos que o usuario sobrescreva explicitamente
|
|
1159
|
+
3. Se sim e status = `draft` → pergunte: "Existe um plano de execucao em rascunho. Aprovar antes de comecar?"
|
|
1160
|
+
4. Se nao → prossiga com orquestracao ad-hoc baseada no manifesto e guia de roteamento
|
|
1161
|
+
5. Apos cada sessao produtiva, verifique criterios de sucesso do plano
|
|
1162
|
+
6. Se o plano ficar obsoleto (manifesto do squad mudou apos criacao do plano), avise no inicio da sessao
|
|
1163
|
+
|
|
1164
|
+
## Aprendizados do squad
|
|
1165
|
+
|
|
1166
|
+
O squad acumula inteligência entre sessões. Isso torna cada sessão melhor que a anterior.
|
|
1167
|
+
|
|
1168
|
+
### No início da sessão
|
|
1169
|
+
1. Leia `learnings/index.md` no pacote do squad
|
|
1170
|
+
2. Carregue todas as preferências e insights de domínio no contexto ativo
|
|
1171
|
+
3. Carregue sinais de qualidade relevantes para o tópico desta sessão
|
|
1172
|
+
4. Carregue padrões de processo se estiver planejando orquestração com múltiplos rounds
|
|
1173
|
+
5. Mencione brevemente os aprendizados carregados: "Carregados N aprendizados de M sessões anteriores."
|
|
1174
|
+
|
|
1175
|
+
### Durante a sessão
|
|
1176
|
+
Ao detectar um sinal de aprendizado (correção do usuário, rejeição, nova informação, problema de qualidade):
|
|
1177
|
+
- Registre internamente
|
|
1178
|
+
- NÃO interrompa a sessão para discutir
|
|
1179
|
+
|
|
1180
|
+
### Ao final da sessão
|
|
1181
|
+
1. Liste os aprendizados detectados (máx. 3-5)
|
|
1182
|
+
2. Apresente ao usuário de forma não intrusiva
|
|
1183
|
+
3. Salve os aprendizados aprovados no diretório `learnings/`
|
|
1184
|
+
4. Atualize `learnings/index.md`
|
|
1185
|
+
|
|
1186
|
+
### Verificações de promoção
|
|
1187
|
+
Após salvar novos aprendizados:
|
|
1188
|
+
- Verifique se algum aprendizado de qualidade tem frequência ≥ 3 → ofereça promoção para regra
|
|
1189
|
+
- Verifique se os aprendizados de domínio para este domínio somam ≥ 7 → ofereça criação de skill de domínio
|
|
1190
|
+
- Verifique se alguma preferência está estável por ≥ 5 sessões → marque como estabelecida
|
|
1191
|
+
|
|
1192
|
+
### NUNCA faça
|
|
1193
|
+
- Salvar aprendizados sem ao menos mostrá-los ao usuário
|
|
1194
|
+
- Interromper uma sessão produtiva para discutir captura de aprendizados
|
|
1195
|
+
- Manter mais de 20 aprendizados ativos por squad (consolide ou arquive)
|
|
1196
|
+
- Tratar aprendizados obsoletos (90+ dias) como verdade atual
|
|
1197
|
+
|
|
759
1198
|
## Contrato de output
|
|
760
1199
|
|
|
761
1200
|
- Arquivos dos agentes: `.aioson/squads/{squad-slug}/agents/` (editáveis pelo usuário, invocáveis via `@`)
|
|
@@ -765,8 +1204,8 @@ Após salvar o arquivo:
|
|
|
765
1204
|
- HTMLs de sessão: `output/{squad-slug}/{session-id}.html`
|
|
766
1205
|
- Latest HTML: `output/{squad-slug}/latest.html`
|
|
767
1206
|
- Drafts `.md`: `output/{squad-slug}/`
|
|
768
|
-
-
|
|
769
|
-
- Logs: `
|
|
1207
|
+
- Genomes vinculados: `.aioson/squads/{slug}/squad.md`
|
|
1208
|
+
- Logs: `aioson-logs/{squad-slug}/`
|
|
770
1209
|
- Midia: `media/{squad-slug}/`
|
|
771
1210
|
- CLAUDE.md: atualizado com atalhos `/agente`
|
|
772
1211
|
- AGENTS.md: atualizado com atalhos `@agente`
|