wizz-method 1.18.0 → 1.18.2

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 (54) hide show
  1. package/package.json +1 -1
  2. package/skills-registry.yaml +2 -16
  3. package/src/core-skills/_shared/handoff-protocol.md +10 -7
  4. package/src/modules/wizz/README.md +1 -1
  5. package/src/modules/wizz/_shared/model-ladder.md +19 -5
  6. package/src/modules/wizz/_shared/token-economy.md +3 -3
  7. package/src/modules/wizz/agents/wizz-ads/customize.toml +1 -1
  8. package/src/modules/wizz/agents/wizz-copy/customize.toml +1 -1
  9. package/src/modules/wizz/agents/wizz-designer/SKILL.md +2 -0
  10. package/src/modules/wizz/agents/wizz-designer/customize.toml +1 -1
  11. package/src/modules/wizz/agents/wizz-growth/SKILL.md +2 -0
  12. package/src/modules/wizz/agents/wizz-growth/customize.toml +1 -1
  13. package/src/modules/wizz/agents/wizz-maestro/SKILL.md +6 -2
  14. package/src/modules/wizz/agents/wizz-maestro/customize.toml +1 -1
  15. package/src/modules/wizz/agents/wizz-memoria/customize.toml +1 -1
  16. package/src/modules/wizz/agents/wizz-qa/customize.toml +1 -1
  17. package/src/modules/wizz/agents/wizz-seo/customize.toml +1 -1
  18. package/src/modules/wizz/agents/wizz-social/customize.toml +1 -1
  19. package/src/modules/wizz/overrides/wizz-agent-analyst.toml +1 -1
  20. package/src/modules/wizz/overrides/wizz-agent-architect.toml +1 -1
  21. package/src/modules/wizz/overrides/wizz-agent-dev.toml +1 -1
  22. package/src/modules/wizz/overrides/wizz-agent-pm.toml +1 -1
  23. package/src/modules/wizz/overrides/wizz-agent-tech-writer.toml +1 -1
  24. package/src/modules/wizz/overrides/wizz-agent-ux-designer.toml +1 -1
  25. package/src/modules/wizz/subagents/codex/wizz-exec-opus.toml +1 -1
  26. package/src/modules/wizz/subagents/codex/wizz-exec-review.toml +3 -2
  27. package/src/modules/wizz/subagents/gemini/wizz-exec-opus.md +1 -1
  28. package/src/modules/wizz/subagents/gemini/wizz-exec-review.md +2 -1
  29. package/src/modules/wizz/subagents/opencode/wizz-exec-opus.md +1 -1
  30. package/src/modules/wizz/subagents/opencode/wizz-exec-review.md +2 -1
  31. package/src/modules/wizz/subagents/wizz-exec-opus.md +1 -1
  32. package/src/modules/wizz/subagents/wizz-exec-review.md +2 -2
  33. package/src/skills-lib/find-skills/SKILL.md +0 -1
  34. package/src/skills-lib/impeccable/SKILL.md +20 -25
  35. package/src/skills-lib/impeccable/references/command-workflows.md +35 -0
  36. package/src/skills-lib/impeccable/references/design-rules.md +1 -1
  37. package/src/skills-lib/impeccable/references/pin-unpin-and-hooks.md +4 -14
  38. package/src/skills-lib/impeccable/references/routing-rules.md +8 -25
  39. package/src/skills-lib/premium-landing-ui-researcher/SKILL.md +6 -6
  40. package/src/skills-lib/premium-landing-ui-researcher/references/component-sources.md +12 -81
  41. package/src/skills-lib/premium-landing-ui-researcher/references/core-goal.md +2 -4
  42. package/src/skills-lib/premium-landing-ui-researcher/references/mandatory-process.md +6 -7
  43. package/src/skills-lib/premium-landing-ui-researcher/references/output-format-and-quality.md +3 -4
  44. package/src/skills-lib/premium-landing-ui-researcher/references/source-first-protocol.md +43 -124
  45. package/src/skills-lib/premium-landing-ui-researcher/references/source-links.md +0 -8
  46. package/src/skills-lib/ui-component-curator/SKILL.md +13 -7
  47. package/src/skills-lib/ui-ux-pro-max/SKILL.md +18 -3
  48. package/src/skills-lib/ui-ux-pro-max/references/search-reference.md +3 -3
  49. package/src/skills-lib/ui-ux-pro-max/references/workflow-guide.md +20 -20
  50. package/src/skills-lib/ui-ux-pro-max/scripts/__pycache__/core.cpython-314.pyc +0 -0
  51. package/src/skills-lib/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
  52. package/src/skills-lib/ui-ux-pro-max/scripts/search.py +9 -3
  53. package/src/skills-lib/wizz-router/SKILL.md +2 -0
  54. package/src/skills-lib/wizz-router/references/routing-table-flat.md +2 -2
@@ -1,146 +1,65 @@
1
- <EXTREMELY-IMPORTANT>
1
+ # Source-First Protocol
2
2
 
3
- ## Source-First Mandate (read this FIRST, every time)
3
+ Antes de implementar UI não trivial, pesquise componentes reais e adapte-os à marca. O catálogo de fontes é um ponto de partida; citar um catálogo sem abrir o item não conta como pesquisa.
4
4
 
