wizz-method 1.16.0 → 1.17.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.
Files changed (67) hide show
  1. package/package.json +4 -2
  2. package/removals.txt +6 -0
  3. package/skills-registry.yaml +81 -123
  4. package/src/bmm-skills/3-solutioning/wizz-generate-project-context/project-context-template.md +5 -0
  5. package/src/bmm-skills/3-solutioning/wizz-generate-project-context/steps/step-01-discover.md +16 -5
  6. package/src/bmm-skills/3-solutioning/wizz-generate-project-context/steps/step-03-complete.md +5 -0
  7. package/src/bmm-skills/4-implementation/wizz-retrospective/customize.toml +3 -1
  8. package/src/bmm-skills/4-implementation/wizz-retrospective/scripts/__pycache__/sprint_status.cpython-313.pyc +0 -0
  9. package/src/bmm-skills/4-implementation/wizz-retrospective/scripts/tests/__pycache__/test_git_evidence.cpython-313-pytest-9.1.1.pyc +0 -0
  10. package/src/bmm-skills/4-implementation/wizz-retrospective/scripts/tests/__pycache__/test_sprint_status.cpython-313-pytest-9.1.1.pyc +0 -0
  11. package/src/bmm-skills/4-implementation/wizz-sprint-planning/customize.toml +3 -1
  12. package/src/bmm-skills/4-implementation/wizz-sprint-planning/scripts/__pycache__/sprint_plan.cpython-313.pyc +0 -0
  13. package/src/bmm-skills/4-implementation/wizz-sprint-planning/scripts/tests/__pycache__/test_sprint_plan.cpython-313-pytest-9.1.1.pyc +0 -0
  14. package/src/core-skills/wizz-advanced-elicitation/scripts/__pycache__/pick_methods.cpython-313.pyc +0 -0
  15. package/src/core-skills/wizz-advanced-elicitation/scripts/tests/__pycache__/test_pick_methods.cpython-313-pytest-9.1.1.pyc +0 -0
  16. package/src/core-skills/wizz-brainstorming/scripts/__pycache__/brain.cpython-313.pyc +0 -0
  17. package/src/core-skills/wizz-brainstorming/scripts/tests/__pycache__/test_brain.cpython-313-pytest-9.1.1.pyc +0 -0
  18. package/src/core-skills/wizz-brainstorming/scripts/tests/__pycache__/test_brain.cpython-314.pyc +0 -0
  19. package/src/core-skills/wizz-forge-idea/scripts/__pycache__/resolve_personas.cpython-314.pyc +0 -0
  20. package/src/core-skills/wizz-forge-idea/scripts/tests/__pycache__/test_resolve_personas.cpython-314.pyc +0 -0
  21. package/src/core-skills/wizz-party-mode/scripts/__pycache__/resolve_party.cpython-314.pyc +0 -0
  22. package/src/core-skills/wizz-party-mode/scripts/tests/__pycache__/test_resolve_party.cpython-314.pyc +0 -0
  23. package/src/modules/wizz/_shared/encerramento.md +22 -0
  24. package/src/modules/wizz/agents/wizz-designer/SKILL.md +1 -1
  25. package/src/modules/wizz/agents/wizz-maestro/SKILL.md +4 -0
  26. package/src/modules/wizz/agents/wizz-qa/SKILL.md +6 -0
  27. package/src/modules/wizz/agents/wizz-social/SKILL.md +1 -0
  28. package/src/modules/wizz/subagents/codex/wizz-exec-haiku.toml +12 -0
  29. package/src/modules/wizz/subagents/codex/wizz-exec-opus.toml +12 -0
  30. package/src/modules/wizz/subagents/codex/wizz-exec-review.toml +11 -0
  31. package/src/modules/wizz/subagents/codex/wizz-exec-sonnet.toml +12 -0
  32. package/src/modules/wizz/subagents/gemini/wizz-exec-haiku.md +12 -0
  33. package/src/modules/wizz/subagents/gemini/wizz-exec-opus.md +12 -0
  34. package/src/modules/wizz/subagents/gemini/wizz-exec-review.md +11 -0
  35. package/src/modules/wizz/subagents/gemini/wizz-exec-sonnet.md +12 -0
  36. package/src/modules/wizz/subagents/opencode/wizz-exec-haiku.md +12 -0
  37. package/src/modules/wizz/subagents/opencode/wizz-exec-opus.md +12 -0
  38. package/src/modules/wizz/subagents/opencode/wizz-exec-review.md +11 -0
  39. package/src/modules/wizz/subagents/opencode/wizz-exec-sonnet.md +12 -0
  40. package/src/modules/wizz/subagents/wizz-exec-haiku.md +12 -0
  41. package/src/modules/wizz/subagents/wizz-exec-opus.md +12 -0
  42. package/src/modules/wizz/subagents/wizz-exec-review.md +11 -0
  43. package/src/modules/wizz/subagents/wizz-exec-sonnet.md +12 -0
  44. package/src/skills-lib/launch-readiness/SKILL.md +94 -0
  45. package/src/skills-lib/launch-readiness/references/01-tecnico-build.md +26 -0
  46. package/src/skills-lib/launch-readiness/references/02-seguranca.md +26 -0
  47. package/src/skills-lib/launch-readiness/references/03-seo-descoberta.md +27 -0
  48. package/src/skills-lib/launch-readiness/references/04-analytics-medicao.md +25 -0
  49. package/src/skills-lib/launch-readiness/references/05-conteudo-prova-social.md +25 -0
  50. package/src/skills-lib/launch-readiness/references/06-legal-lgpd.md +25 -0
  51. package/src/skills-lib/launch-readiness/references/07-infra-deploy-rollback.md +26 -0
  52. package/src/skills-lib/launch-readiness/references/08-fusao-priorizacao.md +33 -0
  53. package/src/skills-lib/launch-readiness/references/09-persistencia-project-context.md +48 -0
  54. package/src/skills-lib/site-launch-kit/SKILL.md +1 -1
  55. package/src/skills-lib/taste-skill/SKILL.md +4 -2
  56. package/src/skills-lib/{taste-redesign → taste-skill}/references/design-audit.md +30 -41
  57. package/src/skills-lib/taste-skill/references/redesign-protocol.md +2 -2
  58. package/src/skills-lib/taste-skill/references/upgrade-techniques.md +33 -0
  59. package/src/skills-lib/wizz-offer-forge/SKILL.md +3 -2
  60. package/src/skills-lib/wizz-router/SKILL.md +7 -1
  61. package/src/skills-lib/wizz-router/references/routing-table-flat.md +3 -2
  62. package/tools/fetch-assets.mjs +3 -2
  63. package/tools/installer/commands/trace-report.js +248 -4
  64. package/tools/installer/modules/official-modules.js +5 -0
  65. package/wizz-modules.yaml +3 -3
  66. package/src/skills-lib/taste-redesign/SKILL.md +0 -42
  67. package/src/skills-lib/taste-redesign/references/upgrade-techniques.md +0 -31
