wizz-method 2.6.0 → 2.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -1
- package/skills-registry.yaml +306 -26
- package/src/bmm-skills/4-implementation/wizz-quick-dev/SKILL.md +1 -0
- package/src/modules/wizz/_shared/rel-protocol.md +17 -0
- package/src/modules/wizz/_shared/video-pipeline.md +30 -5
- package/src/modules/wizz/agents/wizz-ads/SKILL.md +1 -1
- package/src/modules/wizz/agents/wizz-copy/SKILL.md +1 -1
- package/src/modules/wizz/agents/wizz-designer/SKILL.md +1 -1
- package/src/modules/wizz/agents/wizz-growth/SKILL.md +1 -1
- package/src/modules/wizz/agents/wizz-maestro/SKILL.md +14 -1
- package/src/modules/wizz/agents/wizz-memoria/SKILL.md +1 -1
- package/src/modules/wizz/agents/wizz-qa/SKILL.md +1 -1
- package/src/modules/wizz/agents/wizz-seo/SKILL.md +1 -1
- package/src/modules/wizz/agents/wizz-social/SKILL.md +6 -3
- package/src/modules/wizz/agents/wizz-social/customize.toml +2 -2
- package/src/modules/wizz/module.yaml +1 -1
- package/src/skills-lib/_shared/complexity-signal.md +35 -12
- package/src/skills-lib/wizz-router/SKILL.md +22 -0
- package/src/skills-lib/wizz-router/references/routing-table-flat.md +14 -1
- package/tools/hooks/wizz-router-enforce.js +3 -2
- package/tools/installer/modules/skills-lib.js +27 -2
package/skills-registry.yaml
CHANGED
|
@@ -88,57 +88,89 @@ areas:
|
|
|
88
88
|
door: direcao
|
|
89
89
|
when: "PORTA de direção: todo trabalho de decidir ANTES de construir. Brief visual inicial (6 decisões de estética + 3 lógicas) no kickoff. Puxa: wizz-taste-skill (direção anti-slop de brief novo) e wizz-motion-3d-director (decidir caminho motion/3D/vídeo)."
|
|
90
90
|
rel:
|
|
91
|
-
|
|
91
|
+
before: [wizz-ui-ux-pro-max]
|
|
92
|
+
pairs_with: [wizz-motion-3d-director, wizz-taste-skill]
|
|
92
93
|
- id: wizz-taste-skill
|
|
93
94
|
door: direcao
|
|
94
95
|
when: "Anti-slop em briefs NOVOS: lê o brief, define a direção e audita contra defaults de AI. Também cobre projeto EXISTENTE: audita o código atual, lista problemas, prioriza fixes (protocolo de redesign)."
|
|
96
|
+
rel:
|
|
97
|
+
pairs_with: [apple-design, wizz-decision-maker]
|
|
95
98
|
- id: wizz-motion-3d-director
|
|
96
99
|
door: direcao
|
|
97
100
|
when: "Direção de motion/animação, 3D, WebGL, scroll cinematográfico, image-to-video. Decide o caminho ANTES de implementar."
|
|
101
|
+
rel:
|
|
102
|
+
before: [wizz-remotion-best-practices]
|
|
103
|
+
pairs_with: [wizz-decision-maker]
|
|
98
104
|
|
|
99
105
|
# ── Porta 2: CONSTRUÇÃO E POLISH DE UI ──
|
|
100
106
|
- id: wizz-ui-ux-pro-max
|
|
101
107
|
entry: true
|
|
102
108
|
door: construcao
|
|
103
109
|
when: "PORTA de construção: criar/melhorar UI (design system, paleta, tipografia, componente, página). Puxa: wizz-premium-landing-ui-researcher (landing premium greenfield), wizz-ui-component-curator (1 componente em projeto existente), wizz-impeccable (gate de polish/acessibilidade), wizz-taste-skill (anti-slop em código existente, protocolo de redesign), wizz-huashu-design (protótipo HTML hi-fi/variantes/review) e wizz-react-components (Stitch→React)."
|
|
110
|
+
rel:
|
|
111
|
+
after: [wizz-decision-maker]
|
|
112
|
+
before: [wizz-impeccable]
|
|
113
|
+
pairs_with: [wizz-huashu-design, wizz-premium-landing-ui-researcher, wizz-ui-component-curator]
|
|
104
114
|
- id: wizz-premium-landing-ui-researcher
|
|
105
115
|
door: construcao
|
|
106
116
|
when: "Projeto NOVO (greenfield): cria landing premium do zero, hero, 3D high-end. Estratégia source-first."
|
|
117
|
+
rel:
|
|
118
|
+
pairs_with: [wizz-ui-ux-pro-max]
|
|
107
119
|
- id: wizz-ui-component-curator
|
|
108
120
|
door: construcao
|
|
109
121
|
when: "Projeto EXISTENTE: qual componente/efeito adicionar que combina com o estilo atual."
|
|
122
|
+
rel:
|
|
123
|
+
pairs_with: [wizz-ui-ux-pro-max]
|
|
110
124
|
- id: wizz-impeccable
|
|
111
125
|
door: construcao
|
|
112
126
|
when: "Gate de polish/qualidade de frontend: hardening de UI, acessibilidade, anti-padrões. Refina o que já existe."
|
|
127
|
+
rel:
|
|
128
|
+
after: [wizz-ui-ux-pro-max]
|
|
113
129
|
- id: wizz-huashu-design
|
|
114
130
|
door: construcao
|
|
115
131
|
when: "Direção visual + protótipo HTML hi-fi, exploração de variantes, review 5-dim, export MP4/GIF."
|
|
132
|
+
rel:
|
|
133
|
+
before: [wizz-react-components]
|
|
134
|
+
pairs_with: [wizz-ui-ux-pro-max]
|
|
116
135
|
- id: wizz-react-components
|
|
117
136
|
door: construcao
|
|
118
137
|
when: "Converter design (Stitch MCP) em componentes React/Vite."
|
|
138
|
+
rel:
|
|
139
|
+
after: [wizz-huashu-design]
|
|
119
140
|
|
|
120
141
|
# ── Porta 3: MOTION E ASSETS (executar animação e gerar mídia) ──
|
|
121
142
|
- id: wizz-animate
|
|
122
143
|
entry: true
|
|
123
144
|
door: motion
|
|
124
145
|
when: "PORTA de motion/assets: executar animação e gerar mídia. Craft de micro-interação (regras do Emil Kowalski: saída > entrada, só transform/opacity, reduced-motion). Puxa: wizz-design-motion-principles (auditar animação existente), wizz-remotion-best-practices (vídeo em React), wizz-canvas-design (PNG/PDF por código) e wizz-algorithmic-art (visual generativo)."
|
|
146
|
+
rel:
|
|
147
|
+
pairs_with: [wizz-design-motion-principles]
|
|
125
148
|
- id: wizz-design-motion-principles
|
|
126
149
|
door: motion
|
|
127
150
|
when: "Auditor de movimento: revisa animação existente e aponta scale(0) no início, easing cru, reduced-motion faltando; pesa contenção/polimento/diversão pelo contexto."
|
|
151
|
+
rel:
|
|
152
|
+
pairs_with: [wizz-animate]
|
|
128
153
|
- id: wizz-remotion-best-practices
|
|
129
154
|
door: motion
|
|
130
155
|
when: "MONTAR o filme: vídeo em React (Remotion) com áudio, SFX, legenda e timing com precisão de frame. No pipeline de vídeo é o Remotion que faz a montagem final; o hyperframes só desenha as telas mudas (regra: HyperFrames desenha, Remotion monta — ver _shared/video-pipeline.md do módulo wizz)."
|
|
131
156
|
rel:
|
|
132
|
-
after: [hyperframes]
|
|
157
|
+
after: [buttercut, ctc-align, get-brolls, hyperframes, wizz-motion-3d-director]
|
|
133
158
|
- id: wizz-canvas-design
|
|
134
159
|
door: motion
|
|
135
160
|
when: "Gerar PNG/PDF editável por código (carrossel, quote card, infográfico) com fonte/cor/logo sempre certos. Traz canvas-fonts."
|
|
161
|
+
rel:
|
|
162
|
+
pairs_with: [wizz-algorithmic-art, wizz-social-content]
|
|
136
163
|
- id: wizz-algorithmic-art
|
|
137
164
|
door: motion
|
|
138
165
|
when: "Visual generativo por código (flow fields, ruído, partículas) para fundo/textura de hero, único a cada render, sem cara de banco de imagem."
|
|
166
|
+
rel:
|
|
167
|
+
pairs_with: [wizz-canvas-design]
|
|
139
168
|
- id: ctc-align
|
|
140
169
|
door: motion
|
|
141
170
|
when: "Timing por forced alignment: timestamps palavra a palavra de narração TTS para sincronizar legenda, corte de cena e animação com a fala. Fonte única de timing no pipeline de vídeo; substitui Whisper e estimativa manual."
|
|
171
|
+
rel:
|
|
172
|
+
after: [voicebox]
|
|
173
|
+
before: [wizz-remotion-best-practices]
|
|
142
174
|
clis:
|
|
143
175
|
- id: hyperframes
|
|
144
176
|
when: "DESENHAR telas de vídeo em HTML/CSS (HTML→MP4, agent-native, 20+ skills): cena isolada e MUDA — maqueta de WhatsApp/ChatGPT, gráfico animado, título, loop. NÃO usar para montagem com áudio/SFX/legenda sincronizada (posicionador de áudio falhou em produção, ~2,76s de drift; CSS vaza entre telas): a montagem final é do Remotion (regra: HyperFrames desenha, Remotion monta — ver _shared/video-pipeline.md do módulo wizz). Precisa ffmpeg + Node 22 + Chrome headless."
|
|
@@ -157,6 +189,8 @@ areas:
|
|
|
157
189
|
install: 'd="$(mktemp -d)" && git clone https://github.com/heygen-com/hyperframes.git "$d" && git -C "$d" checkout 59a69a145bfbd0f10dee72246b68ee5d9bd71063 && npx skills add "$d" -g -y --copy && printf "%s\\n" 59a69a145bfbd0f10dee72246b68ee5d9bd71063 > "$HOME/.claude/skills/hyperframes/.wizz-pin" && rm -rf "$d" && rm -rf "$HOME/.claude/skills/remotion-to-hyperframes"'
|
|
158
190
|
- id: claude-video
|
|
159
191
|
when: "Analisar/entender vídeo EXISTENTE: baixa, extrai frames e transcreve para resumir, achar momentos ou diagnosticar footage. NÃO cria vídeo. Precisa ffmpeg + yt-dlp (+ Groq/OpenAI p/ transcrição sem legenda)."
|
|
192
|
+
rel:
|
|
193
|
+
pairs_with: [get-brolls]
|
|
160
194
|
platform: [darwin, linux]
|
|
161
195
|
# O check confere o SHA fixado, não só a existência da pasta: o bundle é
|
|
162
196
|
# copiado (não clonado), então o pin é gravado num marcador no install.
|
|
@@ -164,8 +198,49 @@ areas:
|
|
|
164
198
|
# Pin de supply chain (2026-08-23): clone temporário + checkout do SHA
|
|
165
199
|
# + `skills add` local. Atualizar conscientemente.
|
|
166
200
|
install: 'd="$(mktemp -d)" && git clone https://github.com/bradautomates/claude-video.git "$d" && git -C "$d" checkout 83da59fa78c3eee9e20f515fe75c438bb5166efd && npx skills add "$d" -g -y --copy && printf "%s\\n" 83da59fa78c3eee9e20f515fe75c438bb5166efd > "$HOME/.claude/skills/watch/.wizz-pin" && rm -rf "$d"'
|
|
201
|
+
- id: get-brolls
|
|
202
|
+
# Versão que o SKILL.md do upstream declara no SHA pinado abaixo. A
|
|
203
|
+
# última tag publicada lá é a v2.3.7; o 2.3.8 só existe como HEAD.
|
|
204
|
+
metadata:
|
|
205
|
+
version: "2.3.8"
|
|
206
|
+
when: "CAPTAR B-roll/insert — em português: 'imagens de apoio', 'cenas de apoio', 'imagem de corte' para Reel, TikTok ou vídeo: acha a fonte LITERAL do que a narração cita (o fato, a pessoa, o produto, a notícia, a tela) em YouTube (yt-dlp, sem API key), Instagram/TikTok (navegador/Playwright, sessão do usuário), Pexels/Pixabay/Wikimedia Commons/NASA ou arquivo local; gera prévia (poster, contact sheet numerado, GIF), monta um Storyboard HTML para REVISÃO HUMANA e entrega o corte com origem/autor/condições de uso registrados. Etapa de CAPTAÇÃO do pipeline de vídeo: enche a timeline de material real antes do corte fino e da montagem. Stock só quando o usuário pedir stock explicitamente — nunca como preenchimento de um beat sem fonte literal."
|
|
207
|
+
not_when:
|
|
208
|
+
- "Analisar/resumir um vídeo que já se tem em mãos: é claude-video."
|
|
209
|
+
- "Cortar/montar footage já captado: é buttercut (corte fino) ou wizz-remotion-best-practices (montagem final)."
|
|
210
|
+
- "Gerar imagem/vídeo por IA: é fal-video. O get-brolls busca material REAL, não sintético."
|
|
211
|
+
- "Desenhar uma tela/cena em HTML: é hyperframes."
|
|
212
|
+
- "Minerar/estudar criativo ou oferta de concorrente (Biblioteca de Anúncios, 'baixa esse anúncio pra eu ver'): é wizz-lowticket-minerador na área ads. O get-brolls capta insert para a SUA edição, com procedência registrada — não é ferramenta de inteligência competitiva, e o fato de saber baixar um Reel não o torna uma."
|
|
213
|
+
rel:
|
|
214
|
+
after: [wizz-social-content]
|
|
215
|
+
before: [buttercut, wizz-remotion-best-practices]
|
|
216
|
+
pairs_with: [claude-video]
|
|
217
|
+
# macOS apenas: o upstream declara macOS/Windows (Linux não é testado lá)
|
|
218
|
+
# e o `install` daqui é POSIX. Windows fica fora porque o installer do
|
|
219
|
+
# Wizz não roda nele — quem estiver no Windows segue o README do upstream.
|
|
220
|
+
platform: [darwin]
|
|
221
|
+
# O check confere o SHA fixado, não só a existência da pasta: o bundle é
|
|
222
|
+
# copiado (não clonado), então o pin é gravado num marcador no install.
|
|
223
|
+
check: 'grep -qx 3d2313b0b856594617371697875ccfd59861c693 "$HOME/.claude/skills/get-brolls/.wizz-pin" 2>/dev/null'
|
|
224
|
+
# Pin de supply chain (2026-09-17): clone temporário + checkout do SHA
|
|
225
|
+
# + `skills add` global + o `install.sh` do próprio upstream (cria .venv
|
|
226
|
+
# e .tools DENTRO da skill: yt-dlp fixado, EJS e Playwright CLI). O
|
|
227
|
+
# upstream documenta 2.3.8 mas a última tag publicada é v2.3.7, então o
|
|
228
|
+
# pin é o SHA do HEAD de 2026-09-17 (mesmo caso do apple-design).
|
|
229
|
+
# Atualizar conscientemente. O install.sh aborta sozinho se faltar
|
|
230
|
+
# python3/ffmpeg/node 22+; sem pin gravado, o installer volta a oferecer.
|
|
231
|
+
# Escopo GLOBAL (-g) de propósito: a skill guarda .venv/.tools/.env na
|
|
232
|
+
# própria raiz e recebe o projeto por `--project`, então é instalar uma
|
|
233
|
+
# vez e usar em todos — igual hyperframes e claude-video.
|
|
234
|
+
install: 'd="$(mktemp -d)" && git clone https://github.com/engenheirodevideo/get-brolls.git "$d" && git -C "$d" checkout 3d2313b0b856594617371697875ccfd59861c693 && npx skills add "$d" -g -y --copy && bash "$HOME/.claude/skills/get-brolls/scripts/install.sh" && printf "%s\\n" 3d2313b0b856594617371697875ccfd59861c693 > "$HOME/.claude/skills/get-brolls/.wizz-pin" && rm -rf "$d"'
|
|
235
|
+
# Sem drawtext (libfreetype) o contact sheet sai sem número e timecode e
|
|
236
|
+
# o Storyboard degrada EM SILÊNCIO — por isso o probe olha o filtro, não
|
|
237
|
+
# só o binário do ffmpeg. A venv prova que o install.sh chegou ao fim.
|
|
238
|
+
verify: 'command -v ffmpeg >/dev/null 2>&1 && ffmpeg -hide_banner -filters 2>/dev/null | grep -q " drawtext " && test -x "$HOME/.claude/skills/get-brolls/.venv/bin/python"'
|
|
167
239
|
- id: buttercut
|
|
168
240
|
when: "EDITAR vídeo por IA: cortes, selects, cenas, roughcut via XML/FFmpeg. Sugerir quando o pedido for editar/cortar vídeo. Clone-and-run no PROJETO (não é skill add), pesado: Ruby + Python + FFmpeg + WhisperX. AVISOS: ~GB de modelos (WhisperX), build demorado, só Apple Silicon."
|
|
241
|
+
rel:
|
|
242
|
+
after: [get-brolls]
|
|
243
|
+
before: [wizz-remotion-best-practices]
|
|
169
244
|
platform: darwin-arm64
|
|
170
245
|
# Clone-and-run: o próprio repo responde o SHA, então o check compara com o
|
|
171
246
|
# pin. O install repara um clone existente em vez de falhar no git clone.
|
|
@@ -175,6 +250,8 @@ areas:
|
|
|
175
250
|
verify: "command -v ffmpeg >/dev/null 2>&1 && command -v ruby >/dev/null 2>&1 && command -v python3 >/dev/null 2>&1"
|
|
176
251
|
- id: voicebox
|
|
177
252
|
when: "Voz/TTS/clonagem de voz local para narração/VO de vídeo (7 engines TTS + Whisper STT). App desktop que expõe endpoint MCP local em runtime. Clone-and-run no projeto."
|
|
253
|
+
rel:
|
|
254
|
+
before: [ctc-align]
|
|
178
255
|
platform: [darwin, linux]
|
|
179
256
|
# Clone-and-run: o próprio repo responde o SHA, então o check compara com o
|
|
180
257
|
# pin. O install repara um clone existente em vez de falhar no git clone.
|
|
@@ -183,12 +260,17 @@ areas:
|
|
|
183
260
|
install: "{ [ -d voicebox/.git ] || git clone https://github.com/jamiepine/voicebox.git voicebox; } && git -C voicebox fetch --tags origin && git -C voicebox checkout 2bcb98d1a8b6fe05e15fbc1559e3085669e4035d"
|
|
184
261
|
- id: ctc-align
|
|
185
262
|
when: "Timestamps palavra a palavra CONFIÁVEIS de narração TTS (texto conhecido): sincronizar legenda, corte de cena, animação e elemento gráfico com a fala. Fonte única de timing em vídeo — substitui timestamps do Whisper e estimativa manual. Skill da lib: ctc-align (instalação + helper align.py + regras de âncora monotônica e duração mínima). Roda em CPU, sem CUDA."
|
|
263
|
+
rel:
|
|
264
|
+
after: [voicebox]
|
|
265
|
+
before: [wizz-remotion-best-practices]
|
|
186
266
|
platform: [darwin, linux]
|
|
187
267
|
check: "test -x ./tools/ctc-align/.venv/bin/ctc-forced-aligner"
|
|
188
268
|
install: 'mkdir -p tools/ctc-align && uv venv --python 3.12 tools/ctc-align/.venv && uv pip install --python tools/ctc-align/.venv/bin/python "git+https://github.com/MahmoudAshraf97/ctc-forced-aligner.git"'
|
|
189
269
|
verify: "command -v ffmpeg >/dev/null 2>&1 && command -v uv >/dev/null 2>&1"
|
|
190
270
|
- id: fal-video
|
|
191
271
|
when: "GERAR vídeo/imagem por IA (Veo/Kling/Wan e outros modelos via API da fal.ai), estilo UGC/ad-ready. Substitui o arcads: mesmo caso de uso (vídeo gerado por IA), custo 50-95% menor por vídeo, sem clone-and-run pesado. Precisa FAL_KEY em .env. Sem CLI binária oficial: usa o client Node oficial @fal-ai/client como dependência do projeto."
|
|
272
|
+
rel:
|
|
273
|
+
pairs_with: [wizz-ad-creative]
|
|
192
274
|
platform: [darwin, linux]
|
|
193
275
|
check: "test -f node_modules/@fal-ai/client/package.json"
|
|
194
276
|
# Pin de supply chain (2026-08-25): versão fixa (client oficial fal.ai); atualizar conscientemente.
|
|
@@ -197,7 +279,7 @@ areas:
|
|
|
197
279
|
when: "Revisar/auditar UI NATIVA (iOS/macOS: SwiftUI, Flutter, React Native, Tauri, Electron) contra o Apple HIG e o Liquid Glass — compliance com o HIG, acessibilidade, dark mode, navegação. Cobre o gap que o wizz-taste-skill declara fora de escopo ('native mobile: use Apple HIG directly')."
|
|
198
280
|
not_when: "UI web: aí é wizz-ui-ux-pro-max / wizz-impeccable."
|
|
199
281
|
rel:
|
|
200
|
-
pairs_with: [wizz-taste-skill]
|
|
282
|
+
pairs_with: [wizz-desktop-security, wizz-taste-skill]
|
|
201
283
|
platform: [darwin, linux]
|
|
202
284
|
# Upstream sem licença declarada e reproduz texto do Apple HIG (122
|
|
203
285
|
# páginas): o Wizz só instala a partir do upstream, no opt-in do
|
|
@@ -213,28 +295,48 @@ areas:
|
|
|
213
295
|
agent: wizz-copy
|
|
214
296
|
summary: "Copywriting: texto de venda, headlines, páginas, e-mails, sequências."
|
|
215
297
|
skills:
|
|
216
|
-
# Módulo lowticket
|
|
217
|
-
#
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
module: lowticket
|
|
223
|
-
when: "Copy de low ticket BR/PT (página, VSL, roteiro de criativo, headline): ler o shard antes de escrever. 12c página, 18 copy, 04b §4.7-A VSL (9 vendas), 04c roteiro de criativo. O shard vence a skill genérica."
|
|
224
|
-
not_when:
|
|
225
|
-
- "SaaS, B2B, site de cliente, high ticket ou mentoria: os números não transferem."
|
|
298
|
+
# Módulo lowticket: as skills dele moram SÓ na área growth desde
|
|
299
|
+
# 2026-09-18 (decisão do dono: um dono por skill). A copy chega nelas
|
|
300
|
+
# pelo `rel` de wizz-copywriting — que é o caminho que o método usa pra
|
|
301
|
+
# tudo mais. Antes a mesma skill existia em copy, growth e ads, e o
|
|
302
|
+
# eval mostrava o custo: "qual prazo de garantia?" respondia copy,
|
|
303
|
+
# growth ou ads em amostras diferentes, porque as três estavam certas.
|
|
226
304
|
- id: wizz-copywriting
|
|
227
305
|
when: "Escrever copy de venda/página/headline do zero ou reescrever."
|
|
306
|
+
rel:
|
|
307
|
+
after: [pesquisa-de-publico-do-piva, wizz-offer-forge]
|
|
308
|
+
before: [wizz-copy-editing]
|
|
309
|
+
pairs_with:
|
|
310
|
+
[
|
|
311
|
+
wizz-ad-creative,
|
|
312
|
+
wizz-cold-email,
|
|
313
|
+
wizz-email-sequence,
|
|
314
|
+
wizz-humanizer,
|
|
315
|
+
wizz-lowticket-metodologia,
|
|
316
|
+
wizz-marketing-psychology,
|
|
317
|
+
wizz-page-cro,
|
|
318
|
+
]
|
|
228
319
|
- id: wizz-copy-editing
|
|
229
320
|
when: "Editar/melhorar copy existente (framework Seven Sweeps). Review editorial geral."
|
|
321
|
+
rel:
|
|
322
|
+
after: [wizz-copywriting]
|
|
323
|
+
pairs_with: [wizz-social-content]
|
|
230
324
|
- id: wizz-humanizer
|
|
231
325
|
when: "Texto soa AI: remover padrões de escrita de máquina, dar naturalidade."
|
|
326
|
+
rel:
|
|
327
|
+
pairs_with: [wizz-copywriting]
|
|
232
328
|
- id: wizz-email-sequence
|
|
233
329
|
when: "Sequências de e-mail (onboarding, nurture, lançamento)."
|
|
330
|
+
rel:
|
|
331
|
+
pairs_with: [wizz-copywriting, wizz-launch-strategy, wizz-referral-program]
|
|
234
332
|
- id: wizz-cold-email
|
|
235
333
|
when: "Cold email / outbound B2B / prospecção."
|
|
334
|
+
rel:
|
|
335
|
+
pairs_with: [wizz-copywriting]
|
|
236
336
|
- id: wizz-sales-enablement
|
|
237
337
|
when: "Material de vendas: deck, one-pager, objeções, demo script, playbook."
|
|
338
|
+
rel:
|
|
339
|
+
pairs_with: [wizz-competitor-alternatives]
|
|
238
340
|
|
|
239
341
|
seo:
|
|
240
342
|
agent: wizz-seo
|
|
@@ -242,17 +344,33 @@ areas:
|
|
|
242
344
|
skills:
|
|
243
345
|
- id: wizz-seo-audit
|
|
244
346
|
when: "Ponto de partida: auditar/diagnosticar SEO, queda de tráfego, ranking, core web vitals."
|
|
347
|
+
rel:
|
|
348
|
+
before: [distribb, wizz-ai-seo, wizz-programmatic-seo, wizz-schema-markup, wizz-site-architecture]
|
|
245
349
|
- id: wizz-ai-seo
|
|
246
350
|
when: "Otimizar pra ser citado por LLMs/AI search (AEO/GEO/LLMO, AI Overviews)."
|
|
351
|
+
rel:
|
|
352
|
+
after: [wizz-seo-audit]
|
|
353
|
+
pairs_with: [wizz-schema-markup]
|
|
247
354
|
- id: wizz-schema-markup
|
|
248
355
|
when: "Implementar dados estruturados / structured data."
|
|
356
|
+
rel:
|
|
357
|
+
after: [wizz-seo-audit]
|
|
358
|
+
pairs_with: [site-launch-kit, wizz-ai-seo]
|
|
249
359
|
- id: wizz-programmatic-seo
|
|
250
360
|
when: "Gerar páginas em escala pra atacar muitas keywords."
|
|
361
|
+
rel:
|
|
362
|
+
after: [wizz-seo-audit]
|
|
363
|
+
pairs_with: [wizz-free-tool-strategy, wizz-site-architecture]
|
|
251
364
|
- id: wizz-site-architecture
|
|
252
365
|
when: "Arquitetura de site / topic clusters / estrutura de URLs."
|
|
366
|
+
rel:
|
|
367
|
+
after: [wizz-seo-audit]
|
|
368
|
+
pairs_with: [wizz-programmatic-seo]
|
|
253
369
|
clis:
|
|
254
370
|
- id: distribb
|
|
255
371
|
when: "EXECUTAR distribuição de SEO: publicar artigos + construir backlinks pela rede da Distribb, conectar Google Search Console, autopublicar notícias. Complementa (não duplica) as skills de SEO que só geram/auditam. Requer Distribb API + GSC (+ DataForSEO/Ahrefs no plano free)."
|
|
372
|
+
rel:
|
|
373
|
+
after: [wizz-seo-audit]
|
|
256
374
|
platform: [darwin, linux]
|
|
257
375
|
# O check confere o SHA fixado, não só a existência da pasta: o bundle é
|
|
258
376
|
# copiado (não clonado), então o pin é gravado num marcador no install.
|
|
@@ -266,74 +384,141 @@ areas:
|
|
|
266
384
|
skills:
|
|
267
385
|
- id: wizz-marketing-ideas
|
|
268
386
|
when: "Travou / quer inspiração ampla de marketing. Ponto de partida quando não sabe o canal."
|
|
387
|
+
rel:
|
|
388
|
+
pairs_with: [wizz-marketing-psychology, wizz-product-marketing-context]
|
|
269
389
|
- id: wizz-marketing-psychology
|
|
270
390
|
when: "Aplicar gatilhos/vieses/modelos mentais à persuasão."
|
|
391
|
+
rel:
|
|
392
|
+
pairs_with: [wizz-copywriting, wizz-marketing-ideas]
|
|
271
393
|
- id: wizz-product-marketing-context
|
|
272
394
|
when: "Posicionamento de produto e contexto de marketing do produto."
|
|
395
|
+
rel:
|
|
396
|
+
pairs_with: [wizz-marketing-ideas]
|
|
273
397
|
- id: wizz-launch-strategy
|
|
274
398
|
when: "Lançar produto/feature: Product Hunt, GTM, waitlist, beta."
|
|
399
|
+
rel:
|
|
400
|
+
pairs_with: [wizz-email-sequence, wizz-social-content]
|
|
275
401
|
- id: wizz-pricing-strategy
|
|
276
402
|
when: "Preço, planos, freemium, packaging, willingness to pay."
|
|
403
|
+
rel:
|
|
404
|
+
pairs_with: [wizz-offer-forge, wizz-paywall-upgrade-cro]
|
|
277
405
|
- id: wizz-paywall-upgrade-cro
|
|
278
406
|
when: "Tela de upgrade in-app / paywall."
|
|
407
|
+
rel:
|
|
408
|
+
pairs_with: [wizz-pricing-strategy]
|
|
279
409
|
- id: wizz-churn-prevention
|
|
280
410
|
when: "Churn, retenção, cancelamento, NPS."
|
|
411
|
+
rel:
|
|
412
|
+
pairs_with: [wizz-revops]
|
|
281
413
|
- id: wizz-revops
|
|
282
414
|
when: "Operações de receita: pipeline, métricas, processo de revenue."
|
|
415
|
+
rel:
|
|
416
|
+
pairs_with: [wizz-churn-prevention]
|
|
283
417
|
- id: wizz-page-cro
|
|
284
418
|
when: "Otimizar conversão de página (home, landing, pricing, feature)."
|
|
419
|
+
rel:
|
|
420
|
+
after: [wizz-tracking-audit]
|
|
421
|
+
pairs_with: [wizz-copywriting, wizz-form-cro, wizz-popup-cro]
|
|
285
422
|
- id: wizz-form-cro
|
|
286
423
|
when: "Otimizar formulários (fora de signup)."
|
|
424
|
+
rel:
|
|
425
|
+
pairs_with: [wizz-page-cro]
|
|
287
426
|
- id: wizz-popup-cro
|
|
288
427
|
when: "Otimizar popups/modais."
|
|
428
|
+
rel:
|
|
429
|
+
pairs_with: [wizz-page-cro]
|
|
289
430
|
- id: wizz-onboarding-cro
|
|
290
431
|
when: "Ativação pós-signup / onboarding de usuário."
|
|
432
|
+
rel:
|
|
433
|
+
pairs_with: [wizz-signup-flow-cro]
|
|
291
434
|
- id: wizz-signup-flow-cro
|
|
292
435
|
when: "Fluxo de signup/registro."
|
|
436
|
+
rel:
|
|
437
|
+
pairs_with: [wizz-onboarding-cro]
|
|
293
438
|
- id: wizz-competitor-alternatives
|
|
294
439
|
when: "Página de comparação vs concorrente / alternatives / battle card."
|
|
440
|
+
rel:
|
|
441
|
+
pairs_with: [scrapling, wizz-sales-enablement]
|
|
295
442
|
- id: wizz-referral-program
|
|
296
443
|
when: "Programa de indicação/afiliados."
|
|
444
|
+
rel:
|
|
445
|
+
pairs_with: [wizz-analytics-tracking, wizz-email-sequence]
|
|
297
446
|
- id: wizz-free-tool-strategy
|
|
298
447
|
when: "Ferramenta grátis pra captação de leads."
|
|
448
|
+
rel:
|
|
449
|
+
pairs_with: [wizz-programmatic-seo]
|
|
299
450
|
- id: wizz-ab-test-setup
|
|
300
451
|
when: "Montar A/B test / experimento de conversão."
|
|
452
|
+
rel:
|
|
453
|
+
pairs_with: [wizz-analytics-tracking]
|
|
301
454
|
- id: wizz-analytics-tracking
|
|
302
455
|
when: "Setar/auditar tracking e medição (GA4, GTM, eventos, UTM, atribuição)."
|
|
456
|
+
rel:
|
|
457
|
+
pairs_with: [wizz-ab-test-setup, wizz-referral-program, wizz-tracking-audit]
|
|
303
458
|
- id: site-launch-kit
|
|
304
459
|
when: "Site pronto ou quase pronto pra ir ao ar: revisão de pré-lançamento em 15 rodadas corretivas (CTA acima da dobra, barra fixa mobile, tempo de resposta, prova social real, FAQ+FAQPage, imagens reais, endereço, titles, Open Graph, breadcrumbs, alt text, schema local, robots/sitemap, LGPD, medição), com regra anti-invenção e PENDÊNCIAS. Gatilhos: 'vamos subir o site', 'checklist de lançamento', 'revisa antes do deploy', pré-go-live, ou um item isolado (og:image, FAQ com schema, robots.txt). Roda DEPOIS do site construído, ANTES do deploy."
|
|
460
|
+
rel:
|
|
461
|
+
pairs_with: [wizz-launch-readiness, wizz-schema-markup]
|
|
305
462
|
- id: pesquisa-de-publico-do-piva
|
|
306
463
|
when: "Pesquisa profunda de público, VoC, níveis de consciência, matriz de ângulos e léxico nativo de oferta compilados em HTML (metodologia @soupiva)."
|
|
464
|
+
rel:
|
|
465
|
+
before: [wizz-copywriting, wizz-offer-forge]
|
|
307
466
|
- id: wizz-offer-forge
|
|
308
467
|
when: "Forjar oferta irresistível de resposta direta/infoproduto (mecanismo único, empilhamento de valor, garantia reversa, ponte de tráfego)."
|
|
309
|
-
|
|
468
|
+
rel:
|
|
469
|
+
after: [pesquisa-de-publico-do-piva, wizz-lowticket-minerador]
|
|
470
|
+
before: [wizz-copywriting]
|
|
471
|
+
pairs_with: [wizz-pricing-strategy]
|
|
472
|
+
# Módulo lowticket (src/modules/lowticket) — ver nota em ads.skills. Desde
|
|
473
|
+
# 2026-09-18 o módulo inteiro mora aqui (um dono por skill): copy e ads
|
|
474
|
+
# chegam nele pelo `rel`. Isto é comentário de propósito — escrever "vale
|
|
475
|
+
# para as três áreas" dentro do `when:` da porta de entrada a deixou
|
|
476
|
+
# gulosa na medição seguinte (passou a engolir pedido de tarefa nomeada,
|
|
477
|
+
# que é exatamente a trava que a 2.7.0 tinha acabado de pôr nela).
|
|
310
478
|
- id: wizz-lowticket-guia
|
|
311
479
|
module: lowticket
|
|
312
|
-
when: "Porta de entrada low ticket para
|
|
480
|
+
when: "Porta de entrada low ticket para quem não sabe o que pedir: 'quero vender um produto barato', 'por onde começo', 'ninguém compra', 'não estou vendendo', 'anúncio não funciona'. Situa na jornada de 7 etapas e despacha. NÃO usar quando o pedido já nomeia uma tarefa concreta com seus insumos (escrever uma copy, diagnosticar uma página, ler um print de campanha): aí vá direto na skill daquela etapa."
|
|
481
|
+
rel:
|
|
482
|
+
before:
|
|
483
|
+
[wizz-lowticket-funil, wizz-lowticket-metodologia, wizz-lowticket-minerador, wizz-lowticket-pagina, wizz-lowticket-trafego]
|
|
313
484
|
- id: wizz-lowticket-metodologia
|
|
314
485
|
module: lowticket
|
|
315
|
-
when: "Roteador da base low ticket BR/PT: gatilho → um shard. Régua de preço, garantia, copy e rastreamento que tem precedência sobre a skill genérica."
|
|
486
|
+
when: "Roteador da base low ticket BR/PT: gatilho → um shard (diagnóstico de funil, bid cap, criativo, oferta, página, Instagram, player de VSL, upsell, copy, rastreamento, mineração). Régua de preço, garantia, copy e rastreamento que tem precedência sobre a skill genérica — inclusive a copy de low ticket (página, VSL, roteiro de criativo, headline): ler o shard ANTES de escrever. Carrega guardrails junto."
|
|
316
487
|
not_when:
|
|
317
488
|
- "SaaS, B2B, site de cliente, high ticket ou mentoria: os números não transferem."
|
|
489
|
+
rel:
|
|
490
|
+
after: [wizz-lowticket-guia]
|
|
491
|
+
pairs_with: [wizz-copywriting, wizz-lowticket-pagina, wizz-lowticket-trafego]
|
|
318
492
|
- id: wizz-lowticket-funil
|
|
319
493
|
module: lowticket
|
|
320
494
|
when: "Escada pós-checkout de low ticket: upsell 1, upsell 2, downsell, oferta final, régua de preço por degrau e copy das páginas."
|
|
321
495
|
not_when:
|
|
322
496
|
- "Antes de existir um front-end que converte: estender funil sobre front que não vende multiplica zero."
|
|
497
|
+
rel:
|
|
498
|
+
after: [wizz-lowticket-guia, wizz-lowticket-pagina]
|
|
323
499
|
- id: wizz-lowticket-minerador
|
|
324
500
|
module: lowticket
|
|
325
501
|
when: "Garimpo e veredito de oferta de concorrente: vocabulário de busca, veredito em 4 níveis, comparação lado a lado, diagnóstico de por que não escalou."
|
|
326
502
|
not_when:
|
|
327
503
|
- "A oferta já está definida: aí é wizz-offer-forge."
|
|
504
|
+
rel:
|
|
505
|
+
after: [wizz-lowticket-guia]
|
|
506
|
+
before: [wizz-offer-forge]
|
|
328
507
|
- id: wizz-lowticket-pagina
|
|
329
508
|
module: lowticket
|
|
330
509
|
when: "Engenharia de performance da página de venda low ticket: connect rate, ordem do pixel, LCP/TTFB/CLS, peso acima da dobra, relatório antes e depois."
|
|
331
510
|
not_when:
|
|
332
511
|
- "Reescrever copy, preço ou estrutura de oferta: esta skill é o engenheiro, não o copywriter."
|
|
333
512
|
- "Site institucional ou app."
|
|
513
|
+
rel:
|
|
514
|
+
after: [wizz-lowticket-guia]
|
|
515
|
+
before: [wizz-lowticket-funil]
|
|
516
|
+
pairs_with: [wizz-lowticket-metodologia, wizz-lowticket-trafego]
|
|
334
517
|
mcps:
|
|
335
518
|
- id: scrapling
|
|
336
519
|
when: "Scraping/crawl web para pesquisa de mercado, prospecção de leads e inteligência competitiva. Bypass anti-bot (Cloudflare), parsing adaptativo, spider concorrente. Requer: pip install 'scrapling[ai]' && scrapling install."
|
|
520
|
+
rel:
|
|
521
|
+
pairs_with: [wizz-competitor-alternatives]
|
|
337
522
|
server:
|
|
338
523
|
command: scrapling
|
|
339
524
|
args: ["mcp"]
|
|
@@ -350,14 +535,24 @@ areas:
|
|
|
350
535
|
skills:
|
|
351
536
|
- id: wizz-social-content
|
|
352
537
|
when: "Criar/agendar conteúdo de social (LinkedIn, X, TikTok, IG...)."
|
|
538
|
+
rel:
|
|
539
|
+
before: [get-brolls, postiz]
|
|
540
|
+
pairs_with: [wizz-canvas-design, wizz-content-strategy, wizz-copy-editing, wizz-launch-strategy]
|
|
353
541
|
- id: wizz-content-strategy
|
|
354
542
|
when: "Decidir O QUE produzir de conteúdo (topic clusters, calendário, pilares)."
|
|
543
|
+
rel:
|
|
544
|
+
pairs_with: [wizz-social-content]
|
|
355
545
|
- id: wizz-copy-editing
|
|
356
546
|
when: "Revisar/editar o texto do roteiro ou da legenda antes de publicar."
|
|
547
|
+
rel:
|
|
548
|
+
after: [wizz-copywriting]
|
|
549
|
+
pairs_with: [wizz-social-content]
|
|
357
550
|
clis:
|
|
358
551
|
- id: postiz
|
|
359
552
|
when: "PUBLICAR/agendar de verdade em redes sociais (30+ integrações) a partir do conteúdo que o wizz-social já gerou. Separa 'gerar' (Wizz) de 'publicar' (Postiz). Precisa autenticar antes (`postiz auth:login` ou env `POSTIZ_API_KEY`); para imagem/vídeo a própria CLI faz o upload."
|
|
360
553
|
not_when: "Escrever o roteiro ou a legenda: isso é skill da área (wizz-social-content, wizz-copy-editing)."
|
|
554
|
+
rel:
|
|
555
|
+
after: [wizz-social-content]
|
|
361
556
|
# Item 30 da auditoria (2026-09-11, Parte 3.7). Pin de supply chain
|
|
362
557
|
# (2026-09-12): versão publicada fixa no npm, atualizar conscientemente.
|
|
363
558
|
# CLI, não MCP: o schema de `mcps:` deste registry só aceita stdio
|
|
@@ -374,35 +569,36 @@ areas:
|
|
|
374
569
|
skills:
|
|
375
570
|
- id: wizz-paid-ads
|
|
376
571
|
when: "Estratégia de campanha, targeting, bidding, ROAS/CPA. Decidir/rodar ads."
|
|
572
|
+
rel:
|
|
573
|
+
pairs_with: [wizz-ad-creative, wizz-tracking-audit]
|
|
377
574
|
- id: wizz-ad-creative
|
|
378
575
|
when: "Gerar/iterar criativos e headlines de anúncio em escala (RSA, variações)."
|
|
576
|
+
rel:
|
|
577
|
+
pairs_with: [fal-video, wizz-copywriting, wizz-paid-ads]
|
|
379
578
|
- id: wizz-analytics-tracking
|
|
380
579
|
when: "Tracking de conversão pros anúncios (compartilhada com growth)."
|
|
580
|
+
rel:
|
|
581
|
+
pairs_with: [wizz-ab-test-setup, wizz-referral-program, wizz-tracking-audit]
|
|
381
582
|
- id: wizz-tracking-audit
|
|
382
583
|
when: "Auditar rastreamento de oferta de resposta direta. Modo implantação: pixel, CAPI, domínio verificado, eventos priorizados, UTM com ID, repasse do parâmetro nativo pelo checkout, higiene de nomenclatura, compra-teste por rota. Modo diagnóstico: qual transição do funil está furando, medição contra conversão, ROI verdadeiro contra falso, qual dado falta pra decidir."
|
|
383
584
|
not_when:
|
|
384
585
|
- "Plano de medição de SaaS ou produto instrumentado por evento de uso: é analytics-tracking."
|
|
385
586
|
- "Decidir bid, orçamento ou estrutura de campanha: é paid-ads."
|
|
386
587
|
rel:
|
|
387
|
-
pairs_with: [wizz-analytics-tracking, wizz-paid-ads]
|
|
388
588
|
before: [wizz-page-cro]
|
|
589
|
+
pairs_with: [wizz-analytics-tracking, wizz-lowticket-trafego, wizz-paid-ads]
|
|
389
590
|
# Módulo lowticket (src/modules/lowticket) — instaladas COM O MÓDULO, não
|
|
390
591
|
# por skills-lib. O campo `module` é o gate: resolveSkillIds as ignora ao
|
|
391
592
|
# copiar de src/skills-lib, e o router continua enxergando as entradas.
|
|
392
|
-
- id: wizz-lowticket-guia
|
|
393
|
-
module: lowticket
|
|
394
|
-
when: "Porta de entrada low ticket para leigo: 'não estou vendendo', 'por onde começo', 'anúncio não funciona'. Situa na jornada de 7 etapas e despacha."
|
|
395
|
-
- id: wizz-lowticket-metodologia
|
|
396
|
-
module: lowticket
|
|
397
|
-
when: "Roteador da base low ticket BR/PT: gatilho → um shard (diagnóstico de funil, bid cap, criativo, oferta, página, Instagram, player de VSL, upsell, copy, rastreamento, mineração). Carrega guardrails junto."
|
|
398
|
-
not_when:
|
|
399
|
-
- "SaaS, B2B, site de cliente, high ticket ou mentoria: os números não transferem."
|
|
400
593
|
- id: wizz-lowticket-trafego
|
|
401
594
|
module: lowticket
|
|
402
595
|
when: "Diagnóstico e régua de campanha Meta de low ticket: estrutura 1-1-X, bid cap, régua de 3x, quando cortar, como escalar, ler print do gerenciador ou do funil."
|
|
403
596
|
not_when:
|
|
404
597
|
- "Google Ads institucional, campanha de marca, lead gen B2B."
|
|
405
598
|
- "Escrever copy ou criativo: a skill lê número, não produz anúncio."
|
|
599
|
+
rel:
|
|
600
|
+
after: [wizz-lowticket-guia]
|
|
601
|
+
pairs_with: [wizz-lowticket-metodologia, wizz-lowticket-pagina, wizz-tracking-audit]
|
|
406
602
|
|
|
407
603
|
architect:
|
|
408
604
|
agent: wizz-agent-architect
|
|
@@ -410,27 +606,50 @@ areas:
|
|
|
410
606
|
skills:
|
|
411
607
|
- id: wizz-web-security
|
|
412
608
|
when: "Auditar segurança web, OWASP, XSS/CSRF/injeção/SQLi, IDOR, headers, rate limit (IP+conta), CORS, clickjacking, vazamento de PII na resposta, antes de deploy/PR."
|
|
609
|
+
rel:
|
|
610
|
+
before: [security-audit-pentest]
|
|
611
|
+
pairs_with: [wizz-auth-and-secrets, wizz-database-and-deps, wizz-desktop-security]
|
|
413
612
|
- id: wizz-auth-and-secrets
|
|
414
613
|
when: "Auth (JWT/OAuth/SSO/Clerk), token no header vs URL, revogar no logout, enumeração de usuário, gestão de secrets, rotação de credenciais."
|
|
614
|
+
rel:
|
|
615
|
+
pairs_with: [wizz-web-security]
|
|
415
616
|
- id: wizz-desktop-security
|
|
416
617
|
when: "Segurança desktop/Electron (contextIsolation, code signing)."
|
|
618
|
+
rel:
|
|
619
|
+
pairs_with: [apple-design, wizz-web-security]
|
|
417
620
|
- id: wizz-database-scaling
|
|
418
621
|
when: "Banco lento, queries, índices, N+1, sharding, connection pool."
|
|
622
|
+
rel:
|
|
623
|
+
pairs_with: [wizz-caching-and-queues, wizz-supabase-postgres-best-practices]
|
|
419
624
|
- id: wizz-caching-and-queues
|
|
420
625
|
when: "Cache (Redis), filas (BullMQ/SQS/Kafka), jobs assíncronos."
|
|
626
|
+
rel:
|
|
627
|
+
pairs_with: [wizz-database-scaling]
|
|
421
628
|
- id: wizz-infrastructure
|
|
422
629
|
when: "Escala de infra: Kubernetes, auto-scaling, CDN, SLOs, load test."
|
|
630
|
+
rel:
|
|
631
|
+
pairs_with: [sentry-cli, wizz-cloud-and-infra]
|
|
423
632
|
- id: wizz-cloud-and-infra
|
|
424
633
|
when: "Custo de cloud: right-sizing, spot/reserved, S3 lifecycle, billing AWS/GCP."
|
|
634
|
+
rel:
|
|
635
|
+
pairs_with: [wizz-infrastructure]
|
|
425
636
|
- id: wizz-database-and-deps
|
|
426
637
|
when: "Dependências/packages, vulnerabilidades, npm audit."
|
|
638
|
+
rel:
|
|
639
|
+
pairs_with: [wizz-launch-readiness, wizz-web-security]
|
|
427
640
|
- id: wizz-supabase-postgres-best-practices
|
|
428
641
|
when: "Performance e boas práticas de Postgres/Supabase (queries, schema, RLS)."
|
|
642
|
+
rel:
|
|
643
|
+
pairs_with: [supabase, wizz-database-scaling]
|
|
429
644
|
- id: wizz-ai-product-design
|
|
430
645
|
when: "Construir/melhorar um agente ou produto de IA: escrever/revisar system prompt, definir persona/tom, guardrails e recusas, few-shot, chain-of-thought, orquestração multi-agente, handoff, detecção de frustração, generative UI, avaliar qualidade de saída. Base para desenhar os próprios agentes do método. 44 padrões (Owl-Listener, MIT)."
|
|
646
|
+
rel:
|
|
647
|
+
pairs_with: [enhance-prompt]
|
|
431
648
|
mcps:
|
|
432
649
|
- id: supabase
|
|
433
650
|
when: "Operar Supabase de verdade: rodar SQL, migrations, inspecionar schema/RLS, logs. Default é READ-ONLY e escopado a um projeto (--read-only --project-id); para ESCREVER (migrations, mutações), o agente precisa remover conscientemente o --read-only desta entrada antes de usar — nunca por padrão silencioso."
|
|
651
|
+
rel:
|
|
652
|
+
pairs_with: [wizz-supabase-postgres-best-practices]
|
|
434
653
|
server:
|
|
435
654
|
command: npx
|
|
436
655
|
# Pin de supply chain (2026-08-23): versão fixa; atualizar conscientemente.
|
|
@@ -443,6 +662,8 @@ areas:
|
|
|
443
662
|
not_when:
|
|
444
663
|
- "Projeto ainda não usa Sentry (sem SENTRY_DSN, sentry.properties ou '@sentry/' no package.json)."
|
|
445
664
|
- "Fora de estágio de produção."
|
|
665
|
+
rel:
|
|
666
|
+
pairs_with: [wizz-infrastructure]
|
|
446
667
|
check: "sentry-cli --version"
|
|
447
668
|
# Pin de supply chain (2026-08-25): versão fixa; atualizar conscientemente.
|
|
448
669
|
install: "npm install -g @sentry/cli@3.6.2"
|
|
@@ -451,6 +672,8 @@ areas:
|
|
|
451
672
|
not_when:
|
|
452
673
|
- "Registrar a decisão de arquitetura em si: isso é o wizz-architecture."
|
|
453
674
|
- "Diagrama descartável de conversa: Mermaid inline já basta."
|
|
675
|
+
rel:
|
|
676
|
+
after: [wizz-implementation-planner]
|
|
454
677
|
platform: [darwin, linux]
|
|
455
678
|
# Origem: auditoria 2026-09-11, Parte 3.10, item 25. Pin de supply chain
|
|
456
679
|
# (2026-09-12): tag de release v2.16.0, não main — upstream tem 155
|
|
@@ -471,20 +694,33 @@ areas:
|
|
|
471
694
|
skills:
|
|
472
695
|
- id: wizz-adversarial-reviewer
|
|
473
696
|
when: "Passe único adversarial, ad hoc, fora de workflow — 'tear this apart' num trecho colado, sem contexto de projeto. Não confundir com wizz-review-adversarial-general (persona do 'Blind Hunter'; o prompt operacional vive em review-prompts/blind-hunter.md e nenhum workflow invoca a skill) nem com wizz-code-review (orquestrador bmm: 3 camadas paralelas + triagem, para review real de diff/PR)."
|
|
697
|
+
rel:
|
|
698
|
+
instead_of: [wizz-code-review]
|
|
474
699
|
- id: security-audit-pentest
|
|
475
700
|
when: "Auditoria/pentest de segurança do app inteiro — 'auditar segurança', 'pentest', 'encontrar vulnerabilidades', varredura antes de release. Só para teste de segurança AUTORIZADO (seus sistemas ou de clientes com permissão): ferramenta dual-use, nunca usar contra alvo sem autorização."
|
|
701
|
+
rel:
|
|
702
|
+
after: [wizz-web-security]
|
|
703
|
+
pairs_with: [strix, wizz-launch-readiness]
|
|
476
704
|
- id: wizz-launch-readiness
|
|
477
705
|
when: "Auditoria de prontidão pra lançamento (Pre-launch Audit), multi-área: técnico/build, segurança, SEO/descoberta, analytics/medição, conteúdo/copy/prova social, legal/LGPD, infra/deploy/rollback. Gatilhos: 'tá pronto pra lançar?', 'auditoria de pré-lançamento', 'checklist de release amplo', 'o que falta antes de ir pra produção'. Gate por estágio: só roda de verdade em mvp/production, e recusa educadamente em estágio de descoberta/ideação. Diagnostica e prioriza por severidade (bloqueia/alto/médio/ok), nunca corrige cego: aponta security-audit-pentest pra aprofundar segurança com prova de exploração e site-launch-kit pra executar a correção quando a superfície do achado é site. Resultado persiste numa seção datada do project-context.md."
|
|
478
706
|
not_when:
|
|
479
707
|
- "Estágio de descoberta/ideação: projeto ainda sem superfície construída pra auditar (sem project-context.md, ou stage 'prototype' vazio)."
|
|
480
708
|
- "Correção de um achado isolado de site já identificado: nesse caso vá direto pra site-launch-kit."
|
|
481
709
|
rel:
|
|
482
|
-
pairs_with: [site-launch-kit,
|
|
710
|
+
pairs_with: [security-audit-pentest, site-launch-kit, wizz-database-and-deps]
|
|
711
|
+
- id: site-launch-kit
|
|
712
|
+
when: "Site pronto ou quase pronto pra ir ao ar: revisão de pré-lançamento em 15 rodadas corretivas (CTA acima da dobra, barra fixa mobile, tempo de resposta, prova social real, FAQ+FAQPage, imagens reais, endereço, titles, Open Graph, breadcrumbs, alt text, schema local, robots/sitemap, LGPD, medição), com regra anti-invenção e PENDÊNCIAS. Gatilhos: 'vamos subir o site', 'checklist de lançamento', 'revisa antes do deploy', pré-go-live, ou um item isolado (og:image, FAQ com schema, robots.txt). Roda DEPOIS do site construído, ANTES do deploy."
|
|
713
|
+
rel:
|
|
714
|
+
pairs_with: [wizz-launch-readiness, wizz-schema-markup]
|
|
483
715
|
- id: wizz-agent-browser
|
|
484
716
|
when: "Verificação visual/browser, preencher forms, screenshots, testar UI no navegador. CLI já instalado (não é MCP); browser SEMPRE via wizz-agent-browser, nunca Playwright."
|
|
717
|
+
rel:
|
|
718
|
+
pairs_with: [agent-browser]
|
|
485
719
|
clis:
|
|
486
720
|
- id: agent-browser
|
|
487
721
|
when: "Dirigir um browser real pra E2E/verificação: navegar, clicar, preencher form, screenshot, console. É CLI, não MCP."
|
|
722
|
+
rel:
|
|
723
|
+
pairs_with: [wizz-agent-browser]
|
|
488
724
|
check: "agent-browser --version"
|
|
489
725
|
# Pin de supply chain (2026-08-23): versão fixa; atualizar conscientemente.
|
|
490
726
|
install: "npm install -g agent-browser@0.34.0"
|
|
@@ -507,8 +743,14 @@ areas:
|
|
|
507
743
|
skills:
|
|
508
744
|
- id: wizz-inicio-de-projeto
|
|
509
745
|
when: "Kickoff LEVE de engenharia: stack, personas, glossário, princípios, estrutura de pastas, checklist. Atalho sem cerimônia de PRD."
|
|
746
|
+
rel:
|
|
747
|
+
before: [wizz-implementation-planner]
|
|
510
748
|
- id: wizz-implementation-planner
|
|
511
749
|
when: "Plano técnico de implementação de site/app premium pós-direção aprovada. Pesquisa web/prior-art durante o planejamento usa a tool nativa WebSearch (sem custo/MCP metered — o MCP exa foi removido em 2026-08-25)."
|
|
750
|
+
rel:
|
|
751
|
+
after: [wizz-inicio-de-projeto]
|
|
752
|
+
before: [archify, wizz-quick-dev]
|
|
753
|
+
pairs_with: [wizz-document-project]
|
|
512
754
|
|
|
513
755
|
# ── Áreas dev/produto (item 18 da auditoria de 2026-09-11, finding RT-H2):
|
|
514
756
|
# "dev" era citado dezenas de vezes no método (router, maestro,
|
|
@@ -526,27 +768,47 @@ areas:
|
|
|
526
768
|
- id: wizz-quick-dev
|
|
527
769
|
module: bmm
|
|
528
770
|
when: "DEV PONTUAL: ajuste, bug fix, feature única sem cerimônia de story. Fluxo unificado: clarificar → planejar → implementar → review → apresentar. É o destino padrão quando o router/maestro diz 'dev pontual'."
|
|
771
|
+
rel:
|
|
772
|
+
after: [wizz-implementation-planner, wizz-investigate]
|
|
529
773
|
- id: wizz-dev-story
|
|
530
774
|
module: bmm
|
|
531
775
|
when: "Implementar UMA story específica com spec preenchida ('dev this story', 'implementa a próxima story do sprint')."
|
|
776
|
+
rel:
|
|
777
|
+
after: [wizz-create-story]
|
|
778
|
+
before: [wizz-code-review]
|
|
532
779
|
- id: wizz-create-story
|
|
533
780
|
module: bmm
|
|
534
781
|
when: "Preparar story com todo o contexto de implementação ('cria a story', 'prepara a story'). Antes do dev, no gate de planejamento."
|
|
782
|
+
rel:
|
|
783
|
+
after: [wizz-prd, wizz-set-feature, wizz-sprint-planning]
|
|
784
|
+
before: [wizz-dev-story]
|
|
535
785
|
- id: wizz-code-review
|
|
536
786
|
module: bmm
|
|
537
787
|
when: "Review de código real de diff/PR: 3 camadas paralelas (Blind Hunter, Edge Case, Verification Gap) + triagem. Diferente de wizz-adversarial-reviewer (passe único ad hoc, área qa)."
|
|
788
|
+
rel:
|
|
789
|
+
after: [wizz-dev-story]
|
|
790
|
+
instead_of: [wizz-adversarial-reviewer]
|
|
538
791
|
- id: wizz-investigate
|
|
539
792
|
module: bmm
|
|
540
793
|
when: "Investigar bug/incidente, rastrear causa, construir modelo mental de uma área de código antes de mexer."
|
|
794
|
+
rel:
|
|
795
|
+
before: [wizz-quick-dev]
|
|
541
796
|
- id: wizz-sprint-planning
|
|
542
797
|
module: bmm
|
|
543
798
|
when: "Gerar/atualizar o sprint plan que sequencia stories para implementação."
|
|
799
|
+
rel:
|
|
800
|
+
before: [wizz-create-story, wizz-retrospective]
|
|
801
|
+
pairs_with: [wizz-correct-course]
|
|
544
802
|
- id: wizz-correct-course
|
|
545
803
|
module: bmm
|
|
546
804
|
when: "Mudança significativa durante o sprint: propor ajuste de curso ('correct course')."
|
|
805
|
+
rel:
|
|
806
|
+
pairs_with: [wizz-sprint-planning]
|
|
547
807
|
- id: wizz-retrospective
|
|
548
808
|
module: bmm
|
|
549
809
|
when: "Review do trabalho concluído no epic (party mode)."
|
|
810
|
+
rel:
|
|
811
|
+
after: [wizz-sprint-planning]
|
|
550
812
|
|
|
551
813
|
pm:
|
|
552
814
|
agent: wizz-agent-pm
|
|
@@ -555,15 +817,27 @@ areas:
|
|
|
555
817
|
- id: wizz-prd
|
|
556
818
|
module: bmm
|
|
557
819
|
when: "Criar, atualizar ou validar PRD ('cria o PRD', 'documento de requisitos', 'define o escopo'). Consolida os antigos create/edit/validate-prd (removidos em v7)."
|
|
820
|
+
rel:
|
|
821
|
+
after: [wizz-product-brief]
|
|
822
|
+
before: [wizz-create-story, wizz-set-feature]
|
|
823
|
+
pairs_with: [wizz-ux]
|
|
558
824
|
- id: wizz-product-brief
|
|
559
825
|
module: bmm
|
|
560
826
|
when: "Criar, atualizar ou validar o brief do produto ('cria o brief'). Antes do PRD, no kickoff de produto."
|
|
827
|
+
rel:
|
|
828
|
+
after: [wizz-prfaq]
|
|
829
|
+
before: [wizz-prd]
|
|
561
830
|
- id: wizz-prfaq
|
|
562
831
|
module: bmm
|
|
563
832
|
when: "Desafio Working Backwards PRFAQ para forjar conceito de produto ('cria a PRFAQ', 'work backwards')."
|
|
833
|
+
rel:
|
|
834
|
+
before: [wizz-product-brief]
|
|
564
835
|
- id: wizz-set-feature
|
|
565
836
|
module: bmm
|
|
566
837
|
when: "Definir feature específica dentro do produto (análise de feature única)."
|
|
838
|
+
rel:
|
|
839
|
+
after: [wizz-prd]
|
|
840
|
+
before: [wizz-create-story]
|
|
567
841
|
|
|
568
842
|
tech-writer:
|
|
569
843
|
agent: wizz-agent-tech-writer
|
|
@@ -572,6 +846,8 @@ areas:
|
|
|
572
846
|
- id: wizz-document-project
|
|
573
847
|
module: bmm
|
|
574
848
|
when: "Documentar o projeto: gerar/atualizar docs de arquitetura e estrutura para contexto de agentes e humanos."
|
|
849
|
+
rel:
|
|
850
|
+
pairs_with: [wizz-implementation-planner]
|
|
575
851
|
|
|
576
852
|
ux-designer:
|
|
577
853
|
agent: wizz-agent-ux-designer
|
|
@@ -580,6 +856,8 @@ areas:
|
|
|
580
856
|
- id: wizz-ux
|
|
581
857
|
module: bmm
|
|
582
858
|
when: "Especificar experiência do usuário: fluxos, wireframes de conteúdo, user stories de UX (diferente da área designer, que constrói UI visual)."
|
|
859
|
+
rel:
|
|
860
|
+
pairs_with: [wizz-prd]
|
|
583
861
|
|
|
584
862
|
memoria:
|
|
585
863
|
agent: wizz-memoria
|
|
@@ -596,6 +874,8 @@ utility:
|
|
|
596
874
|
when: "Nenhuma skill cobre o pedido: buscar/instalar no marketplace (npx skills find)."
|
|
597
875
|
- id: enhance-prompt
|
|
598
876
|
when: "Empacotar um briefing mais completo/estruturado pra mandar a outro agente ou skill."
|
|
877
|
+
rel:
|
|
878
|
+
pairs_with: [wizz-ai-product-design]
|
|
599
879
|
- id: wizz-router
|
|
600
880
|
when: "Roteador global/flat: descobre skills quando não se sabe a área; escala pro maestro se multi-área."
|
|
601
881
|
|