wizz-method 2.18.0 → 2.19.1
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/package.json +5 -3
- package/removals.txt +10 -0
- package/skills-registry.yaml +60 -39
- package/src/bmm-skills/1-analysis/wizz-set-feature/SKILL.md +9 -9
- package/src/bmm-skills/2-plan-workflows/wizz-ux/references/creative-tools.md +2 -0
- package/src/bmm-skills/2-plan-workflows/wizz-ux/references/design-md-spec.md +2 -0
- package/src/bmm-skills/4-implementation/wizz-create-story/SKILL.md +1 -1
- package/src/bmm-skills/4-implementation/wizz-dev-story/SKILL.md +1 -1
- package/src/bmm-skills/4-implementation/wizz-qa-generate-e2e-tests/SKILL.md +1 -1
- package/src/bmm-skills/4-implementation/wizz-qa-generate-e2e-tests/checklist.md +1 -1
- package/src/bmm-skills/4-implementation/wizz-quick-dev/SKILL.md +1 -1
- package/src/bmm-skills/4-implementation/wizz-sprint-status/SKILL.md +5 -5
- package/src/bmm-skills/module-help.csv +1 -1
- package/src/bmm-skills/module.yaml +1 -1
- package/src/core-skills/_shared/handoff-protocol.md +2 -2
- package/src/modules/lowticket/skills/wizz-lowticket-funil/SKILL.md +1 -1
- package/src/modules/lowticket/skills/wizz-lowticket-guia/SKILL.md +1 -1
- package/src/modules/lowticket/skills/wizz-lowticket-metodologia/SKILL.md +1 -1
- package/src/modules/lowticket/skills/wizz-lowticket-minerador/SKILL.md +1 -1
- package/src/modules/lowticket/skills/wizz-lowticket-pagina/SKILL.md +1 -1
- package/src/modules/lowticket/skills/wizz-lowticket-trafego/SKILL.md +1 -1
- package/src/modules/wizz/_shared/cerebro.md +7 -7
- package/src/modules/wizz/_shared/communication-rules.md +1 -1
- package/src/modules/wizz/_shared/encerramento.md +4 -3
- package/src/modules/wizz/_shared/organizacao.md +8 -4
- package/src/modules/wizz/_shared/token-economy.md +1 -1
- package/src/modules/wizz/_shared/video-pipeline.md +4 -4
- package/src/modules/wizz/agents/wizz-ads/SKILL.md +4 -1
- package/src/modules/wizz/agents/wizz-ads/customize.toml +12 -3
- package/src/modules/wizz/agents/wizz-ads/knowledge/playbook.md +36 -0
- package/src/modules/wizz/agents/wizz-copy/SKILL.md +4 -1
- package/src/modules/wizz/agents/wizz-copy/customize.toml +2 -3
- package/src/modules/wizz/agents/wizz-copy/knowledge/playbook.md +34 -0
- package/src/modules/wizz/agents/wizz-designer/SKILL.md +2 -2
- package/src/modules/wizz/agents/wizz-designer/customize.toml +2 -3
- package/src/modules/wizz/agents/wizz-growth/SKILL.md +4 -1
- package/src/modules/wizz/agents/wizz-growth/customize.toml +33 -4
- package/src/modules/wizz/agents/wizz-growth/knowledge/playbook.md +39 -0
- package/src/modules/wizz/agents/wizz-maestro/SKILL.md +6 -8
- package/src/modules/wizz/agents/wizz-maestro/customize.toml +2 -3
- package/src/modules/wizz/agents/wizz-memoria/SKILL.md +7 -7
- package/src/modules/wizz/agents/wizz-memoria/customize.toml +5 -6
- package/src/modules/wizz/agents/wizz-qa/SKILL.md +5 -6
- package/src/modules/wizz/agents/wizz-qa/customize.toml +3 -4
- package/src/modules/wizz/agents/wizz-seo/SKILL.md +4 -1
- package/src/modules/wizz/agents/wizz-seo/customize.toml +2 -3
- package/src/modules/wizz/agents/wizz-seo/knowledge/playbook.md +31 -0
- package/src/modules/wizz/agents/wizz-social/SKILL.md +3 -3
- package/src/modules/wizz/agents/wizz-social/customize.toml +2 -3
- package/src/modules/wizz/overrides/wizz-agent-analyst.toml +2 -2
- package/src/modules/wizz/overrides/wizz-agent-architect.toml +3 -3
- package/src/modules/wizz/overrides/wizz-agent-dev.toml +3 -3
- package/src/modules/wizz/overrides/wizz-agent-pm.toml +2 -2
- package/src/modules/wizz/overrides/wizz-agent-tech-writer.toml +2 -2
- package/src/modules/wizz/overrides/wizz-agent-ux-designer.toml +2 -2
- package/src/skills-lib/_shared/complexity-signal.md +8 -9
- package/src/skills-lib/_shared/dispatch-rule.yaml +21 -0
- package/src/skills-lib/{cerebro → wizz-cerebro}/SKILL.md +1 -1
- package/src/skills-lib/{ctc-align → wizz-ctc-align}/SKILL.md +1 -1
- package/src/skills-lib/wizz-decision-maker/references/output-format.md +21 -0
- package/src/skills-lib/wizz-decision-maker/references/references-and-extraction.md +32 -1
- package/src/skills-lib/wizz-design-needs/references/design-state.md +1 -1
- package/src/skills-lib/wizz-design-needs/references/gap-analysis.md +3 -1
- package/src/skills-lib/{enhance-prompt → wizz-enhance-prompt}/SKILL.md +1 -1
- package/src/skills-lib/{find-skills → wizz-find-skills}/SKILL.md +1 -1
- package/src/skills-lib/wizz-huashu-design/references/sfx-library.md +1 -1
- package/src/skills-lib/wizz-huashu-design/scripts/add-music.sh +1 -1
- package/src/skills-lib/wizz-huashu-design/scripts/html2pptx.js +45 -37
- package/src/skills-lib/wizz-huashu-design/scripts/mix-voiceover.sh +1 -1
- package/src/skills-lib/wizz-huashu-design/scripts/narrate-pipeline.mjs +11 -5
- package/src/skills-lib/wizz-huashu-design/scripts/test_scripts.py +209 -0
- package/src/skills-lib/wizz-huashu-design/scripts/tts-doubao.mjs +42 -28
- package/src/skills-lib/wizz-ig-profile-optimizer/SKILL.md +1 -1
- package/src/skills-lib/wizz-inicio-de-projeto/SKILL.md +1 -1
- package/src/skills-lib/wizz-launch-readiness/SKILL.md +7 -7
- package/src/skills-lib/wizz-launch-readiness/references/02-seguranca.md +3 -3
- package/src/skills-lib/wizz-launch-readiness/references/03-seo-descoberta.md +5 -5
- package/src/skills-lib/wizz-launch-readiness/references/04-analytics-medicao.md +1 -1
- package/src/skills-lib/wizz-launch-readiness/references/05-conteudo-prova-social.md +6 -6
- package/src/skills-lib/wizz-launch-readiness/references/06-legal-lgpd.md +1 -1
- package/src/skills-lib/wizz-launch-readiness/references/08-fusao-priorizacao.md +1 -1
- package/src/skills-lib/wizz-offer-forge/SKILL.md +3 -3
- package/src/skills-lib/{pesquisa-de-publico-do-piva → wizz-pesquisa-de-publico-do-piva}/README.md +1 -1
- package/src/skills-lib/{pesquisa-de-publico-do-piva → wizz-pesquisa-de-publico-do-piva}/SKILL.md +1 -1
- package/src/skills-lib/wizz-premium-landing-ui-researcher/references/component-sources.md +23 -23
- package/src/skills-lib/wizz-premium-landing-ui-researcher/references/source-first-protocol.md +15 -3
- package/src/skills-lib/wizz-premium-landing-ui-researcher/references/source-links.md +14 -8
- package/src/skills-lib/wizz-premium-landing-ui-researcher/references/web-access-and-evidence.md +4 -3
- package/src/skills-lib/wizz-router/SKILL.md +3 -3
- package/src/skills-lib/wizz-router/references/routing-table-flat.md +10 -9
- package/src/skills-lib/{security-audit-pentest → wizz-security-audit-pentest}/SKILL.md +1 -1
- package/src/skills-lib/{site-launch-kit → wizz-site-launch-kit}/SKILL.md +1 -1
- package/src/skills-lib/wizz-ui-component-curator/SKILL.md +1 -1
- package/src/skills-lib/wizz-video-effects/SKILL.md +3 -3
- package/src/skills-lib/wizz-video-effects/references/data-contract.md +3 -3
- package/src/skills-lib/wizz-video-effects/scripts/fill_breaths.py +15 -1
- package/src/skills-lib/wizz-video-effects/scripts/test_fill_breaths.py +20 -0
- package/src/skills-lib/wizz-video-styles/SKILL.md +2 -2
- package/src/skills-lib/wizz-video-styles/data/recipes.json +32 -1
- package/src/skills-lib/wizz-video-styles/data/references.json +211 -1
- package/src/skills-lib/wizz-video-styles/data/styles.json +54 -0
- package/src/skills-lib/wizz-video-styles/references/generated-prompts.md +13 -3
- package/src/skills-lib/wizz-video-styles/references/style-picker.md +4 -2
- package/src/skills-lib/wizz-video-styles/references/styles/ui-morph.md +68 -0
- package/src/skills-lib/wizz-video-styles/scripts/analyze.sh +21 -9
- package/src/skills-lib/wizz-video-styles/scripts/references.mjs +1 -0
- package/src/skills-lib/wizz-web-security/SKILL.md +1 -1
- package/tools/fetch-assets.mjs +1 -1
- package/tools/hooks/README.md +18 -14
- package/tools/hooks/rtk-rewrite.js +95 -0
- package/tools/hooks/security-defensive-context.js +17 -1
- package/tools/hooks/session-rules.js +25 -5
- package/tools/hooks/wizz-arrumar.js +126 -12
- package/tools/hooks/wizz-artifact-guard.js +41 -7
- package/tools/hooks/wizz-cerebro-lib.js +239 -0
- package/tools/hooks/wizz-close-reminder.js +124 -0
- package/tools/hooks/wizz-debug-lib.js +55 -0
- package/tools/hooks/wizz-decision-trace.js +19 -2
- package/tools/hooks/wizz-feature.js +20 -4
- package/tools/hooks/wizz-router-enforce.js +30 -13
- package/tools/installer/command-text.js +243 -0
- package/tools/installer/commands/catalog.js +2 -0
- package/tools/installer/commands/doctor.js +10 -12
- package/tools/installer/commands/fetch-assets.js +5 -5
- package/tools/installer/commands/install.js +6 -7
- package/tools/installer/commands/resolve.js +17 -17
- package/tools/installer/commands/trace-report.js +40 -37
- package/tools/installer/core/doctor.js +60 -55
- package/tools/installer/core/hooks-settings.js +88 -14
- package/tools/installer/core/hooks-smoke.js +134 -0
- package/tools/installer/core/installer.js +61 -52
- package/tools/installer/core/quick-update.js +2 -3
- package/tools/installer/guided/labels.js +5 -0
- package/tools/installer/install-text.js +201 -0
- package/tools/installer/modules/channel-plan.js +2 -2
- package/tools/installer/modules/env-vars.js +5 -6
- package/tools/installer/modules/skills-lib.js +1 -1
- package/tools/installer/ui.js +17 -9
- /package/src/skills-lib/{cerebro → wizz-cerebro}/references/comandos-pesquisa-e-memoria.md +0 -0
- /package/src/skills-lib/{cerebro → wizz-cerebro}/references/comandos-rotina-e-captura.md +0 -0
- /package/src/skills-lib/{cerebro → wizz-cerebro}/references/comandos-sessao.md +0 -0
- /package/src/skills-lib/{ctc-align → wizz-ctc-align}/scripts/align.py +0 -0
- /package/src/skills-lib/{enhance-prompt → wizz-enhance-prompt}/README.md +0 -0
- /package/src/skills-lib/{enhance-prompt → wizz-enhance-prompt}/references/KEYWORDS.md +0 -0
- /package/src/skills-lib/{pesquisa-de-publico-do-piva → wizz-pesquisa-de-publico-do-piva}/assets/template.html +0 -0
- /package/src/skills-lib/{pesquisa-de-publico-do-piva → wizz-pesquisa-de-publico-do-piva}/prompts.md +0 -0
- /package/src/skills-lib/{security-audit-pentest → wizz-security-audit-pentest}/references/stage-1-validacao-entrada.md +0 -0
- /package/src/skills-lib/{security-audit-pentest → wizz-security-audit-pentest}/references/stage-2-autorizacao.md +0 -0
- /package/src/skills-lib/{security-audit-pentest → wizz-security-audit-pentest}/references/stage-3-abuso-volume.md +0 -0
- /package/src/skills-lib/{security-audit-pentest → wizz-security-audit-pentest}/references/stage-4-vazamento-resposta.md +0 -0
- /package/src/skills-lib/{security-audit-pentest → wizz-security-audit-pentest}/references/stage-5-fusao-plano.md +0 -0
- /package/src/skills-lib/{site-launch-kit → wizz-site-launch-kit}/references/01-cta-principal.md +0 -0
- /package/src/skills-lib/{site-launch-kit → wizz-site-launch-kit}/references/02-barra-fixa-mobile.md +0 -0
- /package/src/skills-lib/{site-launch-kit → wizz-site-launch-kit}/references/03-tempo-de-resposta.md +0 -0
- /package/src/skills-lib/{site-launch-kit → wizz-site-launch-kit}/references/04-prova-social.md +0 -0
- /package/src/skills-lib/{site-launch-kit → wizz-site-launch-kit}/references/05-faq-decisao.md +0 -0
- /package/src/skills-lib/{site-launch-kit → wizz-site-launch-kit}/references/06-imagens-reais.md +0 -0
- /package/src/skills-lib/{site-launch-kit → wizz-site-launch-kit}/references/07-endereco-como-chegar.md +0 -0
- /package/src/skills-lib/{site-launch-kit → wizz-site-launch-kit}/references/08-titles.md +0 -0
- /package/src/skills-lib/{site-launch-kit → wizz-site-launch-kit}/references/09-open-graph.md +0 -0
- /package/src/skills-lib/{site-launch-kit → wizz-site-launch-kit}/references/10-breadcrumbs.md +0 -0
- /package/src/skills-lib/{site-launch-kit → wizz-site-launch-kit}/references/11-alt-text.md +0 -0
- /package/src/skills-lib/{site-launch-kit → wizz-site-launch-kit}/references/12-schema-local.md +0 -0
- /package/src/skills-lib/{site-launch-kit → wizz-site-launch-kit}/references/13-robots-sitemap.md +0 -0
- /package/src/skills-lib/{site-launch-kit → wizz-site-launch-kit}/references/14-privacidade-termos.md +0 -0
- /package/src/skills-lib/{site-launch-kit → wizz-site-launch-kit}/references/15-medicao.md +0 -0
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "wizz-method",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.19.1",
|
|
5
5
|
"description": "Wizz Method: método de agência orientado por IA em PT-BR",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"agile",
|
|
@@ -61,6 +61,7 @@
|
|
|
61
61
|
"format:check": "prettier --check \"**/*.{js,cjs,mjs,json,yaml}\"",
|
|
62
62
|
"format:fix": "prettier --write \"**/*.{js,cjs,mjs,json,yaml}\"",
|
|
63
63
|
"format:fix:staged": "prettier --write",
|
|
64
|
+
"generate:dispatch-rule": "node tools/generate-dispatch-rule.mjs",
|
|
64
65
|
"generate:subagents": "node tools/generate-subagents.mjs",
|
|
65
66
|
"install:wizz": "node tools/installer/wizz-cli.js install",
|
|
66
67
|
"lint": "eslint . --ext .js,.cjs,.mjs,.yaml --max-warnings=0",
|
|
@@ -68,8 +69,9 @@
|
|
|
68
69
|
"lint:md": "markdownlint-cli2 \"**/*.md\"",
|
|
69
70
|
"prepare": "command -v husky >/dev/null 2>&1 && husky || exit 0",
|
|
70
71
|
"quality": "npm run format:check && npm run lint && npm run lint:md && npm run docs:build && npm run quality:validate",
|
|
71
|
-
"quality:validate": "npm test && npm run validate:refs && npm run validate:registry-schema && npm run validate:method-refs && npm run validate:model-ids && npm run validate:skills && npm run docs:validate-sidebar && npm run validate:generated && npm run eval:routing && npm run eval:feature && npm run eval:output",
|
|
72
|
+
"quality:validate": "npm test && npm run validate:refs && npm run validate:registry-schema && npm run validate:method-refs && npm run validate:model-ids && npm run validate:skills && npm run docs:validate-sidebar && npm run docs:validate-links && npm run validate:generated && npm run eval:routing && npm run eval:feature && npm run eval:output",
|
|
72
73
|
"rebundle": "node tools/bundle-web-bundles.js",
|
|
74
|
+
"release": "node tools/release.mjs",
|
|
73
75
|
"sync:check": "node tools/sync-check.mjs",
|
|
74
76
|
"sync:global": "node tools/sync-global.mjs",
|
|
75
77
|
"test": "node test/run-tests.js && npm run sync:check",
|
|
@@ -122,7 +124,7 @@
|
|
|
122
124
|
"test:trace-report": "node test/test-trace-report.js",
|
|
123
125
|
"test:urls": "node test/test-parse-source-urls.js",
|
|
124
126
|
"test:workflow-path-regex": "node test/test-workflow-path-regex.js",
|
|
125
|
-
"validate:generated": "npm run test:dispatch-rule && npm run test:routing-table-refs && npm run test:subagents-parity",
|
|
127
|
+
"validate:generated": "npm run test:dispatch-rule && node tools/generate-dispatch-rule.mjs --check && npm run test:routing-table-refs && npm run test:subagents-parity",
|
|
126
128
|
"validate:method-refs": "node tools/validate-method-refs.js --strict",
|
|
127
129
|
"validate:model-ids": "node tools/validate-model-ids.mjs",
|
|
128
130
|
"validate:refs": "node tools/validate-file-refs.js --strict",
|
package/removals.txt
CHANGED
|
@@ -69,3 +69,13 @@ taste-redesign
|
|
|
69
69
|
|
|
70
70
|
# Removida na auditoria de contexto (2026-08-28): knowledge graph descontinuado.
|
|
71
71
|
graphify
|
|
72
|
+
|
|
73
|
+
# Renomeadas para o prefixo wizz- (2026-10-15): as 7 que ficavam de fora.
|
|
74
|
+
# Nesses caminhos do projeto quem escrevia era o próprio install do Wizz.
|
|
75
|
+
cerebro
|
|
76
|
+
ctc-align
|
|
77
|
+
enhance-prompt
|
|
78
|
+
find-skills
|
|
79
|
+
pesquisa-de-publico-do-piva
|
|
80
|
+
security-audit-pentest
|
|
81
|
+
site-launch-kit
|
package/skills-registry.yaml
CHANGED
|
@@ -89,7 +89,7 @@ areas:
|
|
|
89
89
|
when: "PORTA de direção: todo trabalho de decidir ANTES de construir. Brief visual inicial (6 decisões de estética + 3 lógicas) no kickoff. Puxa: wizz-design-needs (o que precisa ser pesquisado), wizz-taste-skill (direção anti-slop de brief novo) e wizz-motion-3d-director (decidir caminho motion/3D/vídeo)."
|
|
90
90
|
rel:
|
|
91
91
|
before: [wizz-design-needs, wizz-ui-ux-pro-max]
|
|
92
|
-
pairs_with: [wizz-motion-3d-director, wizz-taste-skill]
|
|
92
|
+
pairs_with: [wizz-motion-3d-director, wizz-taste-skill, dembrandt]
|
|
93
93
|
# Arquitetura (NÃO no `when:`, que é critério de seleção e fica guloso com
|
|
94
94
|
# explicação dentro): esta entrada só PRODUZ o mapa. Quem executa o mapa
|
|
95
95
|
# são os dois mineradores, que a puxam pela aresta `before` abaixo — é
|
|
@@ -171,7 +171,7 @@ areas:
|
|
|
171
171
|
door: motion
|
|
172
172
|
when: "MONTAR o filme: vídeo em React (Remotion) com áudio, SFX, legenda e timing com precisão de frame. No pipeline de vídeo é o Remotion que faz a montagem final; o hyperframes só desenha as telas mudas (regra: HyperFrames desenha, Remotion monta — ver _shared/video-pipeline.md do módulo wizz)."
|
|
173
173
|
rel:
|
|
174
|
-
after: [buttercut, ctc-align, get-brolls, hyperframes, wizz-motion-3d-director, wizz-video-effects, wizz-video-styles]
|
|
174
|
+
after: [buttercut, wizz-ctc-align, get-brolls, hyperframes, wizz-motion-3d-director, wizz-video-effects, wizz-video-styles]
|
|
175
175
|
- id: wizz-canvas-design
|
|
176
176
|
door: motion
|
|
177
177
|
when: "Gerar PNG/PDF editável por código (carrossel, quote card, infográfico) com fonte/cor/logo sempre certos. Traz canvas-fonts."
|
|
@@ -182,10 +182,11 @@ areas:
|
|
|
182
182
|
when: "Visual generativo por código (flow fields, ruído, partículas) para fundo/textura de hero, único a cada render, sem cara de banco de imagem."
|
|
183
183
|
rel:
|
|
184
184
|
pairs_with: [wizz-canvas-design]
|
|
185
|
-
- id: ctc-align
|
|
185
|
+
- id: wizz-ctc-align
|
|
186
186
|
door: motion
|
|
187
187
|
when: "Timing por forced alignment: timestamps palavra a palavra de narração TTS para sincronizar legenda, corte de cena e animação com a fala. Fonte única de timing no pipeline de vídeo; substitui Whisper e estimativa manual."
|
|
188
188
|
rel:
|
|
189
|
+
pairs_with: [ctc-align]
|
|
189
190
|
after: [voicebox, wizz-video-styles]
|
|
190
191
|
before: [wizz-remotion-best-practices, wizz-video-effects]
|
|
191
192
|
# Motor de decisão de efeitos (Python) portado do sistema de efeitos do
|
|
@@ -199,19 +200,20 @@ areas:
|
|
|
199
200
|
- "Montar o filme em React (sequência de cenas, legenda, <Audio>): é wizz-remotion-best-practices; esta skill decide os efeitos que ele monta."
|
|
200
201
|
- "Filme de lançamento de produto com trilha e direção visual: é wizz-huashu-design."
|
|
201
202
|
rel:
|
|
202
|
-
after: [ctc-align, hyperframes, wizz-video-styles]
|
|
203
|
+
after: [wizz-ctc-align, hyperframes, wizz-video-styles]
|
|
203
204
|
before: [wizz-remotion-best-practices]
|
|
204
205
|
pairs_with: [wizz-ad-creative]
|
|
205
|
-
# Catálogo de estilos de vídeo curto medido em
|
|
206
|
+
# Catálogo de estilos de vídeo curto medido em 110 vídeos reais: decide QUAL
|
|
206
207
|
# estilo copiar antes de voz, timing, efeitos e montagem.
|
|
207
208
|
- id: wizz-video-styles
|
|
208
209
|
door: motion
|
|
209
|
-
when: "Decidir QUAL estilo de vídeo curto copiar a partir do inventário do material (pessoa real, só voz, b-roll, telas, produto) e entregar a receita medida em
|
|
210
|
+
when: "Decidir QUAL estilo de vídeo curto copiar a partir do inventário do material (pessoa real, só voz, b-roll, telas, produto) e entregar a receita medida em 110 vídeos reais (ritmo de corte, legenda, áudio, zoom, gancho), para qualquer nicho, inclusive clipe com a letra da música, tipografia cinética (texto como imagem, cortes na batida) e vídeo do app só com a interface (UI morph: uma forma vira cada tela, cursor conduz, estilo Dribbble). Gatilhos: 'estilo do vídeo', 'editar no estilo de', 'copiar a edição de', 'que estilo usar no reel', 'o vídeo ficou amador', 'clipe com a letra', 'tipografia cinética', 'vídeo do app mexendo', 'anima o app num vídeo', 'animação da interface tipo Dribbble'."
|
|
210
211
|
not_when:
|
|
211
212
|
- "Decidir efeitos e SFX por evento, volume, LUFS e portões de zona segura: é wizz-video-effects; esta skill escolhe o estilo que ele depois refina."
|
|
212
213
|
- "Montar o filme em React (cenas, legenda, <Audio>): é wizz-remotion-best-practices."
|
|
214
|
+
- "Animar componente dentro do código do app (hover, transição de página, modal): é wizz-animate; aqui é vídeo para divulgar."
|
|
213
215
|
rel:
|
|
214
|
-
before: [ctc-align, wizz-video-effects, wizz-remotion-best-practices]
|
|
216
|
+
before: [wizz-ctc-align, wizz-video-effects, wizz-remotion-best-practices]
|
|
215
217
|
pairs_with: [wizz-social-content, get-brolls, hyperframes, wizz-hook-extractor]
|
|
216
218
|
clis:
|
|
217
219
|
- id: hyperframes
|
|
@@ -256,7 +258,7 @@ areas:
|
|
|
256
258
|
- "Cortar/montar footage já captado: é buttercut (corte fino) ou wizz-remotion-best-practices (montagem final)."
|
|
257
259
|
- "Gerar imagem/vídeo por IA: é wizz-ad-creative, que escreve o prompt para o usuário colar no Flow ou em outra IA. O get-brolls busca material REAL, não sintético."
|
|
258
260
|
- "Desenhar uma tela/cena em HTML: é hyperframes."
|
|
259
|
-
- "Minerar/estudar criativo ou oferta de concorrente (Biblioteca de Anúncios, 'baixa esse anúncio pra eu ver'): é wizz-lowticket-minerador na área
|
|
261
|
+
- "Minerar/estudar criativo ou oferta de concorrente (Biblioteca de Anúncios, 'baixa esse anúncio pra eu ver'): é wizz-lowticket-minerador na área growth. O get-brolls capta insert para a SUA edição, com procedência registrada — não é ferramenta de inteligência competitiva, e o fato de saber baixar um Reel não o torna uma."
|
|
260
262
|
rel:
|
|
261
263
|
after: [wizz-social-content]
|
|
262
264
|
before: [buttercut, wizz-remotion-best-practices]
|
|
@@ -298,7 +300,7 @@ areas:
|
|
|
298
300
|
- id: voicebox
|
|
299
301
|
when: "Voz/TTS/clonagem de voz local para narração/VO de vídeo (7 engines TTS + Whisper STT). App desktop que expõe endpoint MCP local em runtime. Clone-and-run no projeto."
|
|
300
302
|
rel:
|
|
301
|
-
before: [ctc-align]
|
|
303
|
+
before: [wizz-ctc-align]
|
|
302
304
|
platform: [darwin, linux]
|
|
303
305
|
# Clone-and-run: o próprio repo responde o SHA, então o check compara com o
|
|
304
306
|
# pin. O install repara um clone existente em vez de falhar no git clone.
|
|
@@ -306,16 +308,24 @@ areas:
|
|
|
306
308
|
# Pin de supply chain (2026-08-23): checkout de SHA fixo; atualizar conscientemente.
|
|
307
309
|
install: "{ [ -d voicebox/.git ] || git clone https://github.com/jamiepine/voicebox.git voicebox; } && git -C voicebox fetch --tags origin && git -C voicebox checkout 2bcb98d1a8b6fe05e15fbc1559e3085669e4035d"
|
|
308
310
|
- id: ctc-align
|
|
309
|
-
when: "Timestamps palavra a palavra CONFIÁVEIS de narração TTS (texto conhecido): sincronizar legenda, corte de cena, animação e elemento gráfico com a fala. Fonte única de timing em vídeo — substitui timestamps do Whisper e estimativa manual. Skill da lib: ctc-align (instalação + helper align.py + regras de âncora monotônica e duração mínima). Roda em CPU, sem CUDA."
|
|
311
|
+
when: "Timestamps palavra a palavra CONFIÁVEIS de narração TTS (texto conhecido): sincronizar legenda, corte de cena, animação e elemento gráfico com a fala. Fonte única de timing em vídeo — substitui timestamps do Whisper e estimativa manual. Skill da lib: wizz-ctc-align (instalação + helper align.py + regras de âncora monotônica e duração mínima). Roda em CPU, sem CUDA."
|
|
310
312
|
rel:
|
|
311
|
-
|
|
312
|
-
before: [wizz-remotion-best-practices, wizz-video-effects]
|
|
313
|
+
pairs_with: [wizz-ctc-align]
|
|
313
314
|
platform: [darwin, linux]
|
|
314
315
|
# O pip grava o commit instalado no direct_url.json: o check compara com o pin.
|
|
315
316
|
check: "test -x ./tools/ctc-align/.venv/bin/ctc-forced-aligner && grep -qs 64293cc6d711e57666c4a8b098e9fd93b381fd88 ./tools/ctc-align/.venv/lib/python*/site-packages/ctc_forced_aligner-*.dist-info/direct_url.json"
|
|
316
317
|
# Pin de supply chain (2026-09-30): commit fixo; atualizar conscientemente.
|
|
317
318
|
install: 'mkdir -p tools/ctc-align && uv venv --python 3.12 tools/ctc-align/.venv && uv pip install --python tools/ctc-align/.venv/bin/python "git+https://github.com/MahmoudAshraf97/ctc-forced-aligner.git@64293cc6d711e57666c4a8b098e9fd93b381fd88"'
|
|
318
319
|
verify: "command -v ffmpeg >/dev/null 2>&1 && command -v uv >/dev/null 2>&1"
|
|
320
|
+
- id: dembrandt
|
|
321
|
+
when: "Medir um site de referência que já existe: extrair as cores, fontes, espaçamento e cantos reais de uma URL e gerar o DESIGN.md (ou tema Tailwind/shadcn) a partir deles. Para quando o usuário diz 'quero as cores/fontes iguais às do site X'."
|
|
322
|
+
not_when: "Criar identidade nova sem site de referência (é wizz-decision-maker) ou tirar print de página (é agent-browser)."
|
|
323
|
+
rel:
|
|
324
|
+
pairs_with: [wizz-decision-maker]
|
|
325
|
+
# Local, MIT, sem chave; roda um Chromium headless (playwright-core).
|
|
326
|
+
# Pin de supply chain (2026-10-15): versão fixa; atualizar conscientemente.
|
|
327
|
+
check: "dembrandt --version"
|
|
328
|
+
install: "npm install -g dembrandt@0.39.2"
|
|
319
329
|
- id: apple-design
|
|
320
330
|
when: "Revisar/auditar UI NATIVA (iOS/macOS: SwiftUI, Flutter, React Native, Tauri, Electron) contra o Apple HIG e o Liquid Glass — compliance com o HIG, acessibilidade, dark mode, navegação. Cobre o gap que o wizz-taste-skill declara fora de escopo ('native mobile: use Apple HIG directly')."
|
|
321
331
|
not_when: "UI web: aí é wizz-ui-ux-pro-max / wizz-impeccable."
|
|
@@ -336,16 +346,18 @@ areas:
|
|
|
336
346
|
agent: wizz-copy
|
|
337
347
|
summary: "Copywriting: texto de venda, headlines, páginas, e-mails, sequências."
|
|
338
348
|
skills:
|
|
339
|
-
# Módulo lowticket:
|
|
340
|
-
#
|
|
341
|
-
#
|
|
342
|
-
#
|
|
349
|
+
# Módulo lowticket: um dono por skill desde 2026-09-18 (decisão do
|
|
350
|
+
# dono). Guia, metodologia, funil, minerador e página moram em growth;
|
|
351
|
+
# wizz-lowticket-trafego mora em ads (campanha Meta, bid cap, régua de
|
|
352
|
+
# corte é trabalho de ads; confirmado pelo dono em 2026-10-15). A copy
|
|
353
|
+
# chega nelas pelo `rel` de wizz-copywriting — que é o caminho que o
|
|
354
|
+
# método usa pra tudo mais. Antes a mesma skill existia em copy, growth e ads, e o
|
|
343
355
|
# eval mostrava o custo: "qual prazo de garantia?" respondia copy,
|
|
344
356
|
# growth ou ads em amostras diferentes, porque as três estavam certas.
|
|
345
357
|
- id: wizz-copywriting
|
|
346
358
|
when: "Escrever copy de venda/página/headline do zero ou reescrever. Na página de vendas completa, incluir wizz-offer-forge se faltar oferta aprovada e wizz-page-cro se faltar estrutura de conversão aprovada; headline/CTA isolado ou texto sobre oferta e estrutura já aprovadas não exige refazê-las."
|
|
347
359
|
rel:
|
|
348
|
-
after: [pesquisa-de-publico-do-piva, wizz-offer-forge]
|
|
360
|
+
after: [wizz-pesquisa-de-publico-do-piva, wizz-offer-forge]
|
|
349
361
|
before: [wizz-copy-editing]
|
|
350
362
|
pairs_with:
|
|
351
363
|
[
|
|
@@ -396,7 +408,7 @@ areas:
|
|
|
396
408
|
when: "Implementar dados estruturados / structured data."
|
|
397
409
|
rel:
|
|
398
410
|
after: [wizz-seo-audit]
|
|
399
|
-
pairs_with: [site-launch-kit, wizz-ai-seo]
|
|
411
|
+
pairs_with: [wizz-site-launch-kit, wizz-ai-seo]
|
|
400
412
|
- id: wizz-programmatic-seo
|
|
401
413
|
when: "Gerar páginas em escala pra atacar muitas keywords."
|
|
402
414
|
rel:
|
|
@@ -496,18 +508,18 @@ areas:
|
|
|
496
508
|
when: "Setar/auditar tracking e medição (GA4, GTM, eventos, UTM, atribuição)."
|
|
497
509
|
rel:
|
|
498
510
|
pairs_with: [wizz-ab-test-setup, wizz-referral-program, wizz-tracking-audit]
|
|
499
|
-
- id: site-launch-kit
|
|
511
|
+
- id: wizz-site-launch-kit
|
|
500
512
|
when: "Site pronto ou quase pronto pra ir ao ar: revisão de pré-lançamento em 15 rodadas corretivas (CTA acima da dobra, barra fixa mobile, tempo de resposta, prova social real, FAQ+FAQPage, imagens reais, endereço, titles, Open Graph, breadcrumbs, alt text, schema local, robots/sitemap, LGPD, medição), com regra anti-invenção e PENDÊNCIAS. Gatilhos: 'vamos subir o site', 'checklist de lançamento', 'revisa antes do deploy', pré-go-live, ou um item isolado (og:image, FAQ com schema, robots.txt). Roda DEPOIS do site construído, ANTES do deploy."
|
|
501
513
|
rel:
|
|
502
514
|
pairs_with: [wizz-launch-readiness, wizz-schema-markup]
|
|
503
|
-
- id: pesquisa-de-publico-do-piva
|
|
515
|
+
- id: wizz-pesquisa-de-publico-do-piva
|
|
504
516
|
when: "Pesquisa profunda de público, VoC, níveis de consciência, matriz de ângulos e léxico nativo de oferta compilados em HTML (metodologia @soupiva)."
|
|
505
517
|
rel:
|
|
506
518
|
before: [wizz-copywriting, wizz-offer-forge]
|
|
507
519
|
- id: wizz-offer-forge
|
|
508
520
|
when: "Forjar oferta irresistível de resposta direta/infoproduto (mecanismo único, empilhamento de valor, garantia reversa, ponte de tráfego)."
|
|
509
521
|
rel:
|
|
510
|
-
after: [pesquisa-de-publico-do-piva, wizz-lowticket-minerador]
|
|
522
|
+
after: [wizz-pesquisa-de-publico-do-piva, wizz-lowticket-minerador]
|
|
511
523
|
before: [wizz-copywriting]
|
|
512
524
|
pairs_with: [wizz-ig-profile-optimizer, wizz-pricing-strategy, wizz-lowticket-metodologia]
|
|
513
525
|
# Módulo lowticket (src/modules/lowticket) — ver nota em ads.skills. Desde
|
|
@@ -682,7 +694,7 @@ areas:
|
|
|
682
694
|
- id: wizz-web-security
|
|
683
695
|
when: "Auditar segurança web, OWASP, XSS/CSRF/injeção/SQLi, IDOR, headers, rate limit (IP+conta), CORS, clickjacking, vazamento de PII na resposta, antes de deploy/PR."
|
|
684
696
|
rel:
|
|
685
|
-
before: [security-audit-pentest]
|
|
697
|
+
before: [wizz-security-audit-pentest]
|
|
686
698
|
pairs_with: [wizz-auth-and-secrets, wizz-database-and-deps, wizz-desktop-security]
|
|
687
699
|
- id: wizz-auth-and-secrets
|
|
688
700
|
when: "Auth (JWT/OAuth/SSO/Clerk), token no header vs URL, revogar no logout, enumeração de usuário, gestão de secrets, rotação de credenciais."
|
|
@@ -719,7 +731,7 @@ areas:
|
|
|
719
731
|
- id: wizz-ai-product-design
|
|
720
732
|
when: "Construir/melhorar um agente ou produto de IA: escrever/revisar system prompt, definir persona/tom, guardrails e recusas, few-shot, chain-of-thought, orquestração multi-agente, handoff, detecção de frustração, generative UI, avaliar qualidade de saída. Base para desenhar os próprios agentes do método. 44 padrões (Owl-Listener, MIT)."
|
|
721
733
|
rel:
|
|
722
|
-
pairs_with: [enhance-prompt]
|
|
734
|
+
pairs_with: [wizz-enhance-prompt]
|
|
723
735
|
mcps:
|
|
724
736
|
- id: supabase
|
|
725
737
|
when: "Operar Supabase de verdade: rodar SQL, migrations, inspecionar schema/RLS, logs. Default é READ-ONLY e escopado a um projeto (--read-only --project-id); para ESCREVER (migrations, mutações), o agente precisa remover conscientemente o --read-only desta entrada antes de usar — nunca por padrão silencioso."
|
|
@@ -771,19 +783,19 @@ areas:
|
|
|
771
783
|
when: "Passe único adversarial, ad hoc, fora de workflow — 'tear this apart' num trecho colado, sem contexto de projeto. Não confundir com wizz-review-adversarial-general (persona do 'Blind Hunter'; o prompt operacional vive em review-prompts/blind-hunter.md e nenhum workflow invoca a skill) nem com wizz-code-review (orquestrador bmm: 3 camadas paralelas + triagem, para review real de diff/PR)."
|
|
772
784
|
rel:
|
|
773
785
|
instead_of: [wizz-code-review]
|
|
774
|
-
- id: security-audit-pentest
|
|
786
|
+
- id: wizz-security-audit-pentest
|
|
775
787
|
when: "Auditoria/pentest de segurança do app inteiro — 'auditar segurança', 'pentest', 'encontrar vulnerabilidades', varredura antes de release. Só para teste de segurança AUTORIZADO (seus sistemas ou de clientes com permissão): ferramenta dual-use, nunca usar contra alvo sem autorização."
|
|
776
788
|
rel:
|
|
777
789
|
after: [wizz-web-security]
|
|
778
790
|
pairs_with: [strix, wizz-launch-readiness]
|
|
779
791
|
- id: wizz-launch-readiness
|
|
780
|
-
when: "Auditoria de prontidão pra lançamento (Pre-launch Audit), multi-área: técnico/build, segurança, SEO/descoberta, analytics/medição, conteúdo/copy/prova social, legal/LGPD, infra/deploy/rollback. Gatilhos: 'tá pronto pra lançar?', 'auditoria de pré-lançamento', 'checklist de release amplo', 'o que falta antes de ir pra produção'. Gate por estágio: só roda de verdade em mvp/production, e recusa educadamente em estágio de descoberta/ideação. Diagnostica e prioriza por severidade (bloqueia/alto/médio/ok), nunca corrige cego: aponta security-audit-pentest pra aprofundar segurança com prova de exploração e site-launch-kit pra executar a correção quando a superfície do achado é site. Resultado persiste numa seção datada do project-context.md."
|
|
792
|
+
when: "Auditoria de prontidão pra lançamento (Pre-launch Audit), multi-área: técnico/build, segurança, SEO/descoberta, analytics/medição, conteúdo/copy/prova social, legal/LGPD, infra/deploy/rollback. Gatilhos: 'tá pronto pra lançar?', 'auditoria de pré-lançamento', 'checklist de release amplo', 'o que falta antes de ir pra produção'. Gate por estágio: só roda de verdade em mvp/production, e recusa educadamente em estágio de descoberta/ideação. Diagnostica e prioriza por severidade (bloqueia/alto/médio/ok), nunca corrige cego: aponta wizz-security-audit-pentest pra aprofundar segurança com prova de exploração e wizz-site-launch-kit pra executar a correção quando a superfície do achado é site. Resultado persiste numa seção datada do project-context.md."
|
|
781
793
|
not_when:
|
|
782
794
|
- "Estágio de descoberta/ideação: projeto ainda sem superfície construída pra auditar (sem project-context.md, ou stage 'prototype' vazio)."
|
|
783
|
-
- "Correção de um achado isolado de site já identificado: nesse caso vá direto pra site-launch-kit."
|
|
795
|
+
- "Correção de um achado isolado de site já identificado: nesse caso vá direto pra wizz-site-launch-kit."
|
|
784
796
|
rel:
|
|
785
|
-
pairs_with: [security-audit-pentest, site-launch-kit, wizz-database-and-deps]
|
|
786
|
-
- id: site-launch-kit
|
|
797
|
+
pairs_with: [wizz-security-audit-pentest, wizz-site-launch-kit, wizz-database-and-deps]
|
|
798
|
+
- id: wizz-site-launch-kit
|
|
787
799
|
when: "Site pronto ou quase pronto pra ir ao ar: revisão de pré-lançamento em 15 rodadas corretivas (CTA acima da dobra, barra fixa mobile, tempo de resposta, prova social real, FAQ+FAQPage, imagens reais, endereço, titles, Open Graph, breadcrumbs, alt text, schema local, robots/sitemap, LGPD, medição), com regra anti-invenção e PENDÊNCIAS. Gatilhos: 'vamos subir o site', 'checklist de lançamento', 'revisa antes do deploy', pré-go-live, ou um item isolado (og:image, FAQ com schema, robots.txt). Roda DEPOIS do site construído, ANTES do deploy."
|
|
788
800
|
rel:
|
|
789
801
|
pairs_with: [wizz-launch-readiness, wizz-schema-markup]
|
|
@@ -800,10 +812,10 @@ areas:
|
|
|
800
812
|
# Pin de supply chain (2026-08-23): versão fixa; atualizar conscientemente.
|
|
801
813
|
install: "npm install -g agent-browser@0.38.1"
|
|
802
814
|
- id: strix
|
|
803
|
-
when: "CONDICIONAL, nunca default — executor de pentest AUTÔNOMO e OFENSIVO (agentes de IA que rodam o app, exploram e VALIDAM vulnerabilidades com PoC real). Complementa security-audit-pentest: aquela skill é a metodologia/checklist humana; o Strix é o executor automatizado. Ferramenta dual-use: SÓ contra alvo próprio ou com AUTORIZAÇÃO ESCRITA do dono do sistema e ESCOPO definido — nunca contra alvo de terceiros sem permissão. Roda SEMPRE dentro do sandbox Docker isolado que a própria ferramenta provê (jamais direto no host). Gate condicional: ofereça apenas mediante confirmação explícita do usuário, com escopo e autorização declarados; jamais acione por padrão silencioso. RETORNO DEFENSIVO OBRIGATÓRIO: o executor (subagente) SEMPRE devolve o achado em formato defensivo — falha, severidade, evidência mínima e correção — nunca payload/exploit cru ou arma pronta; assim o revisor recebe conteúdo defensivo pra corrigir, não instrução de ataque. Precisa de Docker rodando e de uma LLM API key configurada."
|
|
815
|
+
when: "CONDICIONAL, nunca default — executor de pentest AUTÔNOMO e OFENSIVO (agentes de IA que rodam o app, exploram e VALIDAM vulnerabilidades com PoC real). Complementa wizz-security-audit-pentest: aquela skill é a metodologia/checklist humana; o Strix é o executor automatizado. Ferramenta dual-use: SÓ contra alvo próprio ou com AUTORIZAÇÃO ESCRITA do dono do sistema e ESCOPO definido — nunca contra alvo de terceiros sem permissão. Roda SEMPRE dentro do sandbox Docker isolado que a própria ferramenta provê (jamais direto no host). Gate condicional: ofereça apenas mediante confirmação explícita do usuário, com escopo e autorização declarados; jamais acione por padrão silencioso. RETORNO DEFENSIVO OBRIGATÓRIO: o executor (subagente) SEMPRE devolve o achado em formato defensivo — falha, severidade, evidência mínima e correção — nunca payload/exploit cru ou arma pronta; assim o revisor recebe conteúdo defensivo pra corrigir, não instrução de ataque. Precisa de Docker rodando e de uma LLM API key configurada."
|
|
804
816
|
not_when: "Sem alvo próprio ou sem autorização escrita e escopo definido do dono do sistema; nunca acionar por padrão silencioso."
|
|
805
817
|
rel:
|
|
806
|
-
pairs_with: [security-audit-pentest]
|
|
818
|
+
pairs_with: [wizz-security-audit-pentest]
|
|
807
819
|
platform: [darwin, linux]
|
|
808
820
|
check: "command -v strix"
|
|
809
821
|
# Pin de supply chain (2026-08-25): versão fixa do pacote pip; o sandbox
|
|
@@ -845,6 +857,13 @@ areas:
|
|
|
845
857
|
when: "DEV PONTUAL: ajuste, bug fix, feature única sem cerimônia de story. Fluxo unificado: clarificar → planejar → implementar → review → apresentar. É o destino padrão quando o router/maestro diz 'dev pontual'."
|
|
846
858
|
rel:
|
|
847
859
|
after: [wizz-implementation-planner, wizz-investigate]
|
|
860
|
+
# Também em designer, como porta de motion (2026-10-15): animar algo no
|
|
861
|
+
# código do app é do dev, e sem esta entrada o dev não enxergava o craft.
|
|
862
|
+
- id: wizz-animate
|
|
863
|
+
when: "Implementar micro-interação de um componente que já existe no app (hover, clique, toast, modal, popover) com o craft do Emil Kowalski: saída mais rápida que a entrada, só transform/opacity, reduced-motion."
|
|
864
|
+
not_when:
|
|
865
|
+
- "Animação de página inteira ou de entrada no scroll, em que o movimento ainda não foi decidido: é do designer (wizz-animate como porta de motion)."
|
|
866
|
+
- "Vídeo para divulgar o app: é wizz-video-styles."
|
|
848
867
|
- id: wizz-dev-story
|
|
849
868
|
module: bmm
|
|
850
869
|
when: "Implementar UMA story específica com spec preenchida ('dev this story', 'implementa a próxima story do sprint')."
|
|
@@ -855,7 +874,7 @@ areas:
|
|
|
855
874
|
module: bmm
|
|
856
875
|
when: "Preparar story com todo o contexto de implementação ('cria a story', 'prepara a story'). Antes do dev, no gate de planejamento."
|
|
857
876
|
rel:
|
|
858
|
-
after: [wizz-prd, wizz-
|
|
877
|
+
after: [wizz-prd, wizz-sprint-planning]
|
|
859
878
|
before: [wizz-dev-story]
|
|
860
879
|
- id: wizz-code-review
|
|
861
880
|
module: bmm
|
|
@@ -894,7 +913,7 @@ areas:
|
|
|
894
913
|
when: "Criar, atualizar ou validar PRD ('cria o PRD', 'documento de requisitos', 'define o escopo'). Consolida os antigos create/edit/validate-prd (removidos em v7)."
|
|
895
914
|
rel:
|
|
896
915
|
after: [wizz-product-brief]
|
|
897
|
-
before: [wizz-create-story
|
|
916
|
+
before: [wizz-create-story]
|
|
898
917
|
pairs_with: [wizz-ux]
|
|
899
918
|
- id: wizz-product-brief
|
|
900
919
|
module: bmm
|
|
@@ -907,12 +926,14 @@ areas:
|
|
|
907
926
|
when: "Desafio Working Backwards PRFAQ para forjar conceito de produto ('cria a PRFAQ', 'work backwards')."
|
|
908
927
|
rel:
|
|
909
928
|
before: [wizz-product-brief]
|
|
929
|
+
# Ajuste MANUAL da feature ativa. Desde a 2.16 a feature é definida sozinha
|
|
930
|
+
# (branch > config > primeiro pedido nomeado, via `wizz-feature.js definir`,
|
|
931
|
+
# regra em src/modules/wizz/_shared/organizacao.md), então esta entrada fica
|
|
932
|
+
# fora da cadeia PRD → story: sem `rel`, de propósito.
|
|
910
933
|
- id: wizz-set-feature
|
|
911
934
|
module: bmm
|
|
912
|
-
when: "
|
|
913
|
-
|
|
914
|
-
after: [wizz-prd]
|
|
915
|
-
before: [wizz-create-story]
|
|
935
|
+
when: "Trocar, renomear, limpar ou forçar a feature ativa de propósito, ou dizer qual está ativa ('muda a feature ativa', 'renomeia a feature', 'qual feature está ativa')."
|
|
936
|
+
not_when: "Começar, planejar ou especificar uma feature nova: o hook define a feature ativa sozinho."
|
|
916
937
|
|
|
917
938
|
tech-writer:
|
|
918
939
|
agent: wizz-agent-tech-writer
|
|
@@ -938,16 +959,16 @@ areas:
|
|
|
938
959
|
agent: wizz-memoria
|
|
939
960
|
summary: "Memória do projeto: o que foi decidido, salvar, ver estado."
|
|
940
961
|
skills:
|
|
941
|
-
- id: cerebro
|
|
962
|
+
- id: wizz-cerebro
|
|
942
963
|
when: "Recuperar/salvar decisões, contexto, aprendizados; ver estado do projeto (/ver, /salvar, /decisao, /dump); ler a auto-memória fora do Claude Code (/memoria)."
|
|
943
964
|
|
|
944
965
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
945
966
|
# UTILITÁRIOS — cross-cutting, não pertencem a uma área só.
|
|
946
967
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
947
968
|
utility:
|
|
948
|
-
- id: find-skills
|
|
969
|
+
- id: wizz-find-skills
|
|
949
970
|
when: "Nenhuma skill cobre o pedido: buscar/instalar no marketplace (npx skills find)."
|
|
950
|
-
- id: enhance-prompt
|
|
971
|
+
- id: wizz-enhance-prompt
|
|
951
972
|
when: "Empacotar um briefing mais completo/estruturado pra mandar a outro agente ou skill."
|
|
952
973
|
rel:
|
|
953
974
|
pairs_with: [wizz-ai-product-design]
|
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: wizz-set-feature
|
|
3
|
-
description: '
|
|
3
|
+
description: 'Manual override for the active feature: rename, switch or clear it, or answer which feature is active. The feature is resolved automatically (git branch, config, the request itself) by the hooks and the `wizz-feature.js definir` CLI; invoke this skill only when the user says "set feature", "switch feature", "rename feature", "clear feature", or asks "what feature is active".'
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Set Feature
|
|
7
7
|
|
|
8
8
|
**Goal:** Keep `active_feature` correct so planning artifacts, implementation artifacts and memory entries all land under the same named slug.
|
|
9
9
|
|
|
10
|
-
**
|
|
10
|
+
**This skill is the manual override, not the way the feature gets set.** Setting the feature is automatic, with or without git, on `main` or on a branch: the hooks and the area agents do it with the CLI `node _wizz/hooks/wizz-feature.js definir <slug>`, and nobody invokes this skill in the normal case. Use it when the owner explicitly asks to rename, switch or clear the feature, or asks which one is active; the action itself is always `wizz-feature.js definir` (or `encerrar`), described below.
|
|
11
11
|
|
|
12
12
|
- `session-rules.js` (SessionStart) resolves the feature from the git branch or the config and injects `FEATURE ATIVA: <slug>`. In a Wizz project with no feature it injects the reminder `NENHUMA FEATURE ATIVA: o primeiro pedido nomeado define uma`.
|
|
13
13
|
- `wizz-router-enforce.js` (UserPromptSubmit) repeats the state on every non-trivial prompt: `Feature: <slug>` or `nenhuma ativa`.
|
|
14
14
|
- The router, the maestro and the area agents then run the deterministic CLI `node _wizz/hooks/wizz-feature.js definir <slug>` BEFORE dispatching named work, and the handoff carries `feature:` (see the wizz module's `_shared/organizacao.md`).
|
|
15
|
-
- `wizz-artifact-guard.js` (PostToolUse on Write) warns when an artifact lands outside the active feature's folder.
|
|
15
|
+
- `wizz-artifact-guard.js` (PostToolUse on Write and Edit) warns when an artifact lands outside the active feature's folder.
|
|
16
16
|
|
|
17
|
-
Invoke this skill only for the
|
|
17
|
+
Invoke this skill only for the explicit cases in "When this skill runs" below.
|
|
18
18
|
|
|
19
19
|
## Conventions
|
|
20
20
|
|
|
21
21
|
- `{project-root}`-prefixed paths resolve from the project working directory.
|
|
22
22
|
|
|
23
|
-
## Resolution order (never ask before exhausting it)
|
|
23
|
+
## Resolution order (what `resolver` applies; never ask before exhausting it)
|
|
24
24
|
|
|
25
25
|
1. **Git branch.** `feat/dashboard-financeiro` → `dashboard-financeiro`. Strip the type prefix (`feat/`, `feature/`, `fix/`, `bugfix/`, `hotfix/`, `chore/`, `refactor/`, `docs/`, `test/`, `perf/`, `ci/`, `build/`, `style/`), lowercase, kebab-case. Trunk branches (`main`, `master`, `develop`, `dev`, `staging`, `prod`, `production`, `release`) and release branches yield **no** feature, not a bad one.
|
|
26
26
|
2. **`active_feature` in `{project-root}/_wizz/bmm/config.yaml`.** Used when the branch gives nothing.
|
|
27
27
|
3. **The request itself.** When 1 and 2 are both empty and the request is named work (a feature, a batch, a screen, a page, a campaign, a bug with a scope: "vamos fazer o painel de assinaturas"). Derive the slug from the subject, 2 to 4 words, and run `node _wizz/hooks/wizz-feature.js definir <slug>` BEFORE dispatching; say so in **one line**. Do not ask. This step is mandatory for the router and the maestro, not a nice-to-have: skipping it is how a project spends its whole life with an empty `active_feature`.
|
|
28
28
|
4. **Nothing.** Only for work that is not named (a question, a conversation, a one-line tweak with no artifact). Artifacts go to the roots and memory carries no feature tag.
|
|
29
29
|
|
|
30
|
-
**Switch or keep.** With a feature active, a request about a different subject switches (`definir <new>`; the previous one stays open until closed) and a continuation keeps it. **Close** when the delivery closes (deploy or acceptance): `wizz-feature.js verificar` must pass, then `wizz-feature.js encerrar [--proxima <slug>]` marks the spec `no-ar`, clears or switches `active_feature`, and
|
|
30
|
+
**Switch or keep.** With a feature active, a request about a different subject switches (`definir <new>`; the previous one stays open until closed) and a continuation keeps it. **Close** when the delivery closes (deploy or acceptance): `wizz-feature.js verificar` must pass, then `wizz-feature.js encerrar --cerebro [--proxima <slug>]` marks the spec `no-ar`, clears or switches `active_feature`, and writes the Cérebro (state + one Sessions line; without a vault it prints the instruction instead).
|
|
31
31
|
|
|
32
32
|
**Optional branch.** `feature_branches: auto` in `_wizz/bmm/config.yaml` makes `definir` (and the SessionStart hook) propose `git switch -c feat/<slug>` when you are on a trunk branch of a git repo. The default is `off`, for whoever works directly on `main`.
|
|
33
33
|
|
|
@@ -39,7 +39,7 @@ Invoke this skill only for the three explicit cases in "When this skill runs" be
|
|
|
39
39
|
| `definir <slug or name>` | Normalizes, writes `active_feature`, creates both subfolders, prints one line. |
|
|
40
40
|
| `artefato <tipo>` | Creates `<tipo>-<slug>.md` (spec, plano, auditoria, story, review, roteiro) in the right folder with valid frontmatter. |
|
|
41
41
|
| `decidir "<texto>"` | Appends `D-NN` with the date to the feature's spec and to its `decisoes:` frontmatter. |
|
|
42
|
-
| `status <status>` | `rascunho`, `aprovado`, `implementado` or `no-ar`
|
|
42
|
+
| `status <status>` | Sets the spec's status: `rascunho`, `aprovado`, `implementado` or `no-ar` (it writes; to only read, use `resolver` or `listar`). |
|
|
43
43
|
| `verificar` | Closing checklist; exit 1 while an item is pending. |
|
|
44
44
|
| `encerrar` | Refuses with a pending item (unless `--forcar`); otherwise closes as above. |
|
|
45
45
|
| `listar` | Features with a folder and the status of each spec. |
|
|
@@ -51,7 +51,7 @@ The branch wins over the config: it describes the work happening now, while the
|
|
|
51
51
|
## When this skill runs
|
|
52
52
|
|
|
53
53
|
- **The user asks what is active** → answer from the resolution order and stop. Do not write anything.
|
|
54
|
-
- **The user asks to set, switch or clear** →
|
|
54
|
+
- **The user asks to rename, set, switch or clear** → this is the manual override. They already named it (or asked to clear): run `node _wizz/hooks/wizz-feature.js definir <slug>` (or clear, see Step 4), confirm in one line. Do not ask for a slug they just gave you. A rename keeps the old folders; `definir` creates the new ones.
|
|
55
55
|
- **Genuine ambiguity** → two or more features are open and the request does not decide between them. This is the only case where you ask, and you ask once, offering the open features as options.
|
|
56
56
|
|
|
57
57
|
## Steps
|
|
@@ -68,7 +68,7 @@ Confirm with the user **only** in the ambiguity case. A slug that came from the
|
|
|
68
68
|
|
|
69
69
|
### Step 3: Write the config and create the subfolders
|
|
70
70
|
|
|
71
|
-
Run `node _wizz/hooks/wizz-feature.js definir <slug>` from the project root. It sets `active_feature:` (adding the key if absent) and creates `{planning_artifacts}/{active_feature}/` and `{implementation_artifacts}/{active_feature}/`. Without the CLI (old install), edit the config and create the folders by hand.
|
|
71
|
+
Run `node _wizz/hooks/wizz-feature.js definir <slug>` from the project root; this is the override itself. It sets `active_feature:` (adding the key if absent) and creates `{planning_artifacts}/{active_feature}/` and `{implementation_artifacts}/{active_feature}/`. Without the CLI (old install), edit the config and create the folders by hand.
|
|
72
72
|
|
|
73
73
|
### Step 4: Clearing
|
|
74
74
|
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
Defaults ship for HTML color themes, HTML design directions, Excalidraw wireframes (Discovery), and 1:1 HTML key-screen mocks (Finalize). Teams append more via override TOML — Figma MCP, custom skills, prompt-based mood boards.
|
|
6
6
|
|
|
7
|
+
**Figma, only when the client hands over a file.** Read it through the Framelink MCP (`figma-developer-mcp`, MIT, [GLips/Figma-Context-MCP](https://github.com/GLips/Figma-Context-MCP)) with the user's own free personal access token; it imports layout, styles and components into `imports/`. Never a required step: no file, no Figma. The official Figma MCP caps the free and view seats at a handful of calls a month, so it is not a default.
|
|
8
|
+
|
|
7
9
|
## When to invoke
|
|
8
10
|
|
|
9
11
|
Decision moments where a visual beats more conversation: picking color tokens, picking a visual personality among directions, sketching IA, mocking a tricky flow. Fast-path users typically skip; coaching-path users typically lean in. Read the room.
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Source of truth: [google-labs-code/design.md](https://github.com/google-labs-code/design.md) (Apache 2.0, Google Labs, April 2026). This file is a working summary; the URL wins on conflict.
|
|
4
4
|
|
|
5
|
+
Check a finished file with the spec's own CLI (local, no key): `npx -y @google/design.md@0.4.0 lint DESIGN.md`. `diff` compares two versions. When the project already has a `DESIGN.md` from `wizz-decision-maker` (path in `design-state.yaml` → `identidade.design_md`), import it instead of starting from zero.
|
|
6
|
+
|
|
5
7
|
## Structure
|
|
6
8
|
|
|
7
9
|
YAML frontmatter (machine-readable tokens) + markdown body (human-readable rationale, prose sections).
|
|
@@ -421,7 +421,7 @@ Activation is complete. If `activation_steps_prepend` or `activation_steps_appen
|
|
|
421
421
|
1. Review the comprehensive story in {{story_file}}
|
|
422
422
|
2. Run dev agents `dev-story` for optimized implementation
|
|
423
423
|
3. Run `code-review` when complete (auto-marks done)
|
|
424
|
-
4. Optional: If Test Architect module installed, run
|
|
424
|
+
4. Optional: If Test Architect module installed, run the Test Architect `automate` workflow after `dev-story` to generate guardrail tests
|
|
425
425
|
|
|
426
426
|
**The developer now has everything needed for flawless implementation!**
|
|
427
427
|
</output>
|
|
@@ -486,7 +486,7 @@ Activation is complete. If `activation_steps_prepend` or `activation_steps_appen
|
|
|
486
486
|
- Verify all acceptance criteria are met
|
|
487
487
|
- Ensure deployment readiness if applicable
|
|
488
488
|
- Run `code-review` workflow for peer review
|
|
489
|
-
- Optional: If Test Architect module installed, run
|
|
489
|
+
- Optional: If Test Architect module installed, run the Test Architect `automate` workflow to expand guardrail tests
|
|
490
490
|
</action>
|
|
491
491
|
|
|
492
492
|
<output>💡 **Tip:** For best results, run `code-review` using a **different** LLM than the one that implemented this story.</output>
|
|
@@ -160,7 +160,7 @@ If the project needs:
|
|
|
160
160
|
- Comprehensive coverage analysis
|
|
161
161
|
- Advanced testing patterns and utilities
|
|
162
162
|
|
|
163
|
-
> **
|
|
163
|
+
> **Wizz Test Architect (TEA) module**: enable it in the Wizz installer (install, then select the module `tea`).
|
|
164
164
|
|
|
165
165
|
## Output
|
|
166
166
|
|
|
@@ -30,4 +30,4 @@ Run the tests using your project's test command.
|
|
|
30
30
|
|
|
31
31
|
---
|
|
32
32
|
|
|
33
|
-
**Need more comprehensive testing?**
|
|
33
|
+
**Need more comprehensive testing?** Enable the Wizz Test Architect (`tea`) module in the Wizz installer (install, then modules) for advanced workflows.
|
|
@@ -37,7 +37,7 @@ A specification should target a **single user-facing goal** within **900–1600
|
|
|
37
37
|
|
|
38
38
|
You are the leaf: the maestro demotes here for pointed work (bug, tweak, single-goal feature). Re-check scope against the shared complexity signal (areas, steps, needs-planning?, artifact+memory?):
|
|
39
39
|
|
|
40
|
-
**Dispatch rule:** IF 2+ areas → `wizz-maestro`, always.
|
|
40
|
+
**Dispatch rule:** IF 2+ areas → `wizz-maestro`, always. OTHERWISE count the 3 remaining factors (multi-step, needs planning, produces a memorable artifact); 2+ factors → `wizz-maestro`. The area clause decides on its own, without combining with anything else.
|
|
41
41
|
|
|
42
42
|
**Decision order — capabilities → required relations → areas → shortcuts.** Match the catalogue entries, inspect their `rel`, and include only capabilities needed for the requested deliverable and not already supplied in the context. Resolve their owning areas before applying ANY one-area shortcut. One artifact can require multiple areas; the word "copy" does not prove that only copy is needed. For full sales-page copy, if either the offer or the conversion structure is missing from the supplied context, include the missing capability: `wizz-offer-forge` for the offer and/or `wizz-page-cro` for conversion structure (growth), alongside `wizz-copywriting` (copy); route to maestro. Do not assume those inputs are ready merely because the user did not mention them. If both are already approved and the request is limited to text, keep copy-only work in copy. An isolated headline or CTA does not require redesigning the whole page. Optional neighbours and separate deliverables do not add areas; `pairs_with` alone never escalates.
|
|
43
43
|
|
|
@@ -93,7 +93,7 @@ Activation is complete. If `activation_steps_prepend` or `activation_steps_appen
|
|
|
93
93
|
<action>Try {sprint_status_file}</action>
|
|
94
94
|
<check if="file not found">
|
|
95
95
|
<output>sprint-status.yaml not found.
|
|
96
|
-
Run `/wizz
|
|
96
|
+
Run `/wizz-sprint-planning` to generate it, then rerun sprint-status.</output>
|
|
97
97
|
<action>Exit workflow</action>
|
|
98
98
|
</check>
|
|
99
99
|
<action>Continue to Step 2</action>
|
|
@@ -149,9 +149,9 @@ Enter corrections (e.g., "1=in-progress, 2=backlog") or "skip" to continue witho
|
|
|
149
149
|
|
|
150
150
|
<action>Detect risks:</action>
|
|
151
151
|
|
|
152
|
-
- IF any story has status "review": suggest `/wizz
|
|
152
|
+
- IF any story has status "review": suggest `/wizz-code-review`
|
|
153
153
|
- IF any story has status "in-progress" AND no stories have status "ready-for-dev": recommend staying focused on active story
|
|
154
|
-
- IF all epics have status "backlog" AND no stories have status "ready-for-dev": prompt `/wizz
|
|
154
|
+
- IF all epics have status "backlog" AND no stories have status "ready-for-dev": prompt `/wizz-create-story`
|
|
155
155
|
- IF `last_updated` timestamp is more than 7 days old (or `last_updated` is missing, fall back to `generated`): warn "sprint-status.yaml may be stale"
|
|
156
156
|
- IF any story key doesn't match an epic pattern (e.g., story "5-1-..." but no "epic-5"): warn "orphaned story detected"
|
|
157
157
|
- IF any epic has status in-progress but has no associated stories: warn "in-progress epic has no stories"
|
|
@@ -181,7 +181,7 @@ Enter corrections (e.g., "1=in-progress, 2=backlog") or "skip" to continue witho
|
|
|
181
181
|
|
|
182
182
|
**Epics:** backlog {{epic_backlog}}, in-progress {{epic_in_progress}}, done {{epic_done}}
|
|
183
183
|
|
|
184
|
-
**Next Recommendation:** /wizz
|
|
184
|
+
**Next Recommendation:** /wizz-{{next_workflow_id}} ({{next_story_id}})
|
|
185
185
|
|
|
186
186
|
{{#if open_action_items}}
|
|
187
187
|
**Open Action Items:**
|
|
@@ -211,7 +211,7 @@ Enter corrections (e.g., "1=in-progress, 2=backlog") or "skip" to continue witho
|
|
|
211
211
|
Choice:</ask>
|
|
212
212
|
|
|
213
213
|
<check if="choice == 1">
|
|
214
|
-
<output>Run `/wizz
|
|
214
|
+
<output>Run `/wizz-{{next_workflow_id}}`.
|
|
215
215
|
If the command targets a story, set `story_key={{next_story_id}}` when prompted.</output>
|
|
216
216
|
</check>
|
|
217
217
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
module,skill,display-name,menu-code,description,action,args,phase,preceded-by,followed-by,required,output-location,outputs
|
|
2
2
|
Wizz Method,_meta,,,,,,,,,false,https://docs.wizz-method.org/llms.txt,
|
|
3
3
|
Wizz Method,wizz-document-project,Document Project,DP,Analyze an existing project to produce useful documentation.,,,anytime,,,false,project-knowledge,*
|
|
4
|
-
Wizz Method,wizz-set-feature,Set Feature,SF,
|
|
4
|
+
Wizz Method,wizz-set-feature,Set Feature,SF,Manual override: switch, rename or clear the active feature on purpose (it is normally set automatically by the first named request).,,,anytime,,,false,,
|
|
5
5
|
Wizz Method,wizz-generate-project-context,Generate Project Context,GPC,Scan existing codebase to generate a lean LLM-optimized project-context.md. Essential for brownfield projects.,,,anytime,,,false,output_folder,project context
|
|
6
6
|
Wizz Method,wizz-quick-dev,Quick Dev,QQ,Unified intent-in code-out workflow: clarify plan implement review and present.,,,anytime,,,false,implementation_artifacts,spec and project implementation
|
|
7
7
|
Wizz Method,wizz-correct-course,Correct Course,CC,Navigate significant changes. May recommend start over update PRD redo architecture sprint planning or correct epics and stories.,,,anytime,,,false,planning_artifacts,change proposal
|
|
@@ -40,7 +40,7 @@ project_knowledge: # Artifacts from research, document-project output, other lon
|
|
|
40
40
|
default: "docs"
|
|
41
41
|
result: "{project-root}/{value}"
|
|
42
42
|
|
|
43
|
-
active_feature: # Current feature context. Used as a subfolder inside planning and implementation artifacts. Set
|
|
43
|
+
active_feature: # Current feature context. Used as a subfolder inside planning and implementation artifacts. Set automatically by the first named request (wizz-feature.js definir); the wizz-set-feature skill is the manual override to switch or rename it.
|
|
44
44
|
prompt: "Active feature slug (e.g. admin-panel, auth-refactor). Used as a subfolder inside planning and implementation artifacts. Leave blank for none."
|
|
45
45
|
default: ""
|
|
46
46
|
result: "{value}"
|
|
@@ -22,9 +22,9 @@ and pass along only the skill's entrypoint and the references actually needed
|
|
|
22
22
|
- origin: who is delegating (e.g. wizz-router, wizz-maestro). Anti-loop
|
|
23
23
|
rule: never invoke whoever is already in the origin chain. Forbidden
|
|
24
24
|
example: router delegates to maestro, maestro hands it back to router.
|
|
25
|
-
- cerebro already consulted: a summary of up to 3 lines of what `/cerebro ver` already
|
|
25
|
+
- cerebro already consulted: a summary of up to 3 lines of what `/wizz-cerebro ver` already
|
|
26
26
|
brought back (project state, recent decisions relevant to the area). If this
|
|
27
|
-
field is filled in, whoever receives the handoff does not run `/cerebro ver`
|
|
27
|
+
field is filled in, whoever receives the handoff does not run `/wizz-cerebro ver`
|
|
28
28
|
again, and uses the summary received instead.
|
|
29
29
|
- decisions already made in the chain: a short list of what was already decided before
|
|
30
30
|
this handoff (e.g. approved palette, defined scope).
|
|
@@ -17,7 +17,7 @@ Every offer in the ladder exists because it answers that question for the step b
|
|
|
17
17
|
|
|
18
18
|
## Source of truth
|
|
19
19
|
|
|
20
|
-
Read the Cérebro state first (via the `cerebro` skill). Then, if `wizz-lowticket-metodologia` is installed, read `knowledge/INDEX.md` + `knowledge/guardrails.md` and the shard `07-funil-upsell.md`, especially §7.4 (the conversion and ticket cascade) and §7.5-7.9 (pain per step, tone per page, copy rules, the technical block for post-checkout pages and the pre-build checklist). Its sibling shard `07a-copy-humanizacao.md` carries the humanization checklist used before delivering any page. Where a generic skill contradicts that shard, the shard wins and you say so.
|
|
20
|
+
Read the Cérebro state first (via the `wizz-cerebro` skill). Then, if `wizz-lowticket-metodologia` is installed, read `knowledge/INDEX.md` + `knowledge/guardrails.md` and the shard `07-funil-upsell.md`, especially §7.4 (the conversion and ticket cascade) and §7.5-7.9 (pain per step, tone per page, copy rules, the technical block for post-checkout pages and the pre-build checklist). Its sibling shard `07a-copy-humanizacao.md` carries the humanization checklist used before delivering any page. Where a generic skill contradicts that shard, the shard wins and you say so.
|
|
21
21
|
|
|
22
22
|
This skill has **no memory of its own**. What gets decided goes to the Cérebro; the artifact goes to a file.
|
|
23
23
|
|
|
@@ -11,7 +11,7 @@ The other low ticket skills are sharp and assume the user knows which one to cal
|
|
|
11
11
|
|
|
12
12
|
## Step 0: What is already known
|
|
13
13
|
|
|
14
|
-
1. Read the project's Cérebro state (via the `cerebro` skill). If it already says which offer is live and at which step, skip the questions.
|
|
14
|
+
1. Read the project's Cérebro state (via the `wizz-cerebro` skill). If it already says which offer is live and at which step, skip the questions.
|
|
15
15
|
2. Read `wizz-lowticket-metodologia/knowledge/INDEX.md` and `guardrails.md` (the always-load of the base). Read `01-principios.md` too: its gates decide which steps cannot be skipped.
|
|
16
16
|
|
|
17
17
|
## Step 1: Place the user, in one message
|
|
@@ -31,7 +31,7 @@ The one thing that outranks a shard is `knowledge/guardrails.md`. Eight tactics
|
|
|
31
31
|
|
|
32
32
|
### Step 0: Read the state, then the index
|
|
33
33
|
|
|
34
|
-
Read the project's Cérebro state block first (via the `cerebro` skill: current project state plus at most 3 decisions on the topic). This skill has **no memory of its own** and never writes one. What is decided lives in the Cérebro; what is known lives in the shards.
|
|
34
|
+
Read the project's Cérebro state block first (via the `wizz-cerebro` skill: current project state plus at most 3 decisions on the topic). This skill has **no memory of its own** and never writes one. What is decided lives in the Cérebro; what is known lives in the shards.
|
|
35
35
|
|
|
36
36
|
Then read `knowledge/INDEX.md` and `knowledge/guardrails.md`. That is the whole default load, around 800 tokens.
|
|
37
37
|
|