@@ -0,0 +1,26 @@
1
+ # Área 07 · Infra / Deploy / Rollback
2
+
3
+ Checa se, quando (não "se") algo der errado no dia do lançamento, o time consegue reverter ou recuperar rápido. Ausência de plano de rollback é o achado mais caro desta área: um bug em produção sem caminho de volta vira incidente longo.
4
+
5
+ ## Checagens objetivas
6
+
7
+ 1. **Pipeline de deploy existe e é repetível.** Deploy manual/artesanal sem script/CI para o ambiente de produção é 🟠.
8
+ 2. **Rollback possível e testado.** Sem nenhuma forma de voltar pra versão anterior (revert de deploy, versionamento de release, feature flag) é 🔴 pra lançamento de risco alto (migração de banco, troca de fluxo de pagamento); 🟠 nos demais casos.
9
+ 3. **Migração de banco reversível.** Migration que altera/apaga coluna sem plano de reversão, rodando junto do lançamento, é 🔴.
10
+ 4. **Backup recente e testado.** Sem backup do banco de produção, ou backup nunca restaurado uma vez sequer pra validar que funciona, é 🔴 quando há dado de usuário real em jogo.
11
+ 5. **Domínio/DNS/SSL apontando pro ambiente certo.** Confirma o achado #7 da área 03 pelo lado de infra: domínio configurado mas TTL alto sem plano de propagação a tempo do lançamento é 🟠.
12
+ 6. **Paridade de ambiente (staging vs. produção).** Diferença conhecida entre o que foi testado em staging e o que vai pra produção (env var, versão de dependência, feature flag) é 🟠.
13
+ 7. **Plano de quem responde no dia.** Sem ninguém definido pra monitorar/responder no horário do lançamento (mesmo que informal) é 🟡; sobe pra 🟠 se o lançamento é fora do horário comercial normal do time.
14
+ 8. **Rate limiting / proteção contra pico na camada de infra.** Ausência de qualquer proteção (CDN, rate limit de borda) num lançamento com pico de tráfego esperado (campanha paga, imprensa) é 🟠.
15
+
16
+ ## Regra de corte
17
+
18
+ "Rollback existe" só conta se alguém já testou o caminho de volta pelo menos uma vez, não só "em teoria dá pra reverter". Sem essa confirmação, marque PENDÊNCIA DE VERIFICAÇÃO em vez de 🟢.
19
+
20
+ ## Formato de saída
21
+
22
+ ```
23
+ | # | Item | Onde (arquivo/rota) | O que falta ou está errado | Severidade | Executor da correção |
24
+ ```
25
+
26
+ Sem achado que passe na régua: responda só `NENHUM ACHADO NESTA ÁREA`.
@@ -0,0 +1,33 @@
1
+ # Passo 08 · Fusão e Priorização
2
+
3
+ Recebe as 7 tabelas das áreas (01 a 07) e funde num diagnóstico único. Não é uma nova rodada de investigação: é organização do que já foi levantado.
4
+
5
+ ## Como fundir
6
+
7
+ 1. **Cole as 7 tabelas** (ou as que rodaram, se alguma foi marcada `ITEM NÃO SE APLICA`).
8
+ 2. **Dedup por origem cruzada.** O mesmo problema pode aparecer em duas áreas (ex.: domínio apontando pro ambiente errado aparece na área 03 e na área 07). Mantenha uma linha só, citando as duas áreas de origem.
9
+ 3. **Ordene por severidade primeiro** (🔴 no topo, 🟢 no fim), e dentro da mesma severidade, pelo esforço estimado de correção (menor esforço primeiro): resolve mais rápido o que está mais perto do go-live.
10
+ 4. **Agrupe por executor.** Vários achados 🔴 que vão pro mesmo executor (ex.: 3 achados de `site-launch-kit`) formam um bloco só na entrega, pra virar um único despacho.
11
+ 5. **Conte pendências separadamente.** PENDÊNCIA DE VERIFICAÇÃO MANUAL não é severidade: é "não dá pra saber ainda". Liste à parte, com o que falta pra virar um veredito real.
12
+
13
+ ## Tabela final
14
+
15
+ ```
16
+ | # | Área | Item | Severidade | Executor | Esforço estimado |
17
+ ```
18
+
19
+ Seguida de:
20
+
21
+ **Bloqueantes de hoje (🔴):** lista curta, só o que impede literalmente o go-live. Se a lista tiver mais de 5 itens, isso já é sinal pro dono do projeto de que o lançamento provavelmente precisa adiar, diga isso explicitamente.
22
+
23
+ **Recomendação:** uma de três, nunca decidida pela skill sozinha, é leitura dos números:
24
+
25
+ - **GO:** zero 🔴, poucos 🟠 documentados como aceitáveis pelo dono do projeto.
26
+ - **GO COM RESSALVAS:** 🔴 zero, mas 🟠 relevante o suficiente pra avisar explicitamente antes do dono decidir.
27
+ - **NO-GO:** qualquer 🔴 aberto.
28
+
29
+ A recomendação é uma leitura objetiva da tabela (contagem de severidade), não um palpite. Explique o critério usado (ex.: "NO-GO porque há 2 achados 🔴 abertos: X e Y") em vez de só declarar o rótulo.
30
+
31
+ ## Regra de corte
32
+
33
+ Não amenize a contagem pra chegar num "GO" mais confortável. Se há 🔴 aberto, a recomendação é NO-GO, mesmo que o prazo de lançamento esteja apertado: apertar o prazo é decisão do dono do projeto, não da skill.
@@ -0,0 +1,48 @@
1
+ # Passo 09 · Persistência no project-context.md
2
+
3
+ O resultado da auditoria não fica só na conversa: um resumo persiste no `project-context.md` do projeto, pra qualquer agente (ou humano) que abrir o projeto depois saber, sem re-perguntar, se ele já passou por uma auditoria de lançamento e como ficou.
4
+
5
+ ## Localizar o arquivo
6
+
7
+ Mesmo padrão fail-open usado pelo router e pelo maestro: `grep -m1 '^stage:' {project-root}/**/project-context.md`.
8
+
9
+ - **Achou o arquivo:** siga pra "Gravar a seção" abaixo.
10
+ - **Não achou:** não bloqueie a entrega do diagnóstico por causa disso. Avise que não existe `project-context.md` pra persistir o resultado, ofereça rodar `wizz-generate-project-context` primeiro (cria o arquivo e o campo `stage:`), e entregue o diagnóstico normalmente mesmo sem persistir.
11
+
12
+ ## Gravar a seção
13
+
14
+ A seção vive sob o cabeçalho `## Auditoria de Prontidão pra Lançamento`. Ela é SUBSTITUÍDA a cada nova rodada, não é um changelog acumulado: `project-context.md` existe pra ficar enxuto ("lean, LLM-optimized" é o objetivo declarado do próprio template), então o que importa pra um agente lendo depois é o estado ATUAL, não o histórico de rodadas antigas. Se encontrar uma seção com esse cabeçalho já existente, apague o conteúdo antigo e escreva o novo no lugar; não acumule.
15
+
16
+ Template exato da seção:
17
+
18
+ ```markdown
19
+ ## Auditoria de Prontidão pra Lançamento
20
+
21
+ Última rodada: {{YYYY-MM-DD}}. Resultado da skill `launch-readiness`; substitui a rodada anterior (não é histórico).
22
+
23
+ **Resumo:** 🔴 {{n_bloqueante}} bloqueante(s) · 🟠 {{n_alto}} alto(s) · 🟡 {{n_medio}} médio(s) · 🟢 {{n_ok}} ok
24
+
25
+ **Recomendação:** {{GO | GO COM RESSALVAS | NO-GO}}
26
+
27
+ **Bloqueantes abertos (🔴):**
28
+ - {{item 1, uma linha}}
29
+ - {{item 2, uma linha}}
30
+
31
+ _Sem bloqueante aberto, escreva "Nenhum bloqueante aberto." em vez da lista._
32
+
33
+ **Diagnóstico completo** (as 7 tabelas por área) foi entregue na sessão de {{YYYY-MM-DD}}; esta seção é o resumo persistido, não a íntegra.
34
+ ```
35
+
36
+ Insira a seção depois de `## Estado do Projeto` e antes de `## Technology Stack & Versions`, seguindo a ordem já usada pelo template (`project-context-template.md`). Se o arquivo tiver uma ordem diferente por já ter sido editado à mão, insira logo após `## Estado do Projeto`.
37
+
38
+ ## Atualizar o estágio (stage:)
39
+
40
+ O campo `stage:` no frontmatter (`prototype|mvp|production|maintenance`) reflete o momento real do projeto, e a auditoria pode revelar que ele está desatualizado:
41
+
42
+ - **Recomendação GO ou GO COM RESSALVAS, e o usuário confirma que vai lançar agora:** proponha atualizar `stage: mvp` → `stage: production` no frontmatter. Proponha, não edite sozinho: pergunte antes ("atualizo o stage do projeto pra `production`?"), porque esse campo direciona o comportamento de outros agentes (router, maestro) e mudar sem avisar é uma mutação silenciosa de configuração compartilhada.
43
+ - **Recomendação NO-GO:** não sugira mudar o `stage:`. O projeto continua no estágio que já estava.
44
+ - **Estágio já é `production`:** não mexa; a auditoria está sendo usada pra uma nova leva/feature, não pra estreia do projeto (ver gate de estágio no `SKILL.md`).
45
+
46
+ ## Regra de corte
47
+
48
+ Não grave a seção com números inventados. O resumo tem que bater exatamente com a tabela final do passo 08 (fusão): mesma contagem, mesma recomendação. Se o passo 08 não rodou (ex.: usuário pediu só uma área isolada), não grave a seção completa: registre só o achado daquela área com a mesma data, deixando claro que não é uma rodada completa das 7 áreas.
@@ -46,7 +46,7 @@ description: "Checklist operacional de pré-lançamento de site em 15 rodadas co
46
46
 
