@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
package/docs/pt/agentes.md
CHANGED
|
@@ -11,19 +11,37 @@ O AIOSON tem agentes oficiais de projeto e também pode criar agentes de squad.
|
|
|
11
11
|
```
|
|
12
12
|
@setup ← sempre o primeiro
|
|
13
13
|
@product ← gera o PRD base vivo e roteia o fluxo
|
|
14
|
+
@deyvin ← companheiro tecnico para continuidade e pequenas implementacoes
|
|
14
15
|
@discovery-design-doc ← quando precisa clarear escopo e gerar design doc vivo
|
|
15
16
|
@analyst ← projetos SMALL e MEDIUM
|
|
16
17
|
@architect ← projetos SMALL e MEDIUM
|
|
17
|
-
@ux-ui ← quando há interfaces (SMALL e MEDIUM)
|
|
18
|
+
@ux-ui ← UI/UX quando há interfaces (SMALL e MEDIUM)
|
|
18
19
|
@pm ← apenas MEDIUM
|
|
19
20
|
@orchestrator ← apenas MEDIUM
|
|
20
21
|
@dev ← sempre o último antes do QA
|
|
21
22
|
@qa ← projetos SMALL e MEDIUM
|
|
22
23
|
@squad ← cria squads especializados no projeto
|
|
23
|
-
@
|
|
24
|
+
@genome ← cria genomes de domínio reutilizáveis
|
|
24
25
|
```
|
|
25
26
|
|
|
26
|
-
> Para o fluxo completo de `@squad` e `@
|
|
27
|
+
> Para o fluxo completo de `@squad` e `@genome`, veja também [Squad e Genome](./squad-genome.md).
|
|
28
|
+
> Para criar agentes customizados (my-agents e squad agents), veja [Agentes Customizados](./agentes-customizados.md).
|
|
29
|
+
> Para uma explicação focada no agente de continuidade, veja também [Deyvin](./deyvin.md).
|
|
30
|
+
|
|
31
|
+
## Fluxo brownfield apos scan
|
|
32
|
+
|
|
33
|
+
Quando o projeto ja existe e voce roda `scan:project`, o handoff correto agora e:
|
|
34
|
+
|
|
35
|
+
```text
|
|
36
|
+
scan:project -> @analyst -> @architect -> @dev
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Regras do fluxo:
|
|
40
|
+
- os artefatos locais do scan (`scan-index.md`, `scan-folders.md`, `scan-<pasta>.md`, `scan-aioson.md`) servem como mapas brutos do codigo
|
|
41
|
+
- `discovery.md` continua sendo a memoria comprimida que os agentes usam para entender o sistema sem reler tudo
|
|
42
|
+
- esse `discovery.md` pode ser gerado por `scan:project --with-llm` ou pelo `@analyst` usando os artefatos locais do scan
|
|
43
|
+
- `@architect`, `@ux-ui`, `@pm`, `@qa` e o fluxo de `@dev` nao devem pular direto dos mapas brutos para a execucao quando a tarefa depende do comportamento atual do sistema
|
|
44
|
+
- para continuidade de sessao, pequenas correcoes e implementacoes guiadas, `@deyvin` pode entrar depois que a memoria minima estiver pronta
|
|
27
45
|
|
|
28
46
|
---
|
|
29
47
|
|
|
@@ -77,6 +95,7 @@ O AIOSON tem agentes oficiais de projeto e também pode criar agentes de squad.
|
|
|
77
95
|
- detecta sinais visuais cedo e preserva a intenção no PRD
|
|
78
96
|
- faz classificação preliminar do escopo
|
|
79
97
|
- aponta o próximo agente do fluxo
|
|
98
|
+
- em brownfield, usa `discovery.md` quando já existir e trata os artefatos locais do scan apenas como orientação estrutural, nunca como substituto do `@analyst`
|
|
80
99
|
|
|
81
100
|
**Como ativar:**
|
|
82
101
|
```
|
|
@@ -95,6 +114,64 @@ O AIOSON tem agentes oficiais de projeto e também pode criar agentes de squad.
|
|
|
95
114
|
|
|
96
115
|
---
|
|
97
116
|
|
|
117
|
+
## @deyvin
|
|
118
|
+
|
|
119
|
+
**Quando usar:** Quando voce quer continuar uma sessao anterior, entender o que foi feito por ultimo, corrigir uma tarefa pequena, investigar um bug ou implementar em modo colaborativo.
|
|
120
|
+
|
|
121
|
+
**O que faz:**
|
|
122
|
+
- atua como um companheiro tecnico de continuidade
|
|
123
|
+
- le primeiro a memoria do projeto e o runtime antes de ir ao Git
|
|
124
|
+
- verifica sempre `.aioson/rules/` e os docs apontados por essas rules
|
|
125
|
+
- resume o que ja esta confirmado sobre o estado atual
|
|
126
|
+
- pergunta o que voce quer fazer agora
|
|
127
|
+
- toca passos pequenos de implementacao, correcao e validacao
|
|
128
|
+
- encaminha para `@product`, `@discovery-design-doc`, `@analyst`, `@architect`, `@ux-ui`, `@dev` ou `@qa` quando a tarefa sair do modo pair
|
|
129
|
+
|
|
130
|
+
**Ordem mental de contexto do `@deyvin`:**
|
|
131
|
+
1. `project.context.md`
|
|
132
|
+
2. `.aioson/rules/`
|
|
133
|
+
3. `.aioson/docs/`
|
|
134
|
+
4. `context-pack.md` quando existir e combinar com a tarefa
|
|
135
|
+
5. `memory-index.md`
|
|
136
|
+
6. `spec-current.md` + `spec-history.md`
|
|
137
|
+
7. `spec.md`
|
|
138
|
+
8. `features.md` e artefatos da feature em andamento, se houver
|
|
139
|
+
9. `skeleton-system.md`, `discovery.md`, `architecture.md`
|
|
140
|
+
10. runtime SQLite
|
|
141
|
+
11. Git como fallback
|
|
142
|
+
|
|
143
|
+
**Como ativar:**
|
|
144
|
+
```
|
|
145
|
+
/deyvin
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Alias compativel:
|
|
149
|
+
```text
|
|
150
|
+
@pair
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
**Exemplos bons de uso:**
|
|
154
|
+
```text
|
|
155
|
+
@deyvin ve o que fizemos ontem e vamos continuar
|
|
156
|
+
@deyvin revisa as ultimas tasks do runtime e me diga onde paramos
|
|
157
|
+
@deyvin vamos corrigir esse bug pequeno juntos
|
|
158
|
+
@deyvin leia as rules ativas, veja os docs relacionados e ajuste esse fluxo
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
**Entrega esperada:**
|
|
162
|
+
- resumo curto do ultimo contexto confirmado
|
|
163
|
+
- proximo passo pequeno e objetivo
|
|
164
|
+
- implementacao/correcao em lote pequeno
|
|
165
|
+
- atualizacao de `spec.md` ou `spec-{slug}.md` quando fizer sentido
|
|
166
|
+
|
|
167
|
+
**Regra importante:**
|
|
168
|
+
- `@deyvin` nao substitui discovery, produto ou arquitetura formal
|
|
169
|
+
- quando a demanda cresce demais ou fica vaga, ele deve fazer handoff em vez de fingir que tudo cabe numa sessao de continuidade
|
|
170
|
+
- se o pedido abrir projeto novo, greenfield, feature grande, escopo contraditorio ou misturar produto + UX + implementacao, o `@deyvin` deve fazer handoff imediato e nao comecar a codar
|
|
171
|
+
- se voce quiser uma explicacao mais direta e focada no uso dele, consulte [Deyvin](./deyvin.md)
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
98
175
|
## @analyst
|
|
99
176
|
|
|
100
177
|
**Quando usar:** Projetos SMALL e MEDIUM, antes de @architect.
|
|
@@ -106,6 +183,7 @@ O AIOSON tem agentes oficiais de projeto e também pode criar agentes de squad.
|
|
|
106
183
|
- Identifica integrações externas e riscos
|
|
107
184
|
- Em modo feature, passa a consumir `design-doc.md` e `readiness.md` quando já existirem
|
|
108
185
|
- Usa skills e documentos sob demanda para evitar reabrir discovery desnecessária
|
|
186
|
+
- em brownfield, pode gerar `discovery.md` diretamente a partir de `scan-index.md`, `scan-folders.md`, `scan-<pasta>.md` e `scan-aioson.md`, mesmo sem API configurada no `aioson`
|
|
109
187
|
|
|
110
188
|
**Como ativar:**
|
|
111
189
|
```
|
|
@@ -174,6 +252,7 @@ O AIOSON tem agentes oficiais de projeto e também pode criar agentes de squad.
|
|
|
174
252
|
- Define padrões de código para o time
|
|
175
253
|
- Usa `design-doc.md` como documento de decisão do escopo atual
|
|
176
254
|
- Respeita `readiness.md`; se a prontidão ainda estiver baixa, devolve bloqueios em vez de fingir certeza
|
|
255
|
+
- só deve arquitetar em cima de `discovery.md`; se houver apenas artefatos brutos de scan, o passo correto ainda é `@analyst` antes
|
|
177
256
|
|
|
178
257
|
**Como ativar:**
|
|
179
258
|
```
|
|
@@ -200,7 +279,7 @@ tests/
|
|
|
200
279
|
|
|
201
280
|
---
|
|
202
281
|
|
|
203
|
-
##
|
|
282
|
+
## UI/UX (`@ux-ui`)
|
|
204
283
|
|
|
205
284
|
**Quando usar:** Quando o projeto tem interfaces (web apps, landing pages com formulários). SMALL e MEDIUM.
|
|
206
285
|
|
|
@@ -213,19 +292,36 @@ tests/
|
|
|
213
292
|
- Decide dark/light e direção visual de forma autônoma quando o contexto já for suficiente
|
|
214
293
|
- Só pergunta preferência estética quando a ambiguidade realmente mudar a solução
|
|
215
294
|
- Carrega `premium-command-center-ui` apenas quando houver pedido explícito de interface operacional premium ou quando essa skill já estiver registrada no PRD
|
|
295
|
+
- em brownfield, usa `discovery.md` como memória comprimida do sistema; se esse arquivo ainda não existir e o trabalho depender do comportamento atual da aplicação, o próximo passo correto é `@analyst`
|
|
216
296
|
|
|
217
|
-
**Como ativar:**
|
|
297
|
+
**Como ativar o agente UI/UX:**
|
|
218
298
|
```
|
|
219
299
|
/ux-ui
|
|
220
300
|
```
|
|
221
301
|
|
|
222
|
-
**
|
|
302
|
+
**Submodos disponíveis:**
|
|
303
|
+
```
|
|
304
|
+
/ux-ui research → pesquisa visual e hipóteses de direção
|
|
305
|
+
/ux-ui audit → auditoria com inventário, achados por severidade e plano de consolidação
|
|
306
|
+
/ux-ui tokens → contrato formal de design tokens (primitivos, semânticos, escalas)
|
|
307
|
+
/ux-ui component-map → mapeamento de componentes (Atomic Design), gap analysis
|
|
308
|
+
/ux-ui a11y → auditoria WCAG focada, integração com @qa
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
**Entrega principal:** Arquivo `.aioson/context/ui-spec.md` com:
|
|
223
312
|
- Sistema de design (tokens, cores, tipografia)
|
|
224
313
|
- Componentes principais e estados
|
|
225
314
|
- Fluxos de navegação
|
|
226
315
|
- Checklist de acessibilidade
|
|
227
316
|
- Enriquecimento da seção `Identidade visual` do PRD, sem reescrever visão, problema ou usuários
|
|
228
317
|
|
|
318
|
+
**Entregas dos submodos** (opcionais, em `.aioson/context/`):
|
|
319
|
+
- `ui-research.md` — benchmarking visual e direções
|
|
320
|
+
- `ui-audit.md` — inventário + achados + plano de consolidação
|
|
321
|
+
- `ui-tokens.md` — contrato de tokens com posse (`:root` vs `[data-theme]`)
|
|
322
|
+
- `ui-component-map.md` — catálogo de componentes com variantes e estados
|
|
323
|
+
- `ui-a11y.md` — relatório WCAG com checks automatizados e manuais
|
|
324
|
+
|
|
229
325
|
> Se o usuário disser para o agente seguir sozinho, o comportamento esperado é decidir a direção visual com base no contexto do produto e continuar sem abrir questionário de estilo.
|
|
230
326
|
|
|
231
327
|
---
|
|
@@ -239,6 +335,7 @@ tests/
|
|
|
239
335
|
- Define ordem de entrega sem apagar a intenção original de produto
|
|
240
336
|
- Adiciona critérios de aceite compactos quando isso trouxer clareza para execução e QA
|
|
241
337
|
- Preserva identidade visual, visão, problema, usuários e demais seções já existentes
|
|
338
|
+
- usa `discovery.md` e `architecture.md` como base; não deve priorizar diretamente a partir de mapas brutos de scan
|
|
242
339
|
|
|
243
340
|
**Como ativar:**
|
|
244
341
|
```
|
|
@@ -323,32 +420,32 @@ npx @jaimevalasek/aioson parallel:status
|
|
|
323
420
|
- Metadata do squad
|
|
324
421
|
- Estrutura de output, logs, mídia e sessão
|
|
325
422
|
|
|
326
|
-
> Guia completo: [Squad e
|
|
423
|
+
> Guia completo: [Squad e Genome](./squad-genome.md)
|
|
327
424
|
|
|
328
425
|
---
|
|
329
426
|
|
|
330
|
-
## @
|
|
427
|
+
## @genome
|
|
331
428
|
|
|
332
429
|
**Quando usar:** Quando você quer criar uma base de conhecimento de domínio reutilizável e aplicá-la a squads ou agentes específicos.
|
|
333
430
|
|
|
334
431
|
**O que faz:**
|
|
335
432
|
- Gera `O que saber`, `Mentes` e `Skills`
|
|
336
|
-
- Pode salvar em `.aioson/
|
|
433
|
+
- Pode salvar em `.aioson/genomes/`
|
|
337
434
|
- Pode ser aplicado depois a um squad já existente
|
|
338
435
|
- Atua como camada cognitiva do sistema, não como executor
|
|
339
436
|
|
|
340
437
|
**Como ativar:**
|
|
341
438
|
```
|
|
342
|
-
@
|
|
439
|
+
@genome
|
|
343
440
|
```
|
|
344
441
|
|
|
345
442
|
**Entrega:**
|
|
346
|
-
-
|
|
443
|
+
- Genome estruturado
|
|
347
444
|
- Opcionalmente, vínculo persistente com um squad
|
|
348
445
|
|
|
349
446
|
**Não confundir:**
|
|
350
447
|
- `skill` = capacidade operacional
|
|
351
|
-
- `
|
|
448
|
+
- `genome` = forma de pensar, lentes e repertório
|
|
352
449
|
- `executor` = quem faz o trabalho
|
|
353
450
|
- `subagente` = investigação temporária
|
|
354
451
|
|
|
@@ -357,7 +454,7 @@ Quando uma skill vier do catálogo online ou de outro pacote, ela deve ser salva
|
|
|
357
454
|
|
|
358
455
|
Depois disso, ela passa a ser parte real do pacote local da squad e deve ser considerada pelos agentes sob demanda.
|
|
359
456
|
|
|
360
|
-
> Guia completo: [Squad e
|
|
457
|
+
> Guia completo: [Squad e Genome](./squad-genome.md)
|
|
361
458
|
|
|
362
459
|
---
|
|
363
460
|
|
|
@@ -411,6 +508,7 @@ Depois disso, ela passa a ser parte real do pacote local da squad e deve ser con
|
|
|
411
508
|
- Escreve testes unitários e de integração
|
|
412
509
|
- Identifica casos de borda não cobertos
|
|
413
510
|
- Valida se os critérios de aceite foram atendidos
|
|
511
|
+
- usa `discovery.md` como fonte de regras e relacionamentos; se só existirem artefatos de scan, o fluxo correto ainda passa por `@analyst`
|
|
414
512
|
|
|
415
513
|
**Como ativar:**
|
|
416
514
|
```
|
|
@@ -0,0 +1,407 @@
|
|
|
1
|
+
# Automação de Squads — LLM-to-Script
|
|
2
|
+
|
|
3
|
+
> Como transformar processos de squad em scripts executáveis que rodam sem LLM.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Conceito
|
|
8
|
+
|
|
9
|
+
Toda vez que uma squad executa uma tarefa, custa tokens de LLM. Mas muitos processos seguem padrões repetíveis — mesma entrada, mesma transformação, mesma estrutura de saída. Quando isso acontece, o trabalho pode virar um **script que roda sozinho**: local, em CI/CD, cron, serverless ou qualquer ambiente.
|
|
10
|
+
|
|
11
|
+
O fluxo:
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
Squad produz output com LLM
|
|
15
|
+
↓
|
|
16
|
+
Orquestrador analisa: "isso pode virar script?"
|
|
17
|
+
↓
|
|
18
|
+
Cria script plan em script-plans/
|
|
19
|
+
↓
|
|
20
|
+
Usuário revisa e aprova
|
|
21
|
+
↓
|
|
22
|
+
LLM gera o script em scripts/
|
|
23
|
+
↓
|
|
24
|
+
Script roda sem LLM — custo zero por execução
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Quando funciona bem
|
|
30
|
+
|
|
31
|
+
A automação faz sentido quando o processo é **determinístico** — mesma entrada sempre produz a mesma saída.
|
|
32
|
+
|
|
33
|
+
**Bons candidatos:**
|
|
34
|
+
- Formatação de dados (CSV → JSON, Markdown → HTML)
|
|
35
|
+
- Preenchimento de templates (relatórios semanais, newsletters)
|
|
36
|
+
- Extração de informações de documentos estruturados
|
|
37
|
+
- Validação contra regras fixas (checklists, conformidade)
|
|
38
|
+
- Transformações de texto com padrões claros (slugify, normalizar, limpar)
|
|
39
|
+
- Geração de relatórios a partir de dados tabulares
|
|
40
|
+
- Pipeline de preparação de conteúdo (metadata, tags, categorização por regra)
|
|
41
|
+
|
|
42
|
+
**Não automatize:**
|
|
43
|
+
- Trabalho criativo (escrever copy original, brainstorming)
|
|
44
|
+
- Tarefas que precisam de pesquisa web ou dados em tempo real
|
|
45
|
+
- Processos onde o julgamento da LLM é o valor principal (code review, análise estratégica)
|
|
46
|
+
- Tarefas únicas que nunca vão se repetir
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Como usar
|
|
51
|
+
|
|
52
|
+
### Opção 1: O orquestrador oferece
|
|
53
|
+
|
|
54
|
+
Depois de uma sessão produtiva, o orquestrador da squad automaticamente avalia se o processo pode ser automatizado. Se a viabilidade for média ou alta, ele oferece:
|
|
55
|
+
|
|
56
|
+
> "Esse processo parece automatizável. Quer que eu analise se pode virar um script standalone que roda sem LLM?"
|
|
57
|
+
|
|
58
|
+
Se você aceitar, ele cria o script plan. Se recusar, segue em frente.
|
|
59
|
+
|
|
60
|
+
### Opção 2: Você pede explicitamente
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
@squad automate youtube-creator
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Isso analisa as sessões recentes da squad e propõe automações para os processos mais repetitivos.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Fase 1: Script plan
|
|
71
|
+
|
|
72
|
+
O script plan é um documento de análise que avalia **o que** pode ser automatizado e **como**.
|
|
73
|
+
|
|
74
|
+
Fica em: `.aioson/squads/{slug}/script-plans/{plan-slug}.md`
|
|
75
|
+
|
|
76
|
+
### Exemplo real: formatador de roteiros
|
|
77
|
+
|
|
78
|
+
Imagine uma squad de YouTube onde o roteirista sempre recebe um briefing e produz um roteiro no mesmo formato: hook, desenvolvimento, CTA, descrição do vídeo.
|
|
79
|
+
|
|
80
|
+
O script plan seria:
|
|
81
|
+
|
|
82
|
+
```markdown
|
|
83
|
+
# Script Plan: format-youtube-script
|
|
84
|
+
|
|
85
|
+
**Status:** proposed
|
|
86
|
+
**Squad:** youtube-creator
|
|
87
|
+
**Session:** 2026-03-20-roteiro-ingles
|
|
88
|
+
**Language:** python
|
|
89
|
+
**Feasibility:** high
|
|
90
|
+
|
|
91
|
+
## What the LLM did
|
|
92
|
+
Recebeu um briefing com tema, público-alvo e estilo.
|
|
93
|
+
Produziu um roteiro com estrutura fixa: hook (3 opções),
|
|
94
|
+
desenvolvimento (3 blocos), CTA, descrição e tags.
|
|
95
|
+
|
|
96
|
+
## Automation feasibility analysis
|
|
97
|
+
|
|
98
|
+
### Can be automated
|
|
99
|
+
- Leitura do briefing a partir de template JSON
|
|
100
|
+
- Estruturação das seções (hook, blocos, CTA)
|
|
101
|
+
- Geração da descrição a partir de template com variáveis
|
|
102
|
+
- Formatação final em Markdown com frontmatter
|
|
103
|
+
|
|
104
|
+
### Cannot be automated
|
|
105
|
+
- Escrita criativa do conteúdo dos hooks
|
|
106
|
+
- Escolha da narrativa nos blocos de desenvolvimento
|
|
107
|
+
- Adaptação do tom ao público-alvo
|
|
108
|
+
|
|
109
|
+
### Feasibility verdict
|
|
110
|
+
Medium — a estrutura e formatação podem ser automatizadas,
|
|
111
|
+
mas o conteúdo criativo ainda precisa de LLM.
|
|
112
|
+
O script pode gerar o scaffold e pré-preencher seções fixas,
|
|
113
|
+
economizando ~40% do trabalho do agente.
|
|
114
|
+
|
|
115
|
+
## Script design
|
|
116
|
+
|
|
117
|
+
### Inputs
|
|
118
|
+
| Name | Type | Source | Example |
|
|
119
|
+
|------|------|--------|---------|
|
|
120
|
+
| briefing | JSON | arquivo local | {"tema":"inglês","publico":"25-40","estilo":"direto"} |
|
|
121
|
+
| template | Markdown | squad templates | roteiro-tmpl.md |
|
|
122
|
+
|
|
123
|
+
### Process
|
|
124
|
+
1. Ler briefing JSON
|
|
125
|
+
2. Carregar template de roteiro
|
|
126
|
+
3. Preencher variáveis fixas (tema, público, data)
|
|
127
|
+
4. Gerar estrutura das seções com placeholders
|
|
128
|
+
5. Adicionar frontmatter com metadata
|
|
129
|
+
6. Escrever arquivo Markdown de saída
|
|
130
|
+
|
|
131
|
+
### Outputs
|
|
132
|
+
| Name | Format | Location |
|
|
133
|
+
|------|--------|----------|
|
|
134
|
+
| roteiro-scaffold | Markdown | output/youtube-creator/ |
|
|
135
|
+
|
|
136
|
+
### Dependencies
|
|
137
|
+
- Nenhuma (stdlib Python)
|
|
138
|
+
|
|
139
|
+
### Limitations
|
|
140
|
+
- Não gera conteúdo criativo — apenas o scaffold
|
|
141
|
+
- Não substitui o agente para roteiros que fogem do template padrão
|
|
142
|
+
|
|
143
|
+
## Estimated effort
|
|
144
|
+
Small (< 100 lines)
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Status do script plan
|
|
148
|
+
|
|
149
|
+
| Status | Significado |
|
|
150
|
+
|--------|-------------|
|
|
151
|
+
| `proposed` | Análise feita, aguardando aprovação |
|
|
152
|
+
| `approved` | Usuário aprovou, pronto para gerar script |
|
|
153
|
+
| `implemented` | Script gerado e funcional |
|
|
154
|
+
| `rejected` | Usuário considerou inviável ou desnecessário |
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## Fase 2: Geração do script
|
|
159
|
+
|
|
160
|
+
Quando você revisa o plan e diz "ok" / "pode gerar" / "implementa":
|
|
161
|
+
|
|
162
|
+
1. O status do plan muda para `approved`
|
|
163
|
+
2. A LLM gera o script em `.aioson/squads/{slug}/scripts/{script-slug}.py` (ou `.js`)
|
|
164
|
+
3. O status muda para `implemented`
|
|
165
|
+
4. O manifesto da squad é atualizado com a automação
|
|
166
|
+
|
|
167
|
+
### Requisitos do script gerado
|
|
168
|
+
|
|
169
|
+
Todo script deve ser **self-contained e executável**:
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
# Python
|
|
173
|
+
python .aioson/squads/youtube-creator/scripts/format-youtube-script.py --help
|
|
174
|
+
python .aioson/squads/youtube-creator/scripts/format-youtube-script.py --input=briefing.json --output=output/
|
|
175
|
+
|
|
176
|
+
# Node.js
|
|
177
|
+
node .aioson/squads/data-pipeline/scripts/csv-to-dashboard.js --input=report.csv --output=dashboard.json
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
**Obrigatório em todo script:**
|
|
181
|
+
- Header com nome, origem (plan), e usage
|
|
182
|
+
- Parse de argumentos CLI (`--input`, `--output`, `--help`, `--dry-run`)
|
|
183
|
+
- Leitura de input via arquivo ou stdin
|
|
184
|
+
- Escrita de output via arquivo ou stdout
|
|
185
|
+
- Tratamento de erros com mensagens claras
|
|
186
|
+
- Zero paths hardcoded — tudo via argumentos
|
|
187
|
+
- Se precisar de pacotes externos, listar no header com instrução de install
|
|
188
|
+
|
|
189
|
+
### Exemplo de script gerado
|
|
190
|
+
|
|
191
|
+
```python
|
|
192
|
+
#!/usr/bin/env python3
|
|
193
|
+
"""
|
|
194
|
+
format-youtube-script — generated from squad:youtube-creator
|
|
195
|
+
Plan: script-plans/format-youtube-script.md
|
|
196
|
+
|
|
197
|
+
Gera scaffold de roteiro de YouTube a partir de briefing JSON.
|
|
198
|
+
|
|
199
|
+
Usage:
|
|
200
|
+
python format-youtube-script.py --input=briefing.json [--output=roteiro.md] [--template=tmpl.md]
|
|
201
|
+
python format-youtube-script.py --help
|
|
202
|
+
echo '{"tema":"..."}' | python format-youtube-script.py
|
|
203
|
+
"""
|
|
204
|
+
|
|
205
|
+
import argparse
|
|
206
|
+
import json
|
|
207
|
+
import sys
|
|
208
|
+
from datetime import date
|
|
209
|
+
from pathlib import Path
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
def load_input(input_path):
|
|
213
|
+
if input_path == '-' or input_path is None:
|
|
214
|
+
return json.load(sys.stdin)
|
|
215
|
+
return json.loads(Path(input_path).read_text())
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
def generate_scaffold(briefing, template_path=None):
|
|
219
|
+
tema = briefing.get('tema', 'Sem tema')
|
|
220
|
+
publico = briefing.get('publico', 'Geral')
|
|
221
|
+
estilo = briefing.get('estilo', 'neutro')
|
|
222
|
+
today = date.today().isoformat()
|
|
223
|
+
|
|
224
|
+
sections = [
|
|
225
|
+
f'---',
|
|
226
|
+
f'tema: {tema}',
|
|
227
|
+
f'publico: {publico}',
|
|
228
|
+
f'estilo: {estilo}',
|
|
229
|
+
f'data: {today}',
|
|
230
|
+
f'status: scaffold',
|
|
231
|
+
f'---',
|
|
232
|
+
f'',
|
|
233
|
+
f'# Roteiro: {tema}',
|
|
234
|
+
f'',
|
|
235
|
+
f'## Hook (escolher 1 de 3)',
|
|
236
|
+
f'1. [Hook opção A]',
|
|
237
|
+
f'2. [Hook opção B]',
|
|
238
|
+
f'3. [Hook opção C]',
|
|
239
|
+
f'',
|
|
240
|
+
f'## Desenvolvimento',
|
|
241
|
+
f'',
|
|
242
|
+
f'### Bloco 1',
|
|
243
|
+
f'[Conteúdo do primeiro bloco]',
|
|
244
|
+
f'',
|
|
245
|
+
f'### Bloco 2',
|
|
246
|
+
f'[Conteúdo do segundo bloco]',
|
|
247
|
+
f'',
|
|
248
|
+
f'### Bloco 3',
|
|
249
|
+
f'[Conteúdo do terceiro bloco]',
|
|
250
|
+
f'',
|
|
251
|
+
f'## CTA',
|
|
252
|
+
f'[Call to action]',
|
|
253
|
+
f'',
|
|
254
|
+
f'## Descrição do vídeo',
|
|
255
|
+
f'[Descrição para o YouTube]',
|
|
256
|
+
f'',
|
|
257
|
+
f'## Tags',
|
|
258
|
+
f'[Lista de tags]',
|
|
259
|
+
]
|
|
260
|
+
return '\n'.join(sections)
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
def main():
|
|
264
|
+
parser = argparse.ArgumentParser(description='Generate YouTube script scaffold from briefing')
|
|
265
|
+
parser.add_argument('--input', '-i', help='Path to briefing JSON (or - for stdin)')
|
|
266
|
+
parser.add_argument('--output', '-o', help='Output path (default: stdout)')
|
|
267
|
+
parser.add_argument('--template', '-t', help='Optional template file')
|
|
268
|
+
parser.add_argument('--dry-run', action='store_true', help='Show what would be generated')
|
|
269
|
+
args = parser.parse_args()
|
|
270
|
+
|
|
271
|
+
briefing = load_input(args.input)
|
|
272
|
+
result = generate_scaffold(briefing, args.template)
|
|
273
|
+
|
|
274
|
+
if args.dry_run:
|
|
275
|
+
print(f'[dry-run] Would generate {len(result)} chars')
|
|
276
|
+
print(f'[dry-run] Tema: {briefing.get("tema")}')
|
|
277
|
+
return
|
|
278
|
+
|
|
279
|
+
if args.output:
|
|
280
|
+
Path(args.output).write_text(result)
|
|
281
|
+
print(f'Scaffold saved to {args.output}')
|
|
282
|
+
else:
|
|
283
|
+
print(result)
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
if __name__ == '__main__':
|
|
287
|
+
main()
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
## Fase 3: Iteração
|
|
293
|
+
|
|
294
|
+
Se o script não funciona perfeitamente na primeira vez:
|
|
295
|
+
|
|
296
|
+
1. Reporte o problema: "O script não trata briefings sem campo 'estilo'"
|
|
297
|
+
2. A LLM corrige o script no mesmo arquivo
|
|
298
|
+
3. O plan ganha uma seção `## Iterations` documentando as mudanças
|
|
299
|
+
|
|
300
|
+
---
|
|
301
|
+
|
|
302
|
+
## Registro no manifesto
|
|
303
|
+
|
|
304
|
+
Quando um script é implementado, ele aparece no `squad.manifest.json`:
|
|
305
|
+
|
|
306
|
+
```json
|
|
307
|
+
{
|
|
308
|
+
"automations": [
|
|
309
|
+
{
|
|
310
|
+
"slug": "format-youtube-script",
|
|
311
|
+
"plan": "script-plans/format-youtube-script.md",
|
|
312
|
+
"script": "scripts/format-youtube-script.py",
|
|
313
|
+
"language": "python",
|
|
314
|
+
"status": "implemented",
|
|
315
|
+
"createdFrom": "2026-03-20-roteiro-ingles",
|
|
316
|
+
"inputs": ["briefing JSON com tema, público e estilo"],
|
|
317
|
+
"outputs": ["scaffold de roteiro em Markdown"]
|
|
318
|
+
}
|
|
319
|
+
]
|
|
320
|
+
}
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
---
|
|
324
|
+
|
|
325
|
+
## Estrutura de pastas
|
|
326
|
+
|
|
327
|
+
```
|
|
328
|
+
.aioson/squads/{squad-slug}/
|
|
329
|
+
script-plans/
|
|
330
|
+
format-youtube-script.md ← análise de viabilidade
|
|
331
|
+
validate-seo-checklist.md ← outro plan
|
|
332
|
+
scripts/
|
|
333
|
+
format-youtube-script.py ← script aprovado e implementado
|
|
334
|
+
validate-seo-checklist.js ← outro script
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
---
|
|
338
|
+
|
|
339
|
+
## Exemplos de automação por tipo de squad
|
|
340
|
+
|
|
341
|
+
### Squad de conteúdo
|
|
342
|
+
|
|
343
|
+
| Processo | Viabilidade | Tipo de script |
|
|
344
|
+
|----------|-------------|----------------|
|
|
345
|
+
| Formatar roteiro a partir de briefing | Alta | Python — template filling |
|
|
346
|
+
| Gerar metadata de vídeo (tags, descrição) | Média | Python — regras + template |
|
|
347
|
+
| Converter roteiro Markdown → teleprompter HTML | Alta | Node.js — parser + template |
|
|
348
|
+
| Analisar retenção de vídeo | Baixa | Precisa de API do YouTube |
|
|
349
|
+
|
|
350
|
+
### Squad de dados/relatórios
|
|
351
|
+
|
|
352
|
+
| Processo | Viabilidade | Tipo de script |
|
|
353
|
+
|----------|-------------|----------------|
|
|
354
|
+
| CSV → JSON normalizado | Alta | Python — pandas ou csv stdlib |
|
|
355
|
+
| Gerar relatório semanal a partir de dados | Alta | Python — template + dados |
|
|
356
|
+
| Validar conformidade de dataset | Alta | Python — regras fixas |
|
|
357
|
+
| Dashboard estático a partir de métricas | Alta | Node.js — chart.js + template |
|
|
358
|
+
|
|
359
|
+
### Squad de desenvolvimento
|
|
360
|
+
|
|
361
|
+
| Processo | Viabilidade | Tipo de script |
|
|
362
|
+
|----------|-------------|----------------|
|
|
363
|
+
| Gerar migration a partir de spec | Média | Node.js — parser de spec |
|
|
364
|
+
| Scaffold de CRUD completo | Alta | Node.js — templates de código |
|
|
365
|
+
| Validar PR contra checklist | Alta | Python — regex + regras |
|
|
366
|
+
| Gerar changelog a partir de commits | Alta | Python — git log parser |
|
|
367
|
+
|
|
368
|
+
### Squad jurídico
|
|
369
|
+
|
|
370
|
+
| Processo | Viabilidade | Tipo de script |
|
|
371
|
+
|----------|-------------|----------------|
|
|
372
|
+
| Formatar contrato a partir de template | Alta | Python — docx/md template |
|
|
373
|
+
| Extrair cláusulas de documento | Média | Python — regex patterns |
|
|
374
|
+
| Gerar checklist de compliance | Alta | Python — regras fixas |
|
|
375
|
+
| Analisar risco de contrato | Baixa | Julgamento humano/LLM |
|
|
376
|
+
|
|
377
|
+
---
|
|
378
|
+
|
|
379
|
+
## Boas práticas
|
|
380
|
+
|
|
381
|
+
1. **Comece pelo plan.** Não peça script direto — o plan força a análise de viabilidade antes de investir esforço na implementação.
|
|
382
|
+
|
|
383
|
+
2. **Seja honesto com a viabilidade.** "Medium" é uma resposta válida. Um script que faz 60% do trabalho e deixa os 40% criativos para o LLM já economiza muito.
|
|
384
|
+
|
|
385
|
+
3. **Prefira Python ou Node.js com zero dependências.** Um script que precisa de `pip install` com 10 pacotes é mais difícil de rodar em qualquer ambiente.
|
|
386
|
+
|
|
387
|
+
4. **Use `--dry-run` em tudo.** O script deve poder mostrar o que faria sem fazer de fato.
|
|
388
|
+
|
|
389
|
+
5. **Não force automação em trabalho criativo.** Se o valor da squad é a criatividade dos agentes, automação não é o caminho — e tudo bem.
|
|
390
|
+
|
|
391
|
+
6. **Itere.** O primeiro script raramente é perfeito. A vantagem é que a LLM que gerou o script também pode corrigi-lo.
|
|
392
|
+
|
|
393
|
+
---
|
|
394
|
+
|
|
395
|
+
## Relação com workers
|
|
396
|
+
|
|
397
|
+
A squad já tem o conceito de `worker` (tipo de executor determinístico em `workers/`). A diferença:
|
|
398
|
+
|
|
399
|
+
| | Worker | Automation script |
|
|
400
|
+
|---|---|---|
|
|
401
|
+
| **Criado quando** | Na montagem da squad | Depois de uma sessão produtiva |
|
|
402
|
+
| **Origem** | Planejado previamente | Extraído de um processo real |
|
|
403
|
+
| **Localização** | `workers/` | `scripts/` |
|
|
404
|
+
| **Tem plan** | Não | Sim (em `script-plans/`) |
|
|
405
|
+
| **Evolução** | Editado manualmente | Iterado com ajuda da LLM |
|
|
406
|
+
|
|
407
|
+
Workers são definidos na criação da squad para tarefas que **já se sabe** serem determinísticas. Scripts de automação nascem da observação de que um processo executado por agentes LLM **pode** ser replicado sem LLM.
|
package/docs/pt/cenarios.md
CHANGED
|
@@ -354,7 +354,7 @@ Plano de execução:
|
|
|
354
354
|
1. /product → PRD base vivo
|
|
355
355
|
2. /analyst → discovery e modelagem de domínio
|
|
356
356
|
3. /architect → estrutura de pastas Next.js MEDIUM + decisões técnicas
|
|
357
|
-
4. /ux-ui → sistema de design e componentes
|
|
357
|
+
4. /ux-ui → UI/UX, sistema de design e componentes
|
|
358
358
|
5. /pm → priorização e critérios de aceite no PRD vivo
|
|
359
359
|
6. /orchestrator → lanes de desenvolvimento paralelo
|
|
360
360
|
7. /dev → implementação por lane
|
|
@@ -408,7 +408,7 @@ src/
|
|
|
408
408
|
types/
|
|
409
409
|
```
|
|
410
410
|
|
|
411
|
-
### Passo 6:
|
|
411
|
+
### Passo 6: UI/UX (`@ux-ui`)
|
|
412
412
|
|
|
413
413
|
```
|
|
414
414
|
/ux-ui
|
|
@@ -420,7 +420,7 @@ Precisamos de:
|
|
|
420
420
|
- Página de configurações de billing
|
|
421
421
|
```
|
|
422
422
|
|
|
423
|
-
**O
|
|
423
|
+
**O agente UI/UX (`@ux-ui`) entrega** `.aioson/context/ui-spec.md`:
|
|
424
424
|
- Tokens: primary=#6366F1, gray scale, radius-md=8px
|
|
425
425
|
- Componentes: ProjectCard, TaskCard, KanbanBoard, Sidebar, BillingModal
|
|
426
426
|
- Estados: loading skeleton, empty state, error state para cada componente
|