5
- **Esta skill existe porque escrever shaders, animações, hovers e componentes do zero NÃO é o caminho.** O caminho é **curar componentes, animações e shaders maduros de bibliotecas profissionais** (modelos lp do usuário, React Bits, Cult UI, Ali Imam, Watermelon, StyleUI, Skiper UI e, como fonte PAGA complementar, 21st.dev) e **adaptar à marca**.
5
+ ## Fase 1: Inventário do projeto
6
6
 
7
- Se você se pegar pensando "vou escrever um shader perlin do zero" ou "vou criar uma esfera de partículas no R3F na mão" ou "vou desenhar um SVG de carousel": **PARE**. Isso é o anti-pattern que essa skill foi feita pra prevenir.
7
+ 1. Inspecione dependências, tokens, componentes e animações existentes.
8
+ 2. Procure `modelos lp/` ou equivalente dentro do projeto e nos caminhos já fornecidos pelo usuário. Use `rg --files`; não varra a home inteira para encontrar referências.
9
+ 3. Consulte decisões já disponíveis no handoff. Reutilize ativos locais compatíveis antes de buscar fora.
8
10
 
9
- ### Anti-pattern (NUNCA fazer)
11
+ Registre paths reais dos recursos encontrados. Se não houver modelos locais, prossiga com fontes públicas.
10
12
 
11
- - Escrever um shader GLSL custom sem antes ter inspecionado Ali Imam, paper.design refs, 21st.dev e o conteúdo do usuário em `/modelos lp/`
12
- - ❌ Reinventar text reveal / magnetic / scroll-driven animation sem antes ter inspecionado React Bits e os modelos do usuário
13
- - ❌ Criar hero 3D na mão sem antes ter buscado em 21st.dev via Magic MCP e gerado variações em v0
14
- - ❌ Criar carousel/slider sem antes ter verificado se Embla, shadcn/ui ou 21st.dev têm componente pronto compatível com o stack
15
- - ❌ Desenhar mockup SVG de produto inteiro sem antes ter pedido autorização pro usuário capturar screenshot real ou usar agent-browser no projeto live
16
- - ❌ "Fazer tudo na mão pra ir mais rápido": isso quebra o propósito da skill
13
+ ## Fase 2: Buscar e inspecionar fontes públicas
17
14
 
18
- ### Required pattern (SEMPRE fazer)
15
+ Escolha fontes pelo efeito necessário, usando [component-sources](component-sources.md) e [source-links](source-links.md):
19
16
 
20
- Antes de escrever qualquer linha de código de UI, executar o **Source-First Protocol** (definido abaixo). A regra absoluta é:
17
+ | Necessidade | Fontes iniciais |
18
+ |---|---|
19
+ | Texto animado, backgrounds, hover, partículas | React Bits, Componentry |
20
+ | Seções de marketing, cards, botões | Cult UI, registries públicos shadcn |
21
+ | Shader, liquid/ripple, WebGL experimental | Ali Imam, exemplos públicos compatíveis |
22
+ | Dashboard e visualização de dados | Watermelon UI, Bklit UI |
23
+ | Layout base | StyleUI, componentes existentes |
24
+ | Carousel | Embla, shadcn/ui |
25
+ | Direção visual e motion de referência | Sites fornecidos, Landing Love, Godly, Design Spells, Refero Styles |
21
26
 
22
- > **Inspecione fontes reais → ofereça opções ao usuário → adapte à marca. Nunca recrie o que já existe maduro.**
27
+ Para cada componente não trivial:
23
28
 
24
- Se você não consegue ou não está autorizado a invocar uma fonte (MCP offline, sem permissão pra clone, sem rede), **declare isso explicitamente ao usuário** antes de cair pro fallback de criar do zero. O usuário deve poder dizer "ok, então vamos clonar Ali Imam agora" ou "tudo bem, faça na mão dessa vez". Nunca cair pro fallback silenciosamente.
29
+ 1. Formule uma busca concreta com função, estilo e stack; consulte pelo menos duas fontes adequadas quando disponíveis.
30
+ 2. Abra o item exato: demo, documentação e arquivo de código ou JSON do registry. Resultado de busca sozinho não prova compatibilidade.
31
+ 3. Inspecione imports, dependências, API, licença e variante de stack. Para documentação atual de biblioteca/CLI, use Context7; se indisponível, documentação oficial.
32
+ 4. Quando o comportamento visual importar, veja a demo com a ferramenta de browser disponível. Registre se a avaliação foi somente estática; nunca declare hover/scroll/mobile testado sem executá-lo.
33
+ 5. Se uma URL falhar, busque o endereço oficial atualizado. Se continuar inacessível, registre a falha e tente outra fonte. Não interrompa a pesquisa só porque um serviço opcional falta.
25
34
 
26
- </EXTREMELY-IMPORTANT>
35
+ Componentes pagos só entram com acesso/custo já autorizado. Sites de inspiração não são fonte de código nem concedem licença de cópia.
27
36
 
28
- ## Source-First Protocol
37
+ ## Fase 3: Cache e obtenção do código
29
38
 
30
- Este é o protocolo executável dos checkpoints 6, 7 e 8 do Mandatory Process. Seguir nesta ordem, declarando ao usuário o que está fazendo em cada fase.
39
+ Cache existente de design (por exemplo `~/.claude/design-sources/`) pode ser inspecionado. Não o trate como atualizado por existir:
31
40
 