47
47
  ## O que esta skill NÃO faz
48
48
 
49
- - Não redesenha layout, paleta ou conteúdo de seções (use `taste-redesign` / `impeccable`).
49
+ - Não redesenha layout, paleta ou conteúdo de seções (use `taste-skill` / `impeccable`).
50
50
  - Não cria a página do zero (use `premium-landing-ui-researcher`).
51
51
  - Não faz diagnóstico amplo de ranking/tráfego (use `seo-audit`).
52
52
  - Não escreve copy de venda nova (use `copywriting`); aqui só se ajusta rótulo e microcopy de atrito com material que já existe no site.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: taste-skill
3
- description: Anti-slop frontend skill for landing pages, portfolios, and redesigns. The agent reads the brief, infers the right design direction, and ships interfaces that do not look templated. Real design systems when applicable, audit-first on redesigns, strict pre-flight check. Use when building or redesigning a landing page, portfolio, or marketing site that must not look AI-generated. Detailed rules live in references/, loaded on demand.
3
+ description: Anti-slop frontend skill for landing pages, portfolios, and redesigns or audits of existing sites and apps. The agent reads the brief, infers the right design direction, and ships interfaces that do not look templated. On an existing project it audits the current design first, identifies generic AI patterns, lists every problem found, and prioritizes fixes without breaking functionality, working with any CSS framework or vanilla CSS. Real design systems when applicable, audit-first on redesigns, strict pre-flight check. Use when building, redesigning, or auditing a landing page, portfolio, or marketing site, or when upgrading an existing site or app that looks generic or AI-generated. Detailed rules live in references/, loaded on demand.
4
4
  ---
5
5
 
6
6
  # tasteskill: Anti-Slop Frontend Skill
@@ -14,7 +14,7 @@ This file is the index. The full rulebook is split into `references/*.md`, one f
14
14
 
15
15
  1. **Read the brief, not your defaults.** Infer page kind, vibe, audience, constraints. Output a one-line "Design Read" before any code. If genuinely ambiguous, ask exactly one question.
16
16
  2. **Set the three dials** (`DESIGN_VARIANCE / MOTION_INTENSITY / VISUAL_DENSITY`, baseline `8 / 6 / 4`) from the design read. Steps 1-2 protocol and tables: [brief-and-dials](references/brief-and-dials.md).
17
- 3. **Redesign?** Detect the mode first (preserve vs overhaul) and audit before touching anything: [redesign-protocol](references/redesign-protocol.md).
17
+ 3. **Redesign or audit of an existing project?** Detect the mode first (preserve vs overhaul) and audit before touching anything: [redesign-protocol](references/redesign-protocol.md) for mode detection and preservation rules, [design-audit](references/design-audit.md) for the full audit checklist, and [upgrade-techniques](references/upgrade-techniques.md) for the fix techniques once the audit is done.
18
18
  4. **Pick the foundation.** Real design system (official package) vs honest aesthetic build: [design-systems](references/design-systems.md).
