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.
- package/package.json +1 -1
- package/skills-registry.yaml +2 -16
- package/src/core-skills/_shared/handoff-protocol.md +10 -7
- package/src/modules/wizz/README.md +1 -1
- package/src/modules/wizz/_shared/model-ladder.md +19 -5
- package/src/modules/wizz/_shared/token-economy.md +3 -3
- package/src/modules/wizz/agents/wizz-ads/customize.toml +1 -1
- package/src/modules/wizz/agents/wizz-copy/customize.toml +1 -1
- package/src/modules/wizz/agents/wizz-designer/SKILL.md +2 -0
- package/src/modules/wizz/agents/wizz-designer/customize.toml +1 -1
- package/src/modules/wizz/agents/wizz-growth/SKILL.md +2 -0
- package/src/modules/wizz/agents/wizz-growth/customize.toml +1 -1
- package/src/modules/wizz/agents/wizz-maestro/SKILL.md +6 -2
- package/src/modules/wizz/agents/wizz-maestro/customize.toml +1 -1
- package/src/modules/wizz/agents/wizz-memoria/customize.toml +1 -1
- package/src/modules/wizz/agents/wizz-qa/customize.toml +1 -1
- package/src/modules/wizz/agents/wizz-seo/customize.toml +1 -1
- package/src/modules/wizz/agents/wizz-social/customize.toml +1 -1
- package/src/modules/wizz/overrides/wizz-agent-analyst.toml +1 -1
- package/src/modules/wizz/overrides/wizz-agent-architect.toml +1 -1
- package/src/modules/wizz/overrides/wizz-agent-dev.toml +1 -1
- package/src/modules/wizz/overrides/wizz-agent-pm.toml +1 -1
- package/src/modules/wizz/overrides/wizz-agent-tech-writer.toml +1 -1
- package/src/modules/wizz/overrides/wizz-agent-ux-designer.toml +1 -1
- package/src/modules/wizz/subagents/codex/wizz-exec-opus.toml +1 -1
- package/src/modules/wizz/subagents/codex/wizz-exec-review.toml +3 -2
- package/src/modules/wizz/subagents/gemini/wizz-exec-opus.md +1 -1
- package/src/modules/wizz/subagents/gemini/wizz-exec-review.md +2 -1
- package/src/modules/wizz/subagents/opencode/wizz-exec-opus.md +1 -1
- package/src/modules/wizz/subagents/opencode/wizz-exec-review.md +2 -1
- package/src/modules/wizz/subagents/wizz-exec-opus.md +1 -1
- package/src/modules/wizz/subagents/wizz-exec-review.md +2 -2
- package/src/skills-lib/find-skills/SKILL.md +0 -1
- package/src/skills-lib/impeccable/SKILL.md +20 -25
- package/src/skills-lib/impeccable/references/command-workflows.md +35 -0
- package/src/skills-lib/impeccable/references/design-rules.md +1 -1
- package/src/skills-lib/impeccable/references/pin-unpin-and-hooks.md +4 -14
- package/src/skills-lib/impeccable/references/routing-rules.md +8 -25
- package/src/skills-lib/premium-landing-ui-researcher/SKILL.md +6 -6
- package/src/skills-lib/premium-landing-ui-researcher/references/component-sources.md +12 -81
- package/src/skills-lib/premium-landing-ui-researcher/references/core-goal.md +2 -4
- package/src/skills-lib/premium-landing-ui-researcher/references/mandatory-process.md +6 -7
- package/src/skills-lib/premium-landing-ui-researcher/references/output-format-and-quality.md +3 -4
- package/src/skills-lib/premium-landing-ui-researcher/references/source-first-protocol.md +43 -124
- package/src/skills-lib/premium-landing-ui-researcher/references/source-links.md +0 -8
- package/src/skills-lib/ui-component-curator/SKILL.md +13 -7
- package/src/skills-lib/ui-ux-pro-max/SKILL.md +18 -3
- package/src/skills-lib/ui-ux-pro-max/references/search-reference.md +3 -3
- package/src/skills-lib/ui-ux-pro-max/references/workflow-guide.md +20 -20
- package/src/skills-lib/ui-ux-pro-max/scripts/__pycache__/core.cpython-314.pyc +0 -0
- package/src/skills-lib/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
- package/src/skills-lib/ui-ux-pro-max/scripts/search.py +9 -3
- package/src/skills-lib/wizz-router/SKILL.md +2 -0
- package/src/skills-lib/wizz-router/references/routing-table-flat.md +2 -2
|
@@ -1,146 +1,65 @@
|
|
|
1
|
-
|
|
1
|
+
# Source-First Protocol
|
|
2
2
|
|
|
3
|
-
|
|
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
|
-
|
|
5
|
+
## Fase 1: Inventário do projeto
|
|
6
6
|
|
|
7
|
-
|
|
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
|
-
|
|
11
|
+
Registre paths reais dos recursos encontrados. Se não houver modelos locais, prossiga com fontes públicas.
|
|
10
12
|
|
|
11
|
-
|
|
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
|
-
|
|
15
|
+
Escolha fontes pelo efeito necessário, usando [component-sources](component-sources.md) e [source-links](source-links.md):
|
|
19
16
|
|
|
20
|
-
|
|
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
|
-
|
|
27
|
+
Para cada componente não trivial:
|
|
23
28
|
|
|
24
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
37
|
+
## Fase 3: Cache e obtenção do código
|
|
29
38
|
|
|
30
|
-
|
|
39
|
+
Cache existente de design (por exemplo `~/.claude/design-sources/`) pode ser inspecionado. Não o trate como atualizado só por existir:
|
|
31
40
|
|
|
32
|
-
|
|
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
|
-
|
|
47
|
+
Sem rede, use as referências locais e declare a revisão conhecida e a limitação de atualização.
|
|
35
48
|
|
|
36
|
-
|
|
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
|
-
|
|
51
|
+
Registre no artefato de design existente (ou crie `design-research.md` na pasta de planejamento do projeto):
|
|
41
52
|
|
|
42
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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:**
|
|
12
|
+
**Golden rule:** Inspect the project → search real sources → document evidence → plan → 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
|
|
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.
|
|
59
|
+
## 5. Present evidence and proceed within scope
|
|
54
60
|
|
|
55
|
-
|
|
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
|
-
##
|
|
102
|
-
|
|
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
|
-
|
|
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
|
|
36
|
+
python3 scripts/search.py "<product_type> <industry> <keywords>" --design-system [-p "Project Name"]
|
|
24
37
|
```
|
|
25
38
|
|
|
26
|
-
|
|
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 (
|
|
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
|
|
41
|
+
python3 scripts/search.py "fintech crypto" --design-system
|
|
42
42
|
|
|
43
43
|
# Markdown - best for documentation
|
|
44
|
-
python3
|
|
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**:
|
|
40
|
+
- **Stack**: infer from project dependencies. If unknown and needed, ask.
|
|
41
41
|
|
|
42
|
-
### Step 2:
|
|
42
|
+
### Step 2: Choose the search mode
|
|
43
43
|
|
|
44
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
71
|
-
- `design-system
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
136
|
+
python3 scripts/search.py "animation accessibility" --domain ux
|
|
137
137
|
|
|
138
138
|
# Get alternative typography options if needed
|
|
139
|
-
python3
|
|
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
|
|
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.
|
|
Binary file
|
|
@@ -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
|
-
|
|
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
|
-
|
|
|
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),
|
|
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.
|