32
- ### Fase 1: Inventário interno (sem dependência externa)
41
+ - Confira origem, branch, revisão e mudanças locais antes de atualizar.
42
+ - Consulte a revisão remota quando houver rede; data de modificação da pasta não é prova de atualização.
43
+ - Não rode `git pull`, reset ou checkout automaticamente sobre cache com alterações locais. Use uma cópia isolada ou leia o arquivo remoto.
44
+ - Prefira docs, arquivos públicos e registry antes de clonar. Quando necessário à pesquisa autorizada, use `mktemp -d` para uma cópia isolada; não execute scripts do repositório para apenas ler código.
45
+ - Copie somente os arquivos necessários e preserve os avisos de licença. Não adicione o repositório inteiro como dependência do app.
33
46
 
34
- Antes de qualquer rede ou MCP, inspecionar o que o usuário tem:
47
+ Sem rede, use as referências locais e declare a revisão conhecida e a limitação de atualização.
35
48
 
36
- 1. **Pasta `modelos lp/` (ou equivalente)**: rodar `find ~ -maxdepth 6 -type d -iname "modelos*lp*"` para localizar. Listar subpastas, ler package.json e README.md de cada projeto promissor. Identificar quais já tem Lenis, GSAP, R3F, OGL, Embla, Framer Motion, shaders prontos.
37
- 2. **Projeto atual do usuário**: se houver, listar dependências instaladas (`cat package.json`) e componentes/utilities existentes que podem ser reaproveitados.
38
- 3. **Cérebro / vault do usuário**: usar grep nos arquivos do vault (`projetos/`, `_decisions/`) para achar padrões técnicos já documentados em projetos anteriores.
49
+ ## Fase 4: Evidência e escolha
39
50
 
40
- Saída desta fase: lista de **componentes, libs e padrões reaproveitáveis** com path absoluto.
51
+ Registre no artefato de design existente (ou crie `design-research.md` na pasta de planejamento do projeto):
41
52
 
42
- ### Fase 2: Busca nos repos de referência (cache central primeiro) FASE PADRÃO
53
+ | Seção/componente | Busca e fonte | Demo + código exato | Revisão/data | Licença + dependências | Evidência visual | Escolha e adaptação |
54
+ |---|---|---|---|---|---|---|
55
+ | Item realmente inspecionado | Termos usados e catálogo | URLs ou paths reais | SHA/tag; data se não houver versão | Verificadas ou pendentes | Testado / estático / indisponível | Aceito/rejeitado e motivo |
43
56
 
44
- Para cada efeito visual ainda não resolvido pela fase 1, inspecionar o **cache central de design** em `~/.claude/design-sources/` antes de qualquer clone. Só clonar se o repo não estiver em cache ou estiver desatualizado.
57
+ Inclua também buscas sem resultado e fontes indisponíveis. Nunca preencha nomes de componentes, paths, licença ou resultados de teste por suposição.
45
58
 
46
- **Mapa de decisão "preciso disso fonte":**
59
+ Mostre 1–3 candidatos compatíveis por componente, com recomendação e custo de adaptação. Se o usuário já autorizou a implementação e definiu a direção, escolha o melhor dentro desse escopo e prossiga. Pergunte somente quando faltar decisão material de direção, acesso pago ou mudança de escopo.
47
60
 
48
- | Preciso de... | Cache central | Atualizar cache se necessário |
49
- |---|---|---|
50
- | Shader líquido / liquid wave / ripple / pixel grid / efeito experimental WebGL | `~/.claude/design-sources/aliimam/` | `git -C ~/.claude/design-sources/aliimam pull` |
51
- | Text reveal / particle effects / hover effects / animated cards / scroll effects React | `~/.claude/design-sources/react-bits/` | `git -C ~/.claude/design-sources/react-bits pull` |
52
- | Hero sections shadcn premium / marketing sections / botões sofisticados / cards animados | `~/.claude/design-sources/cult-ui/` | `git -C ~/.claude/design-sources/cult-ui pull` |
53
- | SaaS components / dashboards / product UI blocks | `~/.claude/design-sources/watermelon/` | `git -C ~/.claude/design-sources/watermelon pull` |
54
- | Templates / landing layouts prontos / páginas base | `~/.claude/design-sources/styleui/` | `git -C ~/.claude/design-sources/styleui pull` |
55
- | Componentes shadcn premium específicos | **Skiper UI** | `npx shadcn add @skiper-ui/skiperXX` (sem clone, instala direto) |
56
- | Charts / data viz / seções de métricas / gráficos de dashboard | **Bklit UI** | `npx shadcn@latest add @bklit/<chart>` (sem clone, registry shadcn) |
57
- | Scroll storytelling / pinning / timelines cinematográficas / SplitText | **GSAP** (lib npm, 100% gratuita desde a v3.13) | `npm i gsap @gsap/react` (sem clone) |
58
- | Microinterações imperativas leves / stagger / SVG motion / contadores | **anime.js v4** (lib npm, MIT) | `npm i animejs` (sem clone) |
61
+ ## Fase 5: Adaptar e verificar
59
62
 