19
19
  5. **Build with the default stack and conventions** ([architecture-conventions](references/architecture-conventions.md)) and apply the bias-correction directives for typography, color, layout, images, copy ([design-directives](references/design-directives.md)).
20
20
  6. **Add motion only when motivated:** [motion-patterns](references/motion-patterns.md).
@@ -44,6 +44,8 @@ These apply to every task, no exceptions, before reading anything else:
44
44
  | [anti-slop-tells.md](references/anti-slop-tells.md) | Forbidden AI-tell patterns, production-test tells, em-dash ban | 9 |
45
45
  | [pattern-vocabulary.md](references/pattern-vocabulary.md) | Named patterns: heroes, nav, grids, cards, scroll, text, libraries | 10 |
46
46
  | [redesign-protocol.md](references/redesign-protocol.md) | Mode detection, audit-first, preservation, modernisation levers | 11 |
47
+ | [design-audit.md](references/design-audit.md) | Full audit checklist for existing projects: typography, color, layout, interactivity, content, components, iconography, code quality, strategic omissions | 11.G |
48
+ | [upgrade-techniques.md](references/upgrade-techniques.md) | High-impact fix techniques for redesigns: typography, layout, motion, surface upgrades | 11.H |
47
49
  | [block-library.md](references/block-library.md) | Block Library contract and file schema | 12 |
48
50
  | [preflight-checklist.md](references/preflight-checklist.md) | Final pre-flight check matrix (mandatory gate) | 14 |
49
51
 
@@ -1,74 +1,64 @@
1
- # Design audit full checklist
1
+ > taste-skill reference file. Loaded on demand from the SKILL.md index.
2
+ > Cross-references like "Section N" map to sibling files via the index table in ../SKILL.md.
2
3
 
3
- Load this file during the Diagnose step. Full audit checklist across 9 categories — Typography, Color and Surfaces, Layout, Interactivity and States, Content, Component Patterns, Iconography, Code Quality, Strategic Omissions (what AI typically forgets) — each with the generic pattern to spot and the fix.
4
+ ## 11.G REDESIGN AUDIT CHECKLIST (detail)
4
5
 
5
- ## Design Audit
6
+ Full checklist for the Audit Before Touching step (Section 11.B). Scan the project against every category below and list every match found, feeding the "Patterns to retire" list in 11.B. Where a finding is already governed by an always-on directive elsewhere in this skill, the item below points to that section instead of repeating the fix, so there is one source of truth for the actual rule.
6
7
 
7
8
  ### Typography
8
9
 
9
- Check for these problems and fix them:
10
-
11
- - **Browser default fonts or Inter everywhere.** Replace with a font that has character. Good options: `Geist`, `Outfit`, `Cabinet Grotesk`, `Satoshi`. For editorial/creative projects, pair a serif header with a sans-serif body.
10
+ - **Browser default fonts or Inter everywhere.** Replace per the approved font list and pairings in Section 4.1.
12
11
  - **Headlines lack presence.** Increase size for display text, tighten letter-spacing, reduce line-height. Headlines should feel heavy and intentional.
13
- - **Body text too wide.** Limit paragraph width to roughly 65 characters. Increase line-height for readability.
12
+ - **Body text too wide.** Cap paragraph width per Section 4.1 (`max-w-[65ch]`) and increase line-height for readability.
14
13
  - **Only Regular (400) and Bold (700) weights used.** Introduce Medium (500) and SemiBold (600) for more subtle hierarchy.
15
14
  - **Numbers in proportional font.** Use a monospace font or enable tabular figures (`font-variant-numeric: tabular-nums`) for data-heavy interfaces.
16
15
  - **Missing letter-spacing adjustments.** Use negative tracking for large headers, positive tracking for small caps or labels.
17
- - **All-caps subheaders everywhere.** Try lowercase italics, sentence case, or small-caps instead.
16
+ - **All-caps subheaders everywhere.** Try lowercase italics, sentence case, or small-caps instead. (Distinct from the eyebrow-frequency rule in Section 4.7: this is about styling, that is about how often an eyebrow appears at all.)
18
17
  - **Orphaned words.** Single words sitting alone on the last line. Fix with `text-wrap: balance` or `text-wrap: pretty`.
19
18
 
20
19
  ### Color and Surfaces
21
20
 
22
- - **Pure `#000000` background.** Replace with off-black, dark charcoal, or tinted dark (`#0a0a0a`, `#121212`, or a dark navy).
23
- - **Oversaturated accent colors.** Keep saturation below 80%. Desaturate accents so they blend with neutrals instead of screaming.
24
- - **More than one accent color.** Pick one. Remove the rest. Consistency beats variety.
25
- - **Mixing warm and cool grays.** Stick to one gray family. Tint all grays with a consistent hue (warm or cool, not both).
26
- - **Purple/blue "AI gradient" aesthetic.** This is the most common AI design fingerprint. Replace with neutral bases and a single, considered accent.
27
- - **Generic `box-shadow`.** Tint shadows to match the background hue. Use colored shadows (e.g., dark blue shadow on a blue background) instead of pure black at low opacity.
28
- - **Flat design with zero texture.** Add subtle noise, grain, or micro-patterns to backgrounds. Pure flat vectors feel sterile.
21
+ - **Pure `#000000` background or oversaturated / multi-accent colors.** Governed by the Lila Rule and saturation cap in Section 4.2, and the Section 9.A bans. Flag any instance found on the existing site.
22
+ - **Mixing warm and cool grays.** Governed by Section 4.2 ("one palette per project"). Flag any inconsistency found.
23
+ - **Generic `box-shadow`.** Governed by Section 4.4 (tint shadows to the background hue). Flag any pure-black, untinted shadow found.
24
+ - **Flat design with zero texture.** Add subtle noise, grain, or micro-patterns to backgrounds to break digital flatness. Apply per the DOM-cost rule in Section 6.E (fixed, `pointer-events-none` layer only, never on scrolling containers).
29
25
  - **Perfectly even gradients.** Break the uniformity with radial gradients, noise overlays, or mesh gradients instead of standard linear 45-degree fades.
30
26
  - **Inconsistent lighting direction.** Audit all shadows to ensure they suggest a single, consistent light source.