60
- **Fluxo de uso do cache:**
61
-
62
- 1. Verificar se o diretório em `~/.claude/design-sources/<repo>/` existe e tem conteúdo.
63
- 2. Se sim: ler/grep diretamente no cache sem clonar.
64
- 3. Se desatualizado (> 7 dias sem pull): `git -C ~/.claude/design-sources/<repo> pull --quiet` antes de inspecionar.
65
- 4. Se o cache não existir (máquina nova): `git clone --depth=1 <url> ~/.claude/design-sources/<repo>` e seguir.
66
-
67
- **Regras de cópia para o projeto:**
68
-
69
- - Copiar APENAS o(s) componente(s) necessário(s) para `src/components/` adaptados à marca
70
- - Nunca adicionar o repo inteiro como dependência permanente
71
- - Não clonar em `.design-sources-temp/` se o cache já tem o repo: usar o cache diretamente
72
-
73
- ### Fase 3: Magic MCP do 21st.dev (fonte PAGA, complementar)
74
-
75
- **Ferramentas disponíveis (chamar via ToolSearch se não estiverem carregadas):**
76
-
77
- - `mcp__magic__21st_magic_component_inspiration`: buscar referências e padrões para uma seção específica (hero, pricing, testimonials, navbar, contact dialog, etc.)
78
- - `mcp__magic__21st_magic_component_builder`: gerar/instalar componente alinhado ao stack do usuário
79
- - `mcp__magic__21st_magic_component_refiner`: refinar componente existente
80
- - `mcp__magic__logo_search`: logos de marcas para integrações/prova social
81
-
82
- **Gate de custo:** o 21st.dev é plano PAGO. Esta fase só roda quando as fases 1-2 não cobrirem o efeito/section necessário E com aprovação do usuário. Não é mais mínimo obrigatório.
83
-
84
- **Quando chamar (se aprovado):**
85
-
86
- - 1 chamada de `inspiration` para o **hero** (ex: liquid glass hero, particle hero, mask reveal hero)
87
- - 1 chamada para o **bloco principal de conversão** (ex: pricing, contact dialog, CTA group)
88
- - 1 chamada para **selected work / portfolio grid** se o projeto for autoridade/portfolio
89
- - 1 chamada para **navigation** se a direção visual exigir navbar não-padrão
90
-
91
- Se o Magic MCP não estiver disponível no ambiente: declarar ao usuário "o Magic MCP do 21st.dev não está conectado nesta sessão" e perguntar se ele quer conectar ou seguir com as outras fontes. **Não cair pro fallback de criar do zero sem essa pergunta.**
92
-
93
- ### Fase 4: 21st CLI (catálogo e registry — fonte PAGA, complementar)
94
-
95
- O v0 foi removido do ecossistema. Mesmo gate de custo da Fase 3: plano pago, usar só quando as fases gratuitas não cobrirem e com aprovação do usuário. Componente do time já publicado no registry conta como recurso já pago: pode usar sem novo gate.
96
-
97
- **Fluxo resumido:**
98
-
99
- 1. Checar a CLI: `command -v 21st`. Se ausente, propor (opt-in, nunca auto-rodar): `npm i -g @21st-dev/cli && npx @21st-dev/cli install-skill` e `21st login` com o usuário.
100
- 2. Buscar: `21st search "<termo>"` (`--type component|theme|template`); inspecionar com `21st get <id>`.
101
- 3. Instalar o escolhido no projeto: `21st add <user>/<slug>` ou `npx shadcn@latest add <url do item>`; adaptar à marca.
102
- 4. Componente do time já publicado no registry `@wizzdigitalagency` tem prioridade sobre item público equivalente.
103
-
104
-
105
-
106
- Se a CLI não estiver instalada e o usuário recusar o install: declarar e seguir pra Fase 5 (confirmação), nunca criar do zero em silêncio.
107
-
108
- ### Fase 5: Apresentação ao usuário e confirmação
109
-
110
- Antes de implementar, apresentar ao usuário uma resposta estruturada:
111
-
112
- ```
113
- Source-First Inventory para sua landing:
114
-
115
- HERO (efeito liquid glass)
116
- ├─ Opção A: 21st.dev → componente "X" via Magic MCP (recomendado, já compatível com Next + Tailwind)
117
- ├─ Opção B: clonar Ali Imam → arquivo `liquid-wave.tsx` adaptado para token #FF4500
118
- └─ Opção C: buscar/instalar alternativa via 21st CLI (`21st search` + `21st add`)
119
-
120
- CAROUSEL DE PRODUTOS
121
- ├─ Opção A: Embla Carousel (lib oficial, já no seu /modelos lp/ em `air-pods-max-product-showcase`)
122
- └─ Opção B: 21st.dev → "scroll-snap carousel" via Magic MCP
123
-
124
- TEXT REVEAL HEADLINE
125
- ├─ Opção A: React Bits → `split-text-reveal.tsx` (precisa autorização pra clonar)
126
- └─ Opção B: Framer Motion na mão (fallback aceitável, padrão simples)
127
-
128
- PORTFOLIO GRID
129
- ├─ Opção A: clonar Cult UI → `marketing-grid.tsx`
130
- └─ Opção B: 21st.dev → portfolio grid via Magic MCP
131
-
132
- Posso prosseguir com (A, A, A, A) ou prefere ajustar?
133
- ```
134
-
135
- Só implementar depois da confirmação do usuário sobre quais fontes usar.
136
-
137
- ### Quando é aceitável criar do zero
138
-
139
- Existem 3 casos onde é OK criar do zero, e em todos deve ser declarado ao usuário:
140
-
141
- 1. **Componente trivial e específico da marca** (ex: WizzMark inline SVG do logo): sem fonte que faça sentido, custo de adaptação > custo de fazer
142
- 2. **Após esgotar as fases 1-4** sem encontrar componente compatível, com o usuário ciente disso
143
- 3. **Microcomponentes utilitários** (MonoLabel, Section wrapper) que são apenas estilização de tokens
144
-
145
- Para todo o resto (shaders, animações complexas, hero pieces, carousels, cards 3D, hover effects, transições), **DEVE passar pelo Source-First Protocol antes de ser escrito do zero**.
63
+ Adapte tokens, tipografia, espaçamento, conteúdo e motion ao projeto. Verifique responsividade, teclado, foco, contraste, reduced-motion e custo de renderização conforme o componente. Vincule o resultado às fontes registradas.
146
64
 