31
- - **Random dark sections in a light mode page (or vice versa).** A single dark-background section breaking an otherwise light page looks like a copy-paste accident. Either commit to a full dark mode or keep a consistent background tone throughout. If contrast is needed, use a slightly darker shade of the same palette not a sudden jump to `#111` in the middle of a cream page.
32
- - **Empty, flat sections with no visual depth.** Sections that are just text on a plain background feel unfinished. Add high-quality background imagery (blurred, overlaid, or masked), subtle patterns, or ambient gradients. Use reliable placeholder sources like `https://picsum.photos/seed/{name}/1920/1080` when real assets are not available. Experiment with background images behind hero sections, feature blocks, or CTAs — even a subtle full-width photo at low opacity adds presence.
27
+ - **Random dark section in an otherwise light page (or vice versa).** Governed by the Page Theme Lock in Section 4.11. Flag it as a redesign finding; fix by committing to one theme for the whole page.
28
+ - **Empty, flat sections with no visual depth.** Sections that are just text on a plain background feel unfinished. Add background imagery, a pattern, or an ambient gradient, sourced per the priority order in Section 4.8.
33
29
 
34
30
  ### Layout
35
31
 
36
- - **Everything centered and symmetrical.** Break symmetry with offset margins, mixed aspect ratios, or left-aligned headers over centered content.
37
- - **Three equal card columns as feature row.** This is the most generic AI layout. Replace with a 2-column zig-zag, asymmetric grid, horizontal scroll, or masonry layout.
38
- - **Using `height: 100vh` for full-screen sections.** Replace with `min-height: 100dvh` to prevent layout jumping on mobile browsers (iOS Safari viewport bug).
32
+ - **Everything centered and symmetrical.** Governed by the anti-center-bias rule in Section 4.3. Flag it as a finding on redesigns; the override there still applies for editorial/manifesto briefs.
33
+ - **Three equal card columns as a feature row.** Banned outright per Section 9.C. Replace with a 2-column zig-zag, asymmetric grid, or horizontal scroll.
34
+ - **Using `height: 100vh` for full-screen sections.** Replace with `min-height: 100dvh` to prevent layout jumping on mobile browsers (iOS Safari viewport bug). See the viewport-stability check in the pre-flight matrix (Section 14).
39
35
  - **Complex flexbox percentage math.** Replace with CSS Grid for reliable multi-column structures.
40
- - **No max-width container.** Add a container constraint (around 1200-1440px) with auto margins so content doesn't stretch edge-to-edge on wide screens.
36
+ - **No max-width container.** Add a container constraint (around 1200-1440px) with auto margins so content does not stretch edge-to-edge on wide screens.
41
37
  - **Cards of equal height forced by flexbox.** Allow variable heights or use masonry when content varies in length.
42
- - **Uniform border-radius on everything.** Vary the radius: tighter on inner elements, softer on containers.
38
+ - **Uniform border-radius on everything, with no documented rule.** Section 4.4's Shape Consistency Lock allows variation only when there is a documented rule (e.g. "buttons full-pill, cards 16px, inputs 8px") followed everywhere. An existing site with radius applied at random, with no rule at all, is the audit finding here.
43
39
  - **No overlap or depth.** Elements sit flat next to each other. Use negative margins to create layering and visual depth.
44
- - **Symmetrical vertical padding.** Top and bottom padding are always identical. Adjust optically bottom padding often needs to be slightly larger.
40
+ - **Symmetrical vertical padding.** Top and bottom padding are always identical. Adjust optically; bottom padding often needs to be slightly larger.
45
41
  - **Dashboard always has a left sidebar.** Try top navigation, a floating command menu, or a collapsible panel instead.
46
42
  - **Missing whitespace.** Double the spacing. Let the design breathe. Dense layouts work for data dashboards, not for marketing pages.
47
43
  - **Buttons not bottom-aligned in card groups.** When cards have different content lengths, CTAs end up at random heights. Pin buttons to the bottom of each card so they form a clean horizontal line regardless of content above.
48
44
  - **Feature lists starting at different vertical positions.** In pricing tables or comparison cards, the list of features should start at the same Y position across all columns. Use consistent spacing above the list or fixed-height title/price blocks.
49
45
  - **Inconsistent vertical rhythm in side-by-side elements.** When placing cards, columns, or panels next to each other, align shared elements (titles, descriptions, prices, buttons) across all items. Misaligned baselines make the layout look broken.
50
- - **Mathematical alignment that looks optically wrong.** Centering by the math doesn't always look centered to the eye. Icons next to text, play buttons in circles, or text in buttons often need 1-2px optical adjustments to feel right.
46
+ - **Mathematical alignment that looks optically wrong.** Centering by the math does not always look centered to the eye. Icons next to text, play buttons in circles, or text in buttons often need 1-2px optical adjustments to feel right.
51
47
 
52
48
  ### Interactivity and States
53
49
 
54
- - **No hover states on buttons.** Add background shift, slight scale, or translate on hover.
55
- - **No active/pressed feedback.** Add a subtle `scale(0.98)` or `translateY(1px)` on press to simulate a physical click.
50
+ - **No hover states, no active/pressed feedback, no loading or empty states.** Governed by Section 4.5 (Interactive UI States: skeletal loaders, composed empty states, `-translate-y-[1px]` / `scale-[0.98]` on press). Flag every missing state found on the existing site as a redesign fix.
51
+ - **No error states, or errors handled with `window.alert()`.** Add clear, inline error messages for forms per Section 4.5. `window.alert()` specifically is banned; it is a jarring, unstyled browser dialog.
56
52
  - **Instant transitions with zero duration.** Add smooth transitions (200-300ms) to all interactive elements.
57
53
  - **Missing focus ring.** Ensure visible focus indicators for keyboard navigation. This is an accessibility requirement, not optional.
58
- - **No loading states.** Replace generic circular spinners with skeleton loaders that match the layout shape.
59
- - **No empty states.** An empty dashboard showing nothing is a missed opportunity. Design a composed "getting started" view.
60
- - **No error states.** Add clear, inline error messages for forms. Do not use `window.alert()`.
61
54
  - **Dead links.** Buttons that link to `#`. Either link to real destinations or visually disable them.
62
55
  - **No indication of current page in navigation.** Style the active nav link differently so users know where they are.
63
56
  - **Scroll jumping.** Anchor clicks jump instantly. Add `scroll-behavior: smooth`.
64
- - **Animations using `top`, `left`, `width`, `height`.** Switch to `transform` and `opacity` for GPU-accelerated, smooth animation.
57
+ - **Animations using `top`, `left`, `width`, `height`.** Governed by Section 6.A: animate only `transform` and `opacity`.
65
58
 
66
59
  ### Content
67
60
 
68
- - **Generic names like "John Doe" or "Jane Smith".** Use diverse, realistic-sounding names.
69
- - **Fake round numbers like `99.99%`, `50%`, `$100.00`.** Use organic, messy data: `47.2%`, `$99.00`, `+1 (312) 847-1928`.
70
- - **Placeholder company names like "Acme Corp", "Nexus", "SmartFlow".** Invent contextual, believable brand names.
71
- - **AI copywriting cliches.** Never use "Elevate", "Seamless", "Unleash", "Next-Gen", "Game-changer", "Delve", "Tapestry", or "In the world of...". Write plain, specific language.
61
+ - **Generic names, fake-perfect numbers, placeholder brand names, AI copywriting cliches.** Governed by Section 9.D. Flag every instance found on the existing site; do not repeat the banned-word list here, see that section.
72
62
  - **Exclamation marks in success messages.** Remove them. Be confident, not loud.
73
63
  - **"Oops!" error messages.** Be direct: "Connection failed. Please try again."
74
64
  - **Passive voice.** Use active voice: "We couldn't save your changes" instead of "Mistakes were made."
@@ -79,20 +69,20 @@ Check for these problems and fix them:
79
69
 
80
70
  ### Component Patterns
81
71
 
82
- - **Generic card look (border + shadow + white background).** Remove the border, or use only background color, or use only spacing. Cards should exist only when elevation communicates hierarchy.
72
+ - **Generic card look (border + shadow + white background) with no elevation purpose.** Governed by Section 4.4: use cards only when elevation communicates hierarchy.
83
73
  - **Always one filled button + one ghost button.** Add text links or tertiary styles to reduce visual noise.
84
74
  - **Pill-shaped "New" and "Beta" badges.** Try square badges, flags, or plain text labels.
85
75
  - **Accordion FAQ sections.** Use a side-by-side list, searchable help, or inline progressive disclosure.
86
- - **3-card carousel testimonials with dots.** Replace with a masonry wall, embedded social posts, or a single rotating quote.
76
+ - **3-card carousel testimonials with dots.** Replace with a masonry wall, embedded social posts, or a single rotating quote. See Section 4.10 for quote length and attribution rules once the format is fixed.
87
77
  - **Pricing table with 3 towers.** Highlight the recommended tier with color and emphasis, not just extra height.
88
78
  - **Modals for everything.** Use inline editing, slide-over panels, or expandable sections instead of popups for simple actions.
89
79
  - **Avatar circles exclusively.** Try squircles or rounded squares for a less generic look.
90
- - **Light/dark toggle always a sun/moon switch.** Use a dropdown, system preference detection, or integrate it into settings.
80
+ - **Light/dark toggle always a sun/moon switch.** Use a dropdown, system preference detection, or integrate it into settings. See Section 8.C for when a manual toggle is warranted at all.
91
81
  - **Footer link farm with 4 columns.** Simplify. Focus on main navigational paths and legally required links.
92
82
 
93
83
  ### Iconography
94
84
 
95
- - **Lucide or Feather icons exclusively.** These are the "default" AI icon choice. Use Phosphor, Heroicons, or a custom set for differentiation.
85
+ - **Lucide or Feather icons exclusively.** Governed by Section 9.E: use Phosphor, HugeIcons, Radix, or Tabler instead.
96
86
  - **Rocketship for "Launch", shield for "Security".** Replace cliche metaphors with less obvious icons (bolt, fingerprint, spark, vault).
97
87
  - **Inconsistent stroke widths across icons.** Audit all icons and standardize to one stroke weight.
98
88
  - **Missing favicon.** Always include a branded favicon.
@@ -104,12 +94,12 @@ Check for these problems and fix them:
104
94
  - **Inline styles mixed with CSS classes.** Move all styling to the project's styling system.
105
95
  - **Hardcoded pixel widths.** Use relative units (`%`, `rem`, `em`, `max-width`) for flexible layouts.
106
96
  - **Missing alt text on images.** Describe image content for screen readers. Never leave `alt=""` or `alt="image"` on meaningful images.
107
- - **Arbitrary z-index values like `9999`.** Establish a clean z-index scale in the theme/variables.
97
+ - **Arbitrary z-index values like `9999`.** Governed by Section 6.F: establish a documented z-index scale instead.
108
98
  - **Commented-out dead code.** Remove all debug artifacts before shipping.
109
99
  - **Import hallucinations.** Check that every import actually exists in `package.json` or the project dependencies.
110
100
  - **Missing meta tags.** Add proper `<title>`, `description`, `og:image`, and social sharing meta tags.
111
101
 
112
- ### Strategic Omissions (What AI Typically Forgets)
102
+ ### Strategic Omissions (what AI typically forgets)
113
103
 
114
104
  - **No legal links.** Add privacy policy and terms of service links in the footer.
115
105
  - **No "back" navigation.** Dead ends in user flows. Every page needs a way back.
@@ -117,4 +107,3 @@ Check for these problems and fix them:
117
107
  - **No form validation.** Add client-side validation for emails, required fields, and format checks.
118
108
  - **No "skip to content" link.** Essential for keyboard users. Add a hidden skip-link.
119
109
  - **No cookie consent.** If required by jurisdiction, add a compliant consent banner.
120
-
@@ -18,7 +18,7 @@ Document the current state before proposing changes:
18
18
  * **Information architecture** - page tree, primary nav, key conversion paths.
19
19
  * **Content blocks** - what exists, what's doing work, what's filler.
20
20
  * **Patterns to preserve** - signature interactions, recognisable hero, copy voice.
21
- * **Patterns to retire** - AI-slop tells, broken layouts, dead links, generic stock imagery, perf traps.
21
+ * **Patterns to retire** - AI-slop tells, broken layouts, dead links, generic stock imagery, perf traps. Run the full checklist in [design-audit.md](design-audit.md) (Section 11.G) against the project and list every match here.
22
22
  * **Dial reading of the existing site** - infer current `DESIGN_VARIANCE` / `MOTION_INTENSITY` / `VISUAL_DENSITY`. That's your starting point, not the baseline.
23
23
  * **SEO baseline** - current ranking pages, meta titles, structured data, OG cards. **SEO migration is the #1 redesign risk.**
24
24
 
@@ -30,7 +30,7 @@ Document the current state before proposing changes:
30
30
  * **Respect existing analytics events.** Do not rename buttons, form fields, section IDs that downstream tracking depends on.
31
31
 
32
32
  ### 11.D Modernisation Levers (priority order)
33
- Apply in order - stop when the brief is satisfied:
33
+ Apply in order - stop when the brief is satisfied. Concrete techniques for each lever live in [upgrade-techniques.md](upgrade-techniques.md) (Section 11.H).
34
34
  1. **Typography refresh** - biggest visual lift per unit of risk.
35
35
  2. **Spacing & rhythm** - increase section padding, fix vertical rhythm.