65
+ Criar do zero é aceitável para primitivas triviais ou quando a pesquisa documentada não encontrar opção compatível e a implementação estiver autorizada. Explique o motivo. Não declare que algo não existe em nenhum catálogo; relate apenas as fontes efetivamente pesquisadas.
@@ -14,14 +14,6 @@
14
14
  - Componentry (React animado, gratuito/open source, Vercel OSS): https://componentry.dev/
15
15
  - Componentry MCP (via shadcn MCP + registry `@componentry`): https://componentry.dev/docs/mcp
16
16
  - Animmaster Lib (300 componentes animados, PAGO): https://animmasterlib.dev/
17
- - 21st.dev: https://21st.dev/
18
- - 21st.dev Magic MCP: https://21st.dev/magic
19
- - 21st.dev MCP: https://21st.dev/mcp
20
- - 21st CLI (buscar/instalar/publicar via terminal): `npm i -g @21st-dev/cli` + `21st login`
21
- - 21st CLI skills oficiais (21st-cli-use, 21st-registry, 21st-design-sync): `npx @21st-dev/cli install-skill`
22
- - 21st busca: `21st search "<termo>" [--type component|theme|template]` + `21st get <id>`
23
- - 21st instalação: `21st add <user>/<slug>` ou `npx shadcn@latest add https://21st.dev/r/<user>/<slug>`
24
- - 21st API keys (CI/headless, env API_KEY_21ST): https://21st.dev/settings/api-keys
25
17
 
26
18
  ## Animation Engine Libraries (npm)
27
19
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: ui-component-curator
3
- description: analyze an existing frontend project, infer its visual style and product tone, then research and recommend compatible UI components and effects from 21st.dev and superdesign. use when the user wants help choosing components, effects, sections, or visual patterns that fit an existing project — especially hero effects, cards, buttons, testimonials, pricing sections, navigation, or any interactive pattern. trigger whenever the user wants to add a UI element and wants Claude to study the project first before suggesting options. always read the codebase before recommending, send links for confirmation, and plan before editing.
3
+ description: analyze an existing frontend project, infer its visual style and product tone, then research and recommend compatible UI components and effects from public component catalogs, registries and source repositories. use when the user wants help choosing components, effects, sections, or visual patterns that fit an existing project — especially hero effects, cards, buttons, testimonials, pricing sections, navigation, or any interactive pattern. trigger whenever the user wants to add a UI element and wants Claude to study the project first before suggesting options. always inspect the codebase and exact component sources, provide evidence and plan before editing.
4
4
  ---
5
5
 
6
6
  # Overview
@@ -9,7 +9,7 @@ Read the project. Infer its design language. Then find components that feel like
9
9
 
10
10
  Act as a UI curator with taste and restraint — not a gallery explorer. Optimize for consistency over novelty.
11
11
 
12
- **Golden rule:** Do not edit before confirming. Plan firstsend linkswait for approval then edit.
12
+ **Golden rule:** Inspect the project search real sourcesdocument evidenceplan implement within the user's authorization. Ask only when a material choice or paid access is unresolved.
13
13
 
14
14
  ---
15
15
 
@@ -30,7 +30,13 @@ Extract the project's design DNA:
30
30
 
31
31
  Do not ask the user to describe the style unless the project has no inspectable UI at all.
32
32
 