36
36
  3. **Color recalibration** - desaturate, unify neutrals, keep brand accent.
@@ -0,0 +1,33 @@
1
+ > taste-skill reference file. Loaded on demand from the SKILL.md index.
2
+ > Cross-references like "Section N" map to sibling files via the index table in ../SKILL.md.
3
+
4
+ ## 11.H MODERNISATION TECHNIQUES (detail)
5
+
6
+ High-impact techniques for the Modernisation Levers in Section 11.D, once the audit checklist (Section 11.G) has identified which categories need work. Grouped by Typography, Layout, and Motion/Surface. Where a technique already has a canonical skeleton or named pattern elsewhere in this skill, this file points there instead of restating it, so there is one implementation to maintain.
7
+
8
+ ### Typography Upgrades
9
+
10
+ - **Variable font animation.** Interpolate weight or width on scroll or hover for text that feels alive.
11
+ - **Outlined-to-fill transitions.** Text starts as a stroke outline and fills with color on scroll entry or interaction. Named pattern: "Gradient Stroke Animation" in Section 10.
12
+ - **Text mask reveals.** Large typography acting as a window to video or animated imagery behind it. Named pattern: "Text Mask Reveal" in Section 10; use that vocabulary entry when scoping the work.
13
+
14
+ ### Layout Upgrades
15
+
16
+ - **Broken grid / asymmetry.** Elements that deliberately ignore column structure: overlapping, bleeding off-screen, or offset with calculated randomness. Reach for this beyond the baseline anti-center-bias rule in Section 4.3 when the brief wants a stronger break from the grid.
17
+ - **Whitespace maximization.** Aggressive use of negative space to force focus on a single element.
18
+ - **Parallax card stacks.** Sections that stick and physically stack over each other during scroll. Implement with the canonical Sticky-Stack skeleton in Section 5.A; named pattern "Sticky Scroll Stack" in Section 10.
19
+ - **Split-screen scroll.** Two halves of the screen sliding in opposite directions. Named pattern "Split-Screen Scroll" in Section 10.
20
+
21
+ ### Motion Upgrades
22
+
23
+ - **Smooth scroll with inertia.** Decouple scrolling from browser defaults for a heavier, cinematic feel.
24
+ - **Staggered entry.** Elements cascade in with slight delays, combining Y-axis translation with opacity fade. Never mount everything at once. Implement with the Scroll-Reveal Stagger skeleton in Section 5.C, or `staggerChildren` per Section 5.D.
25
+ - **Spring physics.** Replace linear easing with spring-based motion for a natural, weighty feel on all interactive elements. Parameters and when to use them: Section 5 (Perpetual Micro-Interactions).
26
+ - **Scroll-driven reveals.** Content entering through expanding masks, wipes, or draw-on SVG paths tied to scroll progress. Distinct from the simple enter-on-scroll stagger in Section 5.C: this is for a deliberate reveal choreography, not a generic list-item fade-in.
27
+
28
+ ### Surface Upgrades
29
+
30
+ - **True glassmorphism.** Go beyond `backdrop-filter: blur`. Full technique (1px inner border, inset shadow, reduced-transparency fallback) and the honest Apple Liquid Glass distinction live in Section 5 (Liquid Glass / Glassmorphism) and design-systems.md Appendix C.
31
+ - **Spotlight borders.** Card borders that illuminate dynamically under the cursor. Named pattern "Spotlight Border Card" in Section 10.
32
+ - **Grain and noise overlays.** A fixed, `pointer-events-none` overlay with subtle noise to break digital flatness. Apply per the DOM-cost rule in Section 6.E: fixed layer only, never on a scrolling container.
33
+ - **Colored, tinted shadows.** Shadows that carry the hue of the background rather than using generic black. Full rule in Section 4.4.
@@ -49,8 +49,9 @@ Formule a Promessa Primária em 1 frase de alto impacto:
49
49
  Consulte `references/empilhamento-valor.md`:
50
50
  - **Produto Principal:** O caminho mais rápido e direto ao resultado.
51
51
  - **Bônus 1 (Velocidade):** Templates, atalhos, checklists prontos que encurtam a execução.
52
- - **Bônus 2 (Segurança):** Como evitar o erro mais comum ou o que fazer em caso de dúvida.
53
- - **Bônus 3 (Próximo Passo):** O que fazer depois de atingir o primeiro marco.
52
+ - **Bônus 2 (Quebra de Objeção):** Elimina a maior desculpa para não comprar.
53
+ - **Bônus 3 (Blindagem / Segurança):** Como evitar o erro mais comum ou o que fazer em caso de imprevisto.
54
+ - **Bônus 4 (Próximo Nível):** O que fazer depois de atingir o primeiro marco.
54
55
  - **Order Bump Estratégico:** Complemento impulsivo de alta margem (30-50% de take rate).
55
56
 
56
57
  ### Passo 4 — Ancoragem de Preço & Garantia Reversa
@@ -10,7 +10,7 @@ description: "OBRIGATÓRIO: invoque ANTES de agir em qualquer pedido não-trivia
10
10
 
11
11
  Invoque esta skill ANTES de agir em pedidos não-triviais (feature, bug, design, marketing, SEO, infra, refactor, audit, review, integração, configuração — amplo OU específico).
12
12
 
13
- **Exceção única:** edições de 1 linha (typo, rename) e conversa pura.
13
+ **Exceção única:** edições de 1 linha (typo, rename) e conversa pura. **Critério objetivo (TRIVIALITY GATE):** pedido que toca ≤1 arquivo, ~≤10 linhas, sem comportamento novo, mudança de tipo conhecido → executa direto, sem acionar router/maestro.
14
14
 
15
15
  **Fora do Plan Mode:** liste candidatas via `AskUserQuestion` e aguarde confirmação ANTES de disparar. Nunca auto-dispare fora do Plan Mode.
16
16
  **Dentro do Plan Mode:** auto-dispare todas as relevantes para enriquecer o plano.
@@ -24,6 +24,8 @@ Você é o **Diretor / porta de entrada** — não o orquestrador (esse é o `wi
24
24
 
25
25
  ## Triagem e delegação (o coração do Diretor)
26
26
 
27
+ **Estágio do projeto (fail-open):** `grep -m1 '^stage:' {project-root}/**/project-context.md` (ex: `_wizz-output/project-context.md`, path configurável via `output_folder`). Se achar `prototype`/`mvp`, prefira solução leve e não recomende observabilidade/infra de produção; `production`, gates de qualidade valem integralmente. Sem arquivo: siga sem mencionar estágio.
28
+
27
29
  Descubra o contexto: **existe `{project-root}/_wizz/`?**
28
30
 
29
31
  ### A) Dentro de projeto Wizz — você DELEGA, nunca executa
@@ -42,6 +44,8 @@ Avalie a **Área**: quantas áreas o pedido toca (design, dev, copy, seo, growth
42
44
 
43
45
  > Um agente de área só cobre a área dele. 2+ áreas exigem coordenação = trabalho do maestro; a cláusula de área decide sozinha, sem somar com mais nada.
44
46
 
47
+ **Descoberta de capacidade (índice, não atalho de delegação):** a [tabela de roteamento flat](references/routing-table-flat.md) também pode ser consultada aqui, dentro de projeto Wizz, quando o pedido não nomeia a capacidade certa (ex.: "quero um carrossel" → índice aponta `canvas-design`). Ela só serve pra achar o nome da capacidade; a entrega continua pelo dispatch normal acima (agente da área / maestro) — nunca dispare a skill direto a partir da tabela dentro de projeto Wizz.
48
+
45
49
  **Exemplos calibrados de borda** (do dataset de evals, `evals/routing/dataset.json`):
46
50
 
47
51
  - *Trivial → direto (sem router):* `t07` ("trocar 'envie' por 'enviar' na linha 42"): edição de 1 linha.
@@ -55,6 +59,8 @@ Ao delegar (pro maestro ou pro agente de área), declare o brief no formato do [
55
59
 
56
60
  Não há agentes wizz nem maestro. Você é a porta de descoberta global. Fluxo: analise a intenção (pode ter várias dimensões) → mapeie candidatas pela **[tabela de roteamento](references/routing-table-flat.md)** → fora do Plan Mode, apresente via `AskUserQuestion` e confirme → dispare as aprovadas via `Skill` (em paralelo quando independentes). Se nada cobrir, use o protocolo de **skill/MCP faltante** (no fim da mesma tabela).
57
61
 
62
+ **Ao encerrar o modo flat**, emita 1 linha máquina-legível de decision-trace — telemetria de decisão coletada por hook — no formato exato: `🧭 {"rota":"flat:<skill>","sel":["id",...],"desc":[["id_descartado","motivo≤6 palavras"]],"gate":"n/a","repetiria":true}`
63
+
58
64
  ## Modo Auditoria 360°
59
65
 
60
66
  Ao detectar "auditoria completa / revisa tudo / 360 / análise geral", siga **[references/auditoria-360.md](references/auditoria-360.md)**.
@@ -1,6 +1,6 @@
1
1
  # Tabela de Roteamento — Modo Flat
2
2
 
3
- Use esta tabela **fora de projeto Wizz** (sem `_wizz/`), quando o router mapeia skills/CLIs/MCPs direto. Dentro de projeto Wizz a delegação é decidida pela regra de dispatch no SKILL.md (maestro vs agente de área) e esta tabela não é necessária.
3
+ Use esta tabela pra mapear skills/CLIs/MCPs direto **fora de projeto Wizz** (sem `_wizz/`) o router dispara a skill sozinho. **Dentro de projeto Wizz** ela também pode ser consultada como ÍNDICE DE CAPACIDADES, pra descobrir uma capacidade relevante que o usuário não nomeou (ex.: "quero um carrossel" → `canvas-design`); mas a delegação continua sendo feita pelo dispatch normal do SKILL.md (agente da área / maestro) a tabela nunca dispara a skill direto dentro de projeto Wizz.
4
4
 
5
5
  **Verificação de existência:** antes de oferecer qualquer skill, confirme que ela existe no ambiente (catálogo de skills da sessão ou `ls ~/.claude/skills`); se não existir, não ofereça: use o protocolo de skill faltante (`find-skills`).
6
6
 
@@ -16,6 +16,7 @@ Use esta tabela **só fora de projeto Wizz** (sem `_wizz/`), quando o router map
16
16
  | Dependências, packages, vulnerabilidades, npm audit | `database-and-deps` | 2 |
17
17
  | Segurança, XSS, CSRF, SQLi, IDOR, OWASP, rate limit, CORS, clickjacking, PII na resposta, enumeração de usuário, headers | `web-security` + `auth-and-secrets` | 1 |
18
18
  | Auditoria/pentest de segurança do app inteiro, "auditar segurança", "pentest", "encontrar vulnerabilidades", varredura antes de release | `security-audit-pentest` | 1 |
19
+ | Auditoria de prontidão pra lançamento, "tá pronto pra lançar?", checklist de release amplo (técnico, segurança, SEO, analytics, conteúdo, legal, infra), "o que falta antes de ir pra produção" | `launch-readiness` | 1 |
19
20
  | Desktop, Electron, contextIsolation, code signing | `desktop-security` | 2 |
20
21
 
21
22
  ## Área Técnica — Código e Qualidade
@@ -77,7 +78,7 @@ Use esta tabela **só fora de projeto Wizz** (sem `_wizz/`), quando o router map
77
78
  | Copywriting, copy, persuasão, texto de venda | `copywriting` + `humanizer` | 1 |
78
79
  | Pesquisa de público de oferta, VoC, matriz de ângulos, léxico de infoproduto | `pesquisa-de-publico-do-piva` | 1 |
79
80
  | Forjar oferta, criar oferta irresistível, mecanismo único, bônus, garantia | `wizz-offer-forge` + `pricing-strategy` | 1 |
80
- | Pesquisa de mercado, inteligência competitiva | `deep-research` | 2 |
81
+ | Pesquisa de mercado, inteligência competitiva | `deep-research` (plugin externo — só se instalado) | 2 |
81
82
 
82
83
  ## Contexto e Memória
83
84
 
@@ -4,8 +4,9 @@
4
4
  // Por que existe: `huashu-design/assets/**/*.mp3` (~30MB) e
5
5
  // `canvas-design/canvas-fonts/**/*.ttf` (~5.5MB) inflavam o pacote npm em
6
6
  // ~73%, mas só são necessários no primeiro uso real de export de vídeo
7
- // (BGM/SFX) ou de uma variante de fonte específica. Os arquivos continuam no
8
- // git (fonte de verdade); saem do tarball publicado. Este script baixa o
7
+ // (BGM/SFX) ou de uma variante de fonte específica. Fonte de verdade dos BGM
8
+ // é o GitHub Release assets-v1 (fora do git e do tarball desde o P2 da
9
+ // auditoria 360°); os SFX pequenos e as fontes seguem no git. Este script baixa o
9
10
  // bundle certo, no lugar certo, verificando sha256 (mesmo espírito do pin
10
11
  // com checksum do rtk — nunca extrai um bundle adulterado).
11
12
  //