33
- ## 2. Search 21st.dev and superdesign
33
+ ## 2. Search and inspect public sources
34
+
35
+ Start with existing project components. Then search appropriate public sources: [React Bits](https://reactbits.dev/), [Cult UI](https://www.cult-ui.com/docs), [Componentry](https://componentry.dev/), or [shadcn/ui](https://ui.shadcn.com/docs). Compare at least two suitable sources when available.
36
+
37
+ Open the exact demo and source file/registry item. Check the actual imports, license, dependencies, stack variant and revision; use current official documentation (Context7 when available) for API compatibility. Inspect animation/interaction in the available browser; label static-only inspection honestly. If a source fails, record the failure and continue elsewhere.
38
+
39
+ Record search terms, exact URLs/paths, revision/date, license, dependencies, visual inspection status and acceptance/rejection reason in the project's design artifact (or `design-research.md`). A catalog homepage or search snippet is not component evidence. Never invent filenames, components or test results.
34
40
 
35
41
  Use the inferred style DNA as the search filter. Prefer:
36
42
  - options that feel native to the current project
@@ -50,9 +56,9 @@ For each candidate, say briefly:
50
56
 
51
57
  Provide a compact plan: what changes, which files, any dependency or styling adaptation needed.
52
58
 
53
- ## 5. Send links and wait for confirmation
59
+ ## 5. Present evidence and proceed within scope
54
60
 
55
- Do not proceed to edit until the user confirms.
61
+ Send the exact candidate links and recommendation. If the user authorized implementation and the design direction is known, proceed with the best fit. Ask only for unresolved direction, paid access or a scope change.
56
62
 
57
63
  ---
58
64
 
@@ -98,5 +104,5 @@ Up to 2 backup options only if genuinely different and useful.
98
104
  ## Implementation plan
99
105
  What changes, which files, any dependency or adaptation work.
100
106
 
101
- ## Links for confirmation
102
- The candidate links. Await user approval before editing.
107
+ ## Research evidence
108
+ Exact candidate demo/source links, revision/date, license and dependencies, visual inspection status, decisions and unavailable sources. State what still needs a user decision.
@@ -17,13 +17,28 @@ Reference these guidelines when:
17
17
 
18
18
  ## First Step
19
19
 
20
- Analyze the user request (product type, style keywords, industry, stack), then **always start with `--design-system`** to get a comprehensive recommendation with reasoning:
20
+ ### Wizz: construction entry point
21
+
22
+ Before producing UI code, inspect the existing project and choose the research skill:
23
+
24
+ - New landing page or a full page composition: invoke `skill:premium-landing-ui-researcher` for source research and section planning.
25
+ - A component or effect in an existing project: invoke `skill:ui-component-curator` to inspect compatible candidates.
26
+ - Existing UI polish only: invoke `skill:impeccable`; invoke `skill:taste-skill` when a redesign direction is needed.
27
+ - HTML prototype/visual variants: invoke `skill:huashu-design`. Stitch-to-React conversion: invoke `skill:react-components`.
28
+
29
+ The local Python database below recommends design tokens and patterns; it does **not** search the web, inspect component source code, or prove that a component exists. For component research, require exact demo/source URLs, inspected files or registry items, revision/date, license, dependencies and a fit decision. Continue with an available public source if one fails; state any unverified result. Do not claim research based only on the database output.
30
+
31
+ ### Local design-system search
32
+
33
+ Analyze the user request (product type, style keywords, industry, stack). Use `--design-system` for a new page/project or a change to the overall visual direction:
21
34
 
22
35
  ```bash
23
- python3 skills/ui-ux-pro-max/scripts/search.py "<product_type> <industry> <keywords>" --design-system [-p "Project Name"]
36
+ python3 scripts/search.py "<product_type> <industry> <keywords>" --design-system [-p "Project Name"]
24
37
  ```
25
38
 
26
- If user doesn't specify a stack, default to `html-tailwind`. Needs Python 3 see `references/workflow-guide.md` if `python3 --version` fails.
39
+ Run from this skill's directory. For a targeted concern, use `--domain`; for implementation guidance, use a separate `--stack` query inferred from the project. This bundled engine ignores `--stack` in `--design-system` mode. If no stack can be inferred and it matters, ask instead of assuming Tailwind.
40
+
41
+ Use one dominant intent and 2–5 meaningful terms per query. Verify the returned category and fit before applying results. Retry once with a narrower query if results are off-topic; after that, label general guidance as a fallback. Do not persist unverified output. When using `--persist`, pass `--output-dir` for the project and inspect existing design artifacts first: this bundled version can overwrite them. Needs Python 3 — see `references/workflow-guide.md` if `python3 --version` fails.
27
42
 
28
43
  ## References (load on demand)
29
44
 
@@ -21,7 +21,7 @@ Load this file when picking a `--domain` or `--stack` value, or when choosing an
21
21
 
22
22
  | Stack | Focus |
23
23
  |-------|-------|
24
- | `html-tailwind` | Tailwind utilities, responsive, a11y (DEFAULT) |
24
+ | `html-tailwind` | Tailwind utilities, responsive, a11y (only when project uses it) |
25
25
  | `react` | State, hooks, performance, patterns |
26
26
  | `nextjs` | SSR, routing, images, API routes |
27
27
  | `vue` | Composition API, Pinia, Vue Router |
@@ -38,8 +38,8 @@ The `--design-system` flag supports two output formats:
38
38
 
39
39
  ```bash
40
40
  # ASCII box (default) - best for terminal display
41
- python3 skills/ui-ux-pro-max/scripts/search.py "fintech crypto" --design-system
41
+ python3 scripts/search.py "fintech crypto" --design-system
42
42
 
43
43
  # Markdown - best for documentation
44
- python3 skills/ui-ux-pro-max/scripts/search.py "fintech crypto" --design-system -f markdown
44
+ python3 scripts/search.py "fintech crypto" --design-system -f markdown
45
45
  ```
@@ -37,14 +37,14 @@ Extract key information from user request:
37
37
  - **Product type**: SaaS, e-commerce, portfolio, dashboard, landing page, etc.
38
38
  - **Style keywords**: minimal, playful, professional, elegant, dark mode, etc.
39
39
  - **Industry**: healthcare, fintech, gaming, education, etc.
40
- - **Stack**: React, Vue, Next.js, or default to `html-tailwind`
40
+ - **Stack**: infer from project dependencies. If unknown and needed, ask.
41
41
 
42
- ### Step 2: Generate Design System (REQUIRED)
42
+ ### Step 2: Choose the search mode
43
43
 
44
- **Always start with `--design-system`** to get comprehensive recommendations with reasoning:
44
+ Use `--design-system` for new pages/projects or overall visual direction. Use a focused `--domain` for a targeted concern and a separate `--stack` query for implementation. The bundled engine ignores `--stack` in design-system mode. Verify relevance, retry once with a narrower query, and label an unmatched result as a fallback.
45
45
 
46
46
  ```bash
47
- python3 skills/ui-ux-pro-max/scripts/search.py "<product_type> <industry> <keywords>" --design-system [-p "Project Name"]
47
+ python3 scripts/search.py "<product_type> <industry> <keywords>" --design-system [-p "Project Name"]
48
48
  ```
49
49
 
50
50
  This command:
@@ -55,40 +55,40 @@ This command:
55
55
 
56
56
  **Example:**
57
57
  ```bash
58
- python3 skills/ui-ux-pro-max/scripts/search.py "beauty spa wellness service" --design-system -p "Serenity Spa"
58
+ python3 scripts/search.py "beauty spa wellness service" --design-system -p "Serenity Spa"
59
59
  ```
60
60
 
61
61
  ### Step 2b: Persist Design System (Master + Overrides Pattern)
62
62
 
63
- To save the design system for hierarchical retrieval across sessions, add `--persist`:
63
+ Run from this skill's directory. To persist into the user's project, add `--persist --output-dir <project-root>`. Read any existing design artifacts first: this bundled version can overwrite files, so preserve existing decisions and only persist verified output.
64
64
 
65
65
  ```bash
66
- python3 skills/ui-ux-pro-max/scripts/search.py "<query>" --design-system --persist -p "Project Name"
66
+ python3 scripts/search.py "<query>" --design-system --persist --output-dir "<project-root>" -p "Project Name"
67
67
  ```
68
68
 
69
69
  This creates:
70
- - `design-system/MASTER.md` — Global Source of Truth with all design rules
71
- - `design-system/pages/` — Folder for page-specific overrides
70
+ - `design-system/<project-slug>/MASTER.md` — Global Source of Truth with all design rules
71
+ - `design-system/<project-slug>/pages/` — Folder for page-specific overrides
72
72
 
73
73
  **With page-specific override:**
74
74
  ```bash
75
- python3 skills/ui-ux-pro-max/scripts/search.py "<query>" --design-system --persist -p "Project Name" --page "dashboard"
75
+ python3 scripts/search.py "<query>" --design-system --persist --output-dir "<project-root>" -p "Project Name" --page "dashboard"
76
76
  ```
77
77
 
78
78
  This also creates:
79
- - `design-system/pages/dashboard.md` — Page-specific deviations from Master
79
+ - `design-system/<project-slug>/pages/dashboard.md` — Page-specific deviations from Master
80
80
 
81
81
  **How hierarchical retrieval works:**
82
- 1. When building a specific page (e.g., "Checkout"), first check `design-system/pages/checkout.md`
82
+ 1. When building a specific page (e.g., "Checkout"), first check `design-system/<project-slug>/pages/checkout.md`
83
83
  2. If the page file exists, its rules **override** the Master file
84
- 3. If not, use `design-system/MASTER.md` exclusively
84
+ 3. If not, use `design-system/<project-slug>/MASTER.md` exclusively
85
85
 
86
86
  ### Step 3: Supplement with Detailed Searches (as needed)
87
87
 
88
88
  After getting the design system, use domain searches to get additional details:
89
89
 
90
90
  ```bash
91
- python3 skills/ui-ux-pro-max/scripts/search.py "<keyword>" --domain <domain> [-n <max_results>]
91
+ python3 scripts/search.py "<keyword>" --domain <domain> [-n <max_results>]
92
92
  ```
93
93
 
94
94
  **When to use detailed searches:**
@@ -103,10 +103,10 @@ python3 skills/ui-ux-pro-max/scripts/search.py "<keyword>" --domain <domain> [-n
103
103
 
104
104
  ### Step 4: Stack Guidelines (Default: html-tailwind)
105
105
 
106
- Get implementation-specific best practices. If user doesn't specify a stack, **default to `html-tailwind`**.
106
+ Get implementation-specific best practices for the stack detected in the project. Ask if the stack matters and cannot be inferred.
107
107
 
108
108
  ```bash
109
- python3 skills/ui-ux-pro-max/scripts/search.py "<keyword>" --stack html-tailwind
109
+ python3 scripts/search.py "<keyword>" --stack html-tailwind
110
110
  ```
111
111
 
112
112
  Available stacks: `html-tailwind`, `react`, `nextjs`, `vue`, `svelte`, `swiftui`, `react-native`, `flutter`, `shadcn`, `jetpack-compose`
@@ -124,7 +124,7 @@ Available stacks: `html-tailwind`, `react`, `nextjs`, `vue`, `svelte`, `swiftui`
124
124
  ### Step 2: Generate Design System (REQUIRED)
125
125
 
126
126
  ```bash
127
- python3 skills/ui-ux-pro-max/scripts/search.py "beauty spa wellness service elegant" --design-system -p "Serenity Spa"
127
+ python3 scripts/search.py "beauty spa wellness service elegant" --design-system -p "Serenity Spa"
128
128
  ```
129
129
 
130
130
  **Output:** Complete design system with pattern, style, colors, typography, effects, and anti-patterns.
@@ -133,16 +133,16 @@ python3 skills/ui-ux-pro-max/scripts/search.py "beauty spa wellness service eleg
133
133
 
134
134
  ```bash
135
135
  # Get UX guidelines for animation and accessibility
136
- python3 skills/ui-ux-pro-max/scripts/search.py "animation accessibility" --domain ux
136
+ python3 scripts/search.py "animation accessibility" --domain ux
137
137
 
138
138
  # Get alternative typography options if needed
139
- python3 skills/ui-ux-pro-max/scripts/search.py "elegant luxury serif" --domain typography
139
+ python3 scripts/search.py "elegant luxury serif" --domain typography
140
140
  ```
141
141
 
142
142
  ### Step 4: Stack Guidelines
143
143
 
144
144
  ```bash
145
- python3 skills/ui-ux-pro-max/scripts/search.py "layout responsive form" --stack html-tailwind
145
+ python3 scripts/search.py "layout responsive form" --stack html-tailwind
146
146
  ```
147
147
 
148
148
  **Then:** Synthesize design system + detailed searches and implement the design.
@@ -71,9 +71,15 @@ if __name__ == "__main__":
71
71
 
72
72
  args = parser.parse_args()
73
73
 
74
- # Design system takes priority
75
- if args.design_system:
76
- result = generate_design_system(
74
+ # Design system takes priority
75
+ if args.design_system:
76
+ if args.stack:
77
+ print(
78
+ "Warning: --stack is ignored in --design-system mode. "
79
+ "Run a separate --stack query for implementation guidance.",
80
+ file=sys.stderr,
81
+ )
82
+ result = generate_design_system(
77
83
  args.query,
78
84
  args.project_name,
79
85
  args.format,
@@ -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
+ **Skill ≠ subagente nativo:** o campo `agent:` do registry identifica uma skill de persona. Invoque-a via `Skill` (ex.: `Skill(skill="wizz-growth", args="<brief>")`), nunca como `Agent(subagent_type="wizz-growth")`. Para execução isolada, use somente um tipo anunciado pelo runtime, como `wizz-exec-sonnet`, com a skill de área e o brief no prompt. Sem executor disponível, use a skill na sessão atual; sem a skill, informe a instalação faltante. Não invente tipos de agente.
28
+
27
29
  **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
30
 
29
31
  Descubra o contexto: **existe `{project-root}/_wizz/`?**
@@ -52,7 +52,7 @@ Use esta tabela pra mapear skills/CLIs/MCPs direto **fora de projeto Wizz** (sem
52
52
  | Gerar vídeo-ad/imagem por IA (Sora/Veo/Kling) + publicar Meta | CLI `arcads` (registry `ads`; git clone + Arcads API key) | 1 |
53
53
  | Analisar/entender vídeo existente (frames + transcrição) | CLI `claude-video` (registry designer; `npx skills add bradautomates/claude-video`) | 2 |
54
54
  | Narração / voz / TTS / clonagem de voz para vídeo | CLI `voicebox` (registry designer; app local com endpoint MCP) | 2 |
55
- | Componentes prontos via Magic (21st.dev) | Use diretamente: `mcp__magic__21st_magic_component_inspiration` / `mcp__magic__21st_magic_component_builder` | 1 |
55
+ | Pesquisar componentes compatíveis com o projeto | `ui-component-curator` (demos, código e registries públicos com evidências) | 1 |
56
56
 
57
57
  ## Área de Marketing / Growth
58
58
 
@@ -97,6 +97,6 @@ Quando nenhuma skill/MCP instalado cobrir o pedido, **classifique o que falta**
97
97
 
98
98
  **Falta um MCP:** informe → `claude mcp list` → consulte `skills-registry.yaml` (`mcps:`/`mcp_utility:`, com `server` pronto) → proponha `claude mcp add <id> [-e VAR=$VAR] -- <command> [args]`. Secrets sempre via env/placeholder, nunca token real.
99
99
 
100
- MCPs comuns: context7 (docs de libs), magic/21st (UI), supabase (Postgres), meta-ads (Meta), exa (pesquisa). Browser/E2E é sempre via CLI `agent-browser`, nunca via MCP Playwright.
100
+ MCPs comuns: context7 (docs de libs), supabase (Postgres), meta-ads (Meta), exa (pesquisa). Browser/E2E é sempre via CLI `agent-browser`, nunca via MCP Playwright.
101
101
 
102
102
  Para paid ads Meta, o MCP `mcp-meta-ads` dá acesso real à API Meta Marketing (campanhas, ad sets, ads, métricas, criativos). Combine com `paid-ads` + `ad-creative` + `analytics-tracking`. O `META_ACCESS_TOKEN` vem de env local: nunca exponha em logs ou código commitado.