wizz-method 1.17.0 → 1.18.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/README.md +1 -1
- package/package.json +5 -2
- package/removals.txt +3 -0
- package/skills-registry.yaml +67 -29
- package/src/bmm-skills/1-analysis/wizz-agent-analyst/customize.toml +1 -1
- package/src/bmm-skills/1-analysis/wizz-set-feature/SKILL.md +41 -37
- package/src/bmm-skills/2-plan-workflows/wizz-agent-pm/customize.toml +1 -1
- package/src/bmm-skills/2-plan-workflows/wizz-agent-ux-designer/customize.toml +1 -1
- package/src/bmm-skills/3-solutioning/wizz-agent-architect/customize.toml +1 -1
- package/src/bmm-skills/4-implementation/wizz-agent-dev/customize.toml +1 -1
- package/src/core-skills/_shared/handoff-protocol.md +6 -4
- package/src/modules/lowticket/README.md +55 -0
- package/src/modules/lowticket/module.yaml +31 -0
- package/src/modules/lowticket/skills/lowticket-funil/SKILL.md +112 -0
- package/src/modules/lowticket/skills/lowticket-funil/references/copy-das-paginas.md +75 -0
- package/src/modules/lowticket/skills/lowticket-funil/references/mapa-do-funil.md +71 -0
- package/src/modules/lowticket/skills/lowticket-metodologia/CATALOGO.md +352 -0
- package/src/modules/lowticket/skills/lowticket-metodologia/SKILL.md +62 -0
- package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/01-principios.md +12 -0
- package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/02-diagnostico-funil.md +83 -0
- package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/03-campanha-bidcap.md +95 -0
- package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/04-criativos.md +66 -0
- package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/04a-criativos-ia.md +79 -0
- package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/04b-criativos-formatos.md +152 -0
- package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/05-oferta.md +51 -0
- package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/06-pagina-vendas.md +175 -0
- package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/06a-instagram.md +138 -0
- package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/07-funil-upsell.md +73 -0
- package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/08-pesquisa-publico.md +14 -0
- package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/09-especialista-coproducao.md +41 -0
- package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/10-levantar-caixa.md +49 -0
- package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/11-checklist-roi.md +36 -0
- package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/12-mineracao-ofertas.md +63 -0
- package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/12a-mineracao-veredito.md +78 -0
- package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/12b-fabrica-de-ofertas.md +178 -0
- package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/13-benchmarks-vsl.md +10 -0
- package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/14-vocabulario.md +55 -0
- package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/15-como-estender.md +35 -0
- package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/INDEX.md +45 -0
- package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/guardrails.md +33 -0
- package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/pontos-em-aberto.md +42 -0
- package/src/modules/lowticket/skills/lowticket-metodologia/references/swipe-file.md +38 -0
- package/src/modules/lowticket/skills/lowticket-minerador/SKILL.md +115 -0
- package/src/modules/lowticket/skills/lowticket-minerador/references/rubrica.md +75 -0
- package/src/modules/lowticket/skills/lowticket-pagina/SKILL.md +106 -0
- package/src/modules/lowticket/skills/lowticket-pagina/references/metas-e-medicao.md +70 -0
- package/src/modules/lowticket/skills/lowticket-pagina/references/padroes-de-codigo.md +148 -0
- package/src/modules/lowticket/skills/lowticket-trafego/SKILL.md +88 -0
- package/src/modules/lowticket/skills/lowticket-trafego/references/formato-do-diagnostico.md +56 -0
- package/src/modules/lowticket/skills/lowticket-trafego/references/reguas.md +72 -0
- package/src/modules/wizz/README.md +1 -1
- package/src/modules/wizz/_shared/cerebro.md +35 -1
- package/src/modules/wizz/_shared/communication-rules.md +8 -1
- package/src/modules/wizz/_shared/token-economy.md +7 -10
- 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 +7 -3
- package/src/modules/wizz/agents/wizz-maestro/customize.toml +1 -1
- package/src/modules/wizz/agents/wizz-memoria/SKILL.md +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 +2 -2
- package/src/modules/wizz/overrides/wizz-agent-architect.toml +2 -2
- 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/skills-lib/analytics-tracking/SKILL.md +2 -0
- package/src/skills-lib/analytics-tracking/references/utm-taxonomy.md +92 -0
- package/src/skills-lib/cerebro/SKILL.md +20 -17
- package/src/skills-lib/cerebro/references/comandos-pesquisa-e-memoria.md +96 -0
- package/src/skills-lib/cerebro/references/comandos-rotina-e-captura.md +25 -6
- package/src/skills-lib/cerebro/references/comandos-sessao.md +61 -37
- 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/tracking-audit/SKILL.md +78 -0
- package/src/skills-lib/tracking-audit/references/modo-diagnostico.md +72 -0
- package/src/skills-lib/tracking-audit/references/modo-implantacao.md +89 -0
- package/src/skills-lib/tracking-audit/references/utm-e-atribuicao.md +75 -0
- 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-offer-forge/SKILL.md +27 -2
- package/src/skills-lib/wizz-offer-forge/references/plano-de-medicao.md +74 -0
- package/src/skills-lib/wizz-router/SKILL.md +3 -1
- package/src/skills-lib/wizz-router/references/routing-table-flat.md +3 -3
- package/tools/installer/commands/trace-report.js +1 -1
- package/tools/installer/modules/skills-lib.js +7 -1
- package/wizz-modules.yaml +17 -0
- package/src/skills-lib/cerebro/references/comandos-pesquisa-e-sync.md +0 -44
- package/src/skills-lib/graphify/.graphify_version +0 -1
- package/src/skills-lib/graphify/SKILL.md +0 -1199
package/README.md
CHANGED
|
@@ -26,7 +26,7 @@ O ponto de entrada técnico é o `wizz-router`: ele faz a triagem e manda pedido
|
|
|
26
26
|
|
|
27
27
|
Os papéis de dev e produto reusam os agentes WIZZ (Mary, John, Winston, Amelia, Sally, Paige), personalizados em PT-BR pelos overrides em `src/modules/wizz/overrides/`.
|
|
28
28
|
|
|
29
|
-
A camada Wizz vale para todos os agentes: encerramento padrão (✅/➡️/🎯), economia de token (
|
|
29
|
+
A camada Wizz vale para todos os agentes: encerramento padrão (✅/➡️/🎯), economia de token (cérebro, depois grep antes de abrir arquivos), auto-load leve do cérebro na ativação e idioma à sua escolha. Detalhes em [src/modules/wizz/README.md](src/modules/wizz/README.md).
|
|
30
30
|
|
|
31
31
|
## Quick Start
|
|
32
32
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "wizz-method",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.18.1",
|
|
5
5
|
"description": "Wizz Method — método de agência orientado por IA em PT-BR (fork independente do BMad Method)",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"agile",
|
|
@@ -61,18 +61,21 @@
|
|
|
61
61
|
"rebundle": "node tools/installer/bundlers/bundle-web.js rebundle",
|
|
62
62
|
"sync:check": "node tools/sync-check.mjs",
|
|
63
63
|
"sync:global": "node tools/sync-global.mjs",
|
|
64
|
-
"test": "npm run test:refs && npm run test:install && npm run test:urls && npm run test:channels && npm run test:mcp && npm run test:env-vars && npm run test:cli && npm run test:deps && npm run test:dispatch-rule && npm run test:hooks && npm run test:decision-trace && npm run test:quickupdate && npm run test:registry-schema && npm run test:registry-lib-parity && npm run test:module-registry && npm run test:method-refs-allowlist && npm run test:rtk-hook && npm run test:network-retry && npm run test:sync-check && npm run test:resolver && npm run test:fetch-assets && npm run test:install-smoke && npm run test:trace-report && npm run test:rehype-plugins && npm run test:workflow-path-regex && npm run test:preflight-tools-check && npm run lint && npm run lint:md && npm run format:check && npm run sync:check",
|
|
64
|
+
"test": "npm run test:refs && npm run test:install && npm run test:urls && npm run test:channels && npm run test:mcp && npm run test:env-vars && npm run test:cli && npm run test:cli-pin-consistency && npm run test:deps && npm run test:dispatch-rule && npm run test:hooks && npm run test:feature-context && npm run test:decision-trace && npm run test:quickupdate && npm run test:registry-schema && npm run test:registry-lib-parity && npm run test:lowticket-third-party && npm run test:module-registry && npm run test:method-refs-allowlist && npm run test:rtk-hook && npm run test:network-retry && npm run test:sync-check && npm run test:resolver && npm run test:fetch-assets && npm run test:install-smoke && npm run test:trace-report && npm run test:rehype-plugins && npm run test:workflow-path-regex && npm run test:preflight-tools-check && npm run lint && npm run lint:md && npm run format:check && npm run sync:check",
|
|
65
65
|
"test:channels": "node test/test-installer-channels.js",
|
|
66
66
|
"test:cli": "node test/test-cli-config.js",
|
|
67
|
+
"test:cli-pin-consistency": "node test/test-cli-pin-consistency.js",
|
|
67
68
|
"test:decision-trace": "node test/test-decision-trace.js",
|
|
68
69
|
"test:deps": "node test/test-deps-cache.js",
|
|
69
70
|
"test:dispatch-rule": "node test/test-dispatch-rule-consistency.js",
|
|
70
71
|
"test:env-vars": "node test/test-env-vars.js",
|
|
72
|
+
"test:feature-context": "node test/test-feature-context.js",
|
|
71
73
|
"test:fetch-assets": "node test/test-fetch-assets.js",
|
|
72
74
|
"test:hooks": "node test/test-router-hook.js",
|
|
73
75
|
"test:install": "node test/test-installation-components.js",
|
|
74
76
|
"test:install-smoke": "node test/test-install-smoke.js",
|
|
75
77
|
"test:install-smoke-mcp": "node test/test-install-smoke-mcp.js",
|
|
78
|
+
"test:lowticket-third-party": "node test/test-lowticket-third-party.js",
|
|
76
79
|
"test:mcp": "node test/test-mcp-config.js",
|
|
77
80
|
"test:method-refs-allowlist": "node test/test-method-refs-allowlist.js",
|
|
78
81
|
"test:module-registry": "node test/test-module-registry-fields.js",
|
package/removals.txt
CHANGED
|
@@ -66,3 +66,6 @@ wizz-create-ux-design
|
|
|
66
66
|
# taste-skill; taste-skill's description and redesign-protocol.md cover
|
|
67
67
|
# the same existing-project audit ground taste-redesign used to own.
|
|
68
68
|
taste-redesign
|
|
69
|
+
|
|
70
|
+
# Removida na auditoria de contexto (2026-08-28): knowledge graph descontinuado.
|
|
71
|
+
graphify
|
package/skills-registry.yaml
CHANGED
|
@@ -64,7 +64,8 @@
|
|
|
64
64
|
version: 1
|
|
65
65
|
|
|
66
66
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
67
|
-
# ÁREAS —
|
|
67
|
+
# ÁREAS — `agent` identifica uma SKILL de persona, invocada via Skill.
|
|
68
|
+
# Não usar esse valor como subagent_type. Subagentes nativos são wizz-exec-*.
|
|
68
69
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
69
70
|
areas:
|
|
70
71
|
designer:
|
|
@@ -132,55 +133,48 @@ areas:
|
|
|
132
133
|
- id: ctc-align
|
|
133
134
|
door: motion
|
|
134
135
|
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."
|
|
135
|
-
mcps:
|
|
136
|
-
- id: magic
|
|
137
|
-
when: "Gerar/refinar componentes prontos via 21st.dev (UI builder, inspiration, refiner)."
|
|
138
|
-
server:
|
|
139
|
-
command: npx
|
|
140
|
-
# Pin de supply chain (2026-08-23): versão fixa; atualizar conscientemente.
|
|
141
|
-
args: ["-y", "@21st-dev/magic@0.2.2"]
|
|
142
|
-
env:
|
|
143
|
-
API_KEY: "${MAGIC_API_KEY}"
|
|
144
136
|
clis:
|
|
145
|
-
- id: 21st-cli
|
|
146
|
-
when: "Fonte PAGA complementar (catálogos gratuitos como React Bits/Cult UI/Componentry vêm primeiro; gate de aprovação do usuário). Buscar, inspecionar, instalar e publicar componentes no 21st.dev via terminal (search/get/add/publish, registry do time @wizzdigitalagency). Complementa o Magic MCP (geração assistida); é o caminho de catálogo/registry e o fallback declarado quando o MCP está offline. O install traz também as skills oficiais 21st-cli-use, 21st-registry e 21st-design-sync. Login interativo: `21st login` (em CI usar env API_KEY_21ST)."
|
|
147
|
-
rel:
|
|
148
|
-
pairs_with: [magic]
|
|
149
|
-
check: "command -v 21st"
|
|
150
|
-
install: "npm i -g @21st-dev/cli && npx @21st-dev/cli install-skill"
|
|
151
137
|
- id: hyperframes
|
|
152
138
|
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."
|
|
153
139
|
not_when: "Montagem com áudio/SFX/legenda sincronizada (posicionador de áudio falhou em produção, ~2,76s de drift; CSS vaza entre telas)."
|
|
154
140
|
rel:
|
|
155
141
|
before: [remotion-best-practices]
|
|
156
142
|
platform: [darwin, linux]
|
|
157
|
-
check:
|
|
143
|
+
# O check confere o SHA fixado, não só a existência da pasta: o bundle é
|
|
144
|
+
# copiado (não clonado), então o pin é gravado num marcador no install.
|
|
145
|
+
check: 'grep -qx 59a69a145bfbd0f10dee72246b68ee5d9bd71063 "$HOME/.claude/skills/hyperframes/.wizz-pin" 2>/dev/null'
|
|
158
146
|
# Pin de supply chain (2026-08-23): clone temporário + checkout do SHA
|
|
159
147
|
# + `skills add` do path local. Atualizar conscientemente.
|
|
160
148
|
# Neutraliza remotion-to-hyperframes: o bundle instala uma skill de
|
|
161
149
|
# migração Remotion→HyperFrames proibida pela regra do pipeline
|
|
162
150
|
# (_shared/video-pipeline.md: HyperFrames desenha, Remotion monta).
|
|
163
|
-
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 && rm -rf "$d" && rm -rf "$HOME/.claude/skills/remotion-to-hyperframes"'
|
|
151
|
+
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"'
|
|
164
152
|
- id: claude-video
|
|
165
153
|
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)."
|
|
166
154
|
platform: [darwin, linux]
|
|
167
|
-
check:
|
|
155
|
+
# O check confere o SHA fixado, não só a existência da pasta: o bundle é
|
|
156
|
+
# copiado (não clonado), então o pin é gravado num marcador no install.
|
|
157
|
+
check: 'grep -qx 83da59fa78c3eee9e20f515fe75c438bb5166efd "$HOME/.claude/skills/watch/.wizz-pin" 2>/dev/null'
|
|
168
158
|
# Pin de supply chain (2026-08-23): clone temporário + checkout do SHA
|
|
169
159
|
# + `skills add` local. Atualizar conscientemente.
|
|
170
|
-
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 && rm -rf "$d"'
|
|
160
|
+
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"'
|
|
171
161
|
- id: buttercut
|
|
172
162
|
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."
|
|
173
163
|
platform: darwin-arm64
|
|
174
|
-
|
|
164
|
+
# Clone-and-run: o próprio repo responde o SHA, então o check compara com o
|
|
165
|
+
# pin. O install repara um clone existente em vez de falhar no git clone.
|
|
166
|
+
check: 'test "$(git -C ./buttercut rev-parse HEAD 2>/dev/null)" = f71d9537e2c22c3c4c1c659c4bdfb11e90ccd961'
|
|
175
167
|
# Pin de supply chain (2026-08-23): checkout de SHA fixo; atualizar conscientemente.
|
|
176
|
-
install: "git clone https://github.com/barefootford/buttercut.git buttercut && git -C buttercut checkout f71d9537e2c22c3c4c1c659c4bdfb11e90ccd961"
|
|
168
|
+
install: "{ [ -d buttercut/.git ] || git clone https://github.com/barefootford/buttercut.git buttercut; } && git -C buttercut fetch --tags origin && git -C buttercut checkout f71d9537e2c22c3c4c1c659c4bdfb11e90ccd961"
|
|
177
169
|
verify: "command -v ffmpeg >/dev/null 2>&1 && command -v ruby >/dev/null 2>&1 && command -v python3 >/dev/null 2>&1"
|
|
178
170
|
- id: voicebox
|
|
179
171
|
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."
|
|
180
172
|
platform: [darwin, linux]
|
|
181
|
-
|
|
173
|
+
# Clone-and-run: o próprio repo responde o SHA, então o check compara com o
|
|
174
|
+
# pin. O install repara um clone existente em vez de falhar no git clone.
|
|
175
|
+
check: 'test "$(git -C ./voicebox rev-parse HEAD 2>/dev/null)" = 2bcb98d1a8b6fe05e15fbc1559e3085669e4035d'
|
|
182
176
|
# Pin de supply chain (2026-08-23): checkout de SHA fixo; atualizar conscientemente.
|
|
183
|
-
install: "git clone https://github.com/jamiepine/voicebox.git voicebox && git -C voicebox checkout 2bcb98d1a8b6fe05e15fbc1559e3085669e4035d"
|
|
177
|
+
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
178
|
- id: ctc-align
|
|
185
179
|
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."
|
|
186
180
|
platform: [darwin, linux]
|
|
@@ -231,9 +225,11 @@ areas:
|
|
|
231
225
|
- id: distribb
|
|
232
226
|
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)."
|
|
233
227
|
platform: [darwin, linux]
|
|
234
|
-
check
|
|
228
|
+
# O check confere o SHA fixado, não só a existência da pasta: o bundle é
|
|
229
|
+
# copiado (não clonado), então o pin é gravado num marcador no install.
|
|
230
|
+
check: 'grep -qx 061a055768e13cf09108932a90aeb2e957183858 "$HOME/.claude/skills/distribb/.wizz-pin" 2>/dev/null'
|
|
235
231
|
# Pin de supply chain (2026-08-23): clone temporário + checkout do SHA. Atualizar conscientemente.
|
|
236
|
-
install: 'd="$(mktemp -d)" && git clone https://github.com/Bomx/distribb-skill.git "$d" && git -C "$d" checkout 061a055768e13cf09108932a90aeb2e957183858 && npx skills add "$d" -g -y --copy && rm -rf "$d"'
|
|
232
|
+
install: 'd="$(mktemp -d)" && git clone https://github.com/Bomx/distribb-skill.git "$d" && git -C "$d" checkout 061a055768e13cf09108932a90aeb2e957183858 && npx skills add "$d" -g -y --copy && printf "%s\\n" 061a055768e13cf09108932a90aeb2e957183858 > "$HOME/.claude/skills/distribb/.wizz-pin" && rm -rf "$d"'
|
|
237
233
|
|
|
238
234
|
growth:
|
|
239
235
|
agent: wizz-growth
|
|
@@ -281,6 +277,28 @@ areas:
|
|
|
281
277
|
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)."
|
|
282
278
|
- id: wizz-offer-forge
|
|
283
279
|
when: "Forjar oferta irresistível de resposta direta/infoproduto (mecanismo único, empilhamento de valor, garantia reversa, ponte de tráfego)."
|
|
280
|
+
# Módulo lowticket (src/modules/lowticket) — ver nota em ads.skills.
|
|
281
|
+
- id: lowticket-metodologia
|
|
282
|
+
module: lowticket
|
|
283
|
+
when: "Roteador da base low ticket BR/PT: gatilho → um shard. Régua de preço, garantia e oferta que tem precedência sobre a skill genérica."
|
|
284
|
+
not_when:
|
|
285
|
+
- "SaaS, B2B, site de cliente, high ticket ou mentoria: os números não transferem."
|
|
286
|
+
- id: lowticket-funil
|
|
287
|
+
module: lowticket
|
|
288
|
+
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."
|
|
289
|
+
not_when:
|
|
290
|
+
- "Antes de existir um front-end que converte: estender funil sobre front que não vende multiplica zero."
|
|
291
|
+
- id: lowticket-minerador
|
|
292
|
+
module: lowticket
|
|
293
|
+
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."
|
|
294
|
+
not_when:
|
|
295
|
+
- "A oferta já está definida: aí é wizz-offer-forge."
|
|
296
|
+
- id: lowticket-pagina
|
|
297
|
+
module: lowticket
|
|
298
|
+
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."
|
|
299
|
+
not_when:
|
|
300
|
+
- "Reescrever copy, preço ou estrutura de oferta: esta skill é o engenheiro, não o copywriter."
|
|
301
|
+
- "Site institucional ou app."
|
|
284
302
|
mcps:
|
|
285
303
|
- id: scrapling
|
|
286
304
|
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."
|
|
@@ -315,6 +333,28 @@ areas:
|
|
|
315
333
|
when: "Gerar/iterar criativos e headlines de anúncio em escala (RSA, variações)."
|
|
316
334
|
- id: analytics-tracking
|
|
317
335
|
when: "Tracking de conversão pros anúncios (compartilhada com growth)."
|
|
336
|
+
- id: tracking-audit
|
|
337
|
+
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."
|
|
338
|
+
not_when:
|
|
339
|
+
- "Plano de medição de SaaS ou produto instrumentado por evento de uso: é analytics-tracking."
|
|
340
|
+
- "Decidir bid, orçamento ou estrutura de campanha: é paid-ads."
|
|
341
|
+
rel:
|
|
342
|
+
pairs_with: [analytics-tracking, paid-ads]
|
|
343
|
+
before: [page-cro]
|
|
344
|
+
# Módulo lowticket (src/modules/lowticket) — instaladas COM O MÓDULO, não
|
|
345
|
+
# por skills-lib. O campo `module` é o gate: resolveSkillIds as ignora ao
|
|
346
|
+
# copiar de src/skills-lib, e o router continua enxergando as entradas.
|
|
347
|
+
- id: lowticket-metodologia
|
|
348
|
+
module: lowticket
|
|
349
|
+
when: "Roteador da base low ticket BR/PT: gatilho → um shard (diagnóstico de funil, bid cap, criativo, oferta, página, Instagram, upsell, mineração). Carrega guardrails junto."
|
|
350
|
+
not_when:
|
|
351
|
+
- "SaaS, B2B, site de cliente, high ticket ou mentoria: os números não transferem."
|
|
352
|
+
- id: lowticket-trafego
|
|
353
|
+
module: lowticket
|
|
354
|
+
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."
|
|
355
|
+
not_when:
|
|
356
|
+
- "Google Ads institucional, campanha de marca, lead gen B2B."
|
|
357
|
+
- "Escrever copy ou criativo: a skill lê número, não produz anúncio."
|
|
318
358
|
mcps:
|
|
319
359
|
- id: meta-ads
|
|
320
360
|
when: "Gestão real de campanha Meta/Facebook/Instagram via API (criar/editar/medir ads)."
|
|
@@ -418,14 +458,12 @@ areas:
|
|
|
418
458
|
summary: "Memória do projeto: o que foi decidido, salvar, ver estado."
|
|
419
459
|
skills:
|
|
420
460
|
- id: cerebro
|
|
421
|
-
when: "Recuperar/salvar decisões, contexto, aprendizados; ver estado do projeto (/ver, /salvar, /decisao, /dump)."
|
|
461
|
+
when: "Recuperar/salvar decisões, contexto, aprendizados; ver estado do projeto (/ver, /salvar, /decisao, /dump); ler a auto-memória fora do Claude Code (/memoria)."
|
|
422
462
|
|
|
423
463
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
424
464
|
# UTILITÁRIOS — cross-cutting, não pertencem a uma área só.
|
|
425
465
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
426
466
|
utility:
|
|
427
|
-
- id: graphify
|
|
428
|
-
when: "Transformar código/docs em knowledge graph; navegar estrutura antes de ler arquivos crus."
|
|
429
467
|
- id: find-skills
|
|
430
468
|
when: "Nenhuma skill cobre o pedido: buscar/instalar no marketplace (npx skills find)."
|
|
431
469
|
- id: enhance-prompt
|
|
@@ -37,7 +37,7 @@ activation_steps_append = []
|
|
|
37
37
|
|
|
38
38
|
persistent_facts = [
|
|
39
39
|
"file:{project-root}/**/project-context.md",
|
|
40
|
-
"
|
|
40
|
+
"FEATURE: o hook SessionStart já resolve a feature ativa a partir do branch git e injeta 'FEATURE ATIVA: <slug>'. Se ela existir, salve TODO artefato de planejamento e implementação na subpasta com esse nome ({planning_artifacts}/{active_feature}/, {implementation_artifacts}/{active_feature}/) e grave o slug em active_feature no {project-root}/_wizz/bmm/config.yaml na primeira escrita, avisando em UMA linha. Memória gravada nesta sessão leva o mesmo slug como tema. Sem feature resolvida, escreva nas raízes. NUNCA pergunte a feature ao usuário: invoque wizz-set-feature só se ele pedir para trocar, ou se houver duas features abertas e o pedido não decidir entre elas.",
|
|
41
41
|
]
|
|
42
42
|
|
|
43
43
|
role = "Help the user ideate research and analyze before committing to a project in the Wizz Method analysis phase."
|
|
@@ -1,74 +1,78 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: wizz-set-feature
|
|
3
|
-
description: '
|
|
3
|
+
description: 'Resolve, switch or clear the active feature context so planning artifacts, implementation artifacts and memory are organized under one named slug. Runs automatically from the git branch; only invoke it when the user says "set feature", "switch feature", "new feature", "clear feature", or asks "what feature is active".'
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Set Feature
|
|
7
7
|
|
|
8
|
-
**Goal:**
|
|
8
|
+
**Goal:** Keep `active_feature` correct so planning artifacts, implementation artifacts and memory entries all land under the same named slug.
|
|
9
|
+
|
|
10
|
+
**Default mode is automatic.** The `session-rules.js` SessionStart hook already resolves the feature from the git branch and injects it as `FEATURE ATIVA: <slug>`. In the normal case nobody invokes this skill and nobody is asked anything. Invoke it only for the three explicit cases in "When this skill runs" below.
|
|
9
11
|
|
|
10
12
|
## Conventions
|
|
11
13
|
|
|
12
14
|
- `{project-root}`-prefixed paths resolve from the project working directory.
|
|
13
15
|
|
|
14
|
-
##
|
|
16
|
+
## Resolution order (never ask before exhausting it)
|
|
15
17
|
|
|
16
|
-
|
|
18
|
+
1. **Git branch.** `feat/dashboard-financeiro` → `dashboard-financeiro`. Strip the type prefix (`feat/`, `feature/`, `fix/`, `bugfix/`, `hotfix/`, `chore/`, `refactor/`, `docs/`, `test/`, `perf/`, `ci/`, `build/`, `style/`), lowercase, kebab-case. Trunk branches (`main`, `master`, `develop`, `dev`, `staging`, `prod`, `production`, `release`) and release branches yield **no** feature, not a bad one.
|
|
19
|
+
2. **`active_feature` in `{project-root}/_wizz/bmm/config.yaml`.** Used when the branch gives nothing.
|
|
20
|
+
3. **The request itself.** Only when 1 and 2 are both empty AND the user is clearly starting named work ("vamos fazer o painel de assinaturas"). Derive the slug, write it, and say so in **one line**. Do not ask.
|
|
21
|
+
4. **Nothing.** Artifacts go to the roots and memory carries no feature tag. This is a valid state, not a problem to fix.
|
|
17
22
|
|
|
18
|
-
|
|
23
|
+
The branch wins over the config: it describes the work happening now, while the config may be stale from a feature nobody switched off.
|
|
19
24
|
|
|
20
|
-
|
|
21
|
-
- `planning_artifacts`, `implementation_artifacts`
|
|
22
|
-
- `active_feature` (current value, may be empty or absent)
|
|
25
|
+
## When this skill runs
|
|
23
26
|
|
|
24
|
-
|
|
27
|
+
- **The user asks what is active** → answer from the resolution order and stop. Do not write anything.
|
|
28
|
+
- **The user asks to set, switch or clear** → they already named it (or asked to clear); normalize, write, confirm in one line. Do not ask for a slug they just gave you.
|
|
29
|
+
- **Genuine ambiguity** → two or more features are open and the request does not decide between them. This is the only case where you ask, and you ask once, offering the open features as options.
|
|
25
30
|
|
|
26
|
-
|
|
31
|
+
## Steps
|
|
27
32
|
|
|
28
|
-
|
|
29
|
-
- If empty or absent: "No active feature set. Artifacts are saving to the roots."
|
|
33
|
+
### Step 1: Load config
|
|
30
34
|
|
|
31
|
-
|
|
35
|
+
Load `{project-root}/_wizz/bmm/config.yaml` and resolve `project_name`, `communication_language`, `planning_artifacts`, `implementation_artifacts`, and the current `active_feature`. Always speak in `{communication_language}`.
|
|
32
36
|
|
|
33
|
-
### Step
|
|
37
|
+
### Step 2: Resolve the slug
|
|
34
38
|
|
|
35
|
-
|
|
39
|
+
Apply the resolution order above. Normalize to kebab-case: lowercase, strip accents, non-alphanumerics become hyphens, no leading or trailing hyphen, 60 characters max.
|
|
36
40
|
|
|
37
|
-
|
|
41
|
+
Confirm with the user **only** in the ambiguity case. A slug that came from the branch, from an explicit user instruction, or from a clear request is written without a confirmation round.
|
|
38
42
|
|
|
39
|
-
### Step
|
|
43
|
+
### Step 3: Write the config
|
|
40
44
|
|
|
41
|
-
|
|
42
|
-
- Normalize: lowercase and replace spaces with hyphens.
|
|
43
|
-
- Show the normalized slug and confirm it with the user before proceeding.
|
|
45
|
+
Set `active_feature:` to the slug (add the key if absent). To clear it, set it to `""`.
|
|
44
46
|
|
|
45
|
-
### Step
|
|
47
|
+
### Step 4: Create the subfolders
|
|
46
48
|
|
|
47
|
-
|
|
49
|
+
Create if missing:
|
|
48
50
|
|
|
49
|
-
-
|
|
50
|
-
-
|
|
51
|
-
- Save the file.
|
|
51
|
+
- `{planning_artifacts}/{active_feature}/`
|
|
52
|
+
- `{implementation_artifacts}/{active_feature}/`
|
|
52
53
|
|
|
53
|
-
|
|
54
|
+
Skip this step when clearing.
|
|
54
55
|
|
|
55
|
-
|
|
56
|
+
### Step 5: Report in one line
|
|
56
57
|
|
|
57
|
-
|
|
58
|
-
- `{implementation_artifacts}/{active_feature}/`
|
|
58
|
+
"Feature: **{active_feature}**. Artefatos em `{planning_artifacts}/{active_feature}/` e `{implementation_artifacts}/{active_feature}/`, memória desta sessão marcada com o mesmo tema."
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
When clearing: "Feature limpa. Artefatos voltam para as raízes e a memória sai sem tema de feature."
|
|
61
61
|
|
|
62
|
-
|
|
62
|
+
## The feature is also the memory tag
|
|
63
63
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
- `{
|
|
64
|
+
The slug is the single organizing axis, not a folder rule that stops at artifacts. While a feature is active:
|
|
65
|
+
|
|
66
|
+
- A decision saved to the Cérebro carries `tema: {active_feature}` in its frontmatter.
|
|
67
|
+
- The project state block records which feature the work sits under.
|
|
68
|
+
- An auto-memory entry about this work mentions the feature in its description, so a later `grep` by slug finds artifact, decision and trap together.
|
|
67
69
|
|
|
68
|
-
|
|
70
|
+
This reuses the `tema` axis that already exists for decisions. Do not create a second, parallel `feature:` field alongside it.
|
|
69
71
|
|
|
70
72
|
## Success Criteria
|
|
71
73
|
|
|
74
|
+
- ✅ The slug was resolved without asking the user, except in genuine ambiguity.
|
|
72
75
|
- ✅ `active_feature` updated in `_wizz/bmm/config.yaml`.
|
|
73
|
-
- ✅ Subfolders
|
|
74
|
-
- ✅
|
|
76
|
+
- ✅ Subfolders exist under planning-artifacts and implementation-artifacts.
|
|
77
|
+
- ✅ Memory written during the session carries the same slug as `tema`.
|
|
78
|
+
- ✅ The user got one line, not a dialogue.
|
|
@@ -37,7 +37,7 @@ activation_steps_append = []
|
|
|
37
37
|
|
|
38
38
|
persistent_facts = [
|
|
39
39
|
"file:{project-root}/**/project-context.md",
|
|
40
|
-
"
|
|
40
|
+
"FEATURE: o hook SessionStart já resolve a feature ativa a partir do branch git e injeta 'FEATURE ATIVA: <slug>'. Se ela existir, salve TODO artefato de planejamento e implementação na subpasta com esse nome ({planning_artifacts}/{active_feature}/, {implementation_artifacts}/{active_feature}/) e grave o slug em active_feature no {project-root}/_wizz/bmm/config.yaml na primeira escrita, avisando em UMA linha. Memória gravada nesta sessão leva o mesmo slug como tema. Sem feature resolvida, escreva nas raízes. NUNCA pergunte a feature ao usuário: invoque wizz-set-feature só se ele pedir para trocar, ou se houver duas features abertas e o pedido não decidir entre elas.",
|
|
41
41
|
]
|
|
42
42
|
|
|
43
43
|
role = "Translate product vision into a validated PRD, epics, and stories that development can execute during the Wizz Method planning phase."
|
|
@@ -37,7 +37,7 @@ activation_steps_append = []
|
|
|
37
37
|
|
|
38
38
|
persistent_facts = [
|
|
39
39
|
"file:{project-root}/**/project-context.md",
|
|
40
|
-
"
|
|
40
|
+
"FEATURE: o hook SessionStart já resolve a feature ativa a partir do branch git e injeta 'FEATURE ATIVA: <slug>'. Se ela existir, salve TODO artefato de planejamento e implementação na subpasta com esse nome ({planning_artifacts}/{active_feature}/, {implementation_artifacts}/{active_feature}/) e grave o slug em active_feature no {project-root}/_wizz/bmm/config.yaml na primeira escrita, avisando em UMA linha. Memória gravada nesta sessão leva o mesmo slug como tema. Sem feature resolvida, escreva nas raízes. NUNCA pergunte a feature ao usuário: invoque wizz-set-feature só se ele pedir para trocar, ou se houver duas features abertas e o pedido não decidir entre elas.",
|
|
41
41
|
]
|
|
42
42
|
|
|
43
43
|
role = "Turn user needs and the PRD into UX design specifications that inform architecture and implementation during the Wizz Method planning phase."
|
|
@@ -37,7 +37,7 @@ activation_steps_append = []
|
|
|
37
37
|
|
|
38
38
|
persistent_facts = [
|
|
39
39
|
"file:{project-root}/**/project-context.md",
|
|
40
|
-
"
|
|
40
|
+
"FEATURE: o hook SessionStart já resolve a feature ativa a partir do branch git e injeta 'FEATURE ATIVA: <slug>'. Se ela existir, salve TODO artefato de planejamento e implementação na subpasta com esse nome ({planning_artifacts}/{active_feature}/, {implementation_artifacts}/{active_feature}/) e grave o slug em active_feature no {project-root}/_wizz/bmm/config.yaml na primeira escrita, avisando em UMA linha. Memória gravada nesta sessão leva o mesmo slug como tema. Sem feature resolvida, escreva nas raízes. NUNCA pergunte a feature ao usuário: invoque wizz-set-feature só se ele pedir para trocar, ou se houver duas features abertas e o pedido não decidir entre elas.",
|
|
41
41
|
]
|
|
42
42
|
|
|
43
43
|
role = "Convert the PRD and UX into technical architecture decisions that keep implementation on track during the Wizz Method solutioning phase."
|
|
@@ -37,7 +37,7 @@ activation_steps_append = []
|
|
|
37
37
|
|
|
38
38
|
persistent_facts = [
|
|
39
39
|
"file:{project-root}/**/project-context.md",
|
|
40
|
-
"
|
|
40
|
+
"FEATURE: o hook SessionStart já resolve a feature ativa a partir do branch git e injeta 'FEATURE ATIVA: <slug>'. Se ela existir, salve TODO artefato de planejamento e implementação na subpasta com esse nome ({planning_artifacts}/{active_feature}/, {implementation_artifacts}/{active_feature}/) e grave o slug em active_feature no {project-root}/_wizz/bmm/config.yaml na primeira escrita, avisando em UMA linha. Memória gravada nesta sessão leva o mesmo slug como tema. Sem feature resolvida, escreva nas raízes. NUNCA pergunte a feature ao usuário: invoque wizz-set-feature só se ele pedir para trocar, ou se houver duas features abertas e o pedido não decidir entre elas.",
|
|
41
41
|
"When implementing against a library or framework, consult Context7 for current docs, APIs, and version-specific syntax before relying on training data or web search: call resolve-library-id with the library name, then query-docs with the returned /org/project id and a specific question. If Context7 is unavailable, tell the user once that they can enable it with `npx ctx7 setup`, then fall back to web research.",
|
|
42
42
|
]
|
|
43
43
|
|
|
@@ -4,10 +4,11 @@ Contrato mínimo que todo orquestrador ou spawn de subagente usa ao delegar
|
|
|
4
4
|
trabalho: wizz-router, wizz-maestro, wizz-party-mode (subagent/agent-team)
|
|
5
5
|
e swarm-orchestrator. Objetivo: cortar a dupla consulta ao cerebro (cerebro
|
|
6
6
|
pago 2x na mesma cadeia), travar o loop router-maestro-router, e passar só
|
|
7
|
-
|
|
7
|
+
o entrypoint da skill e apenas as referências necessárias (progressive disclosure), não o pacote inteiro.
|
|
8
8
|
|
|
9
9
|
## Campos do brief
|
|
10
10
|
|
|
11
|
+
- skill de área: nome canônico da persona a invocar via `Skill` (ex.: `wizz-growth`). Não é `subagent_type`: para isolar a tarefa, escolha um executor nativo disponível (`wizz-exec-*`) e instrua-o a carregar essa skill antes de trabalhar. A ausência de um executor não impede invocar a skill na sessão atual.
|
|
11
12
|
- origem: quem está delegando (ex: wizz-router, wizz-maestro). Regra
|
|
12
13
|
anti-loop: nunca invoque quem já está na cadeia de origem. Exemplo
|
|
13
14
|
proibido: router delega pro maestro, maestro devolve pro router.
|
|
@@ -17,9 +18,10 @@ a seção da skill que importa (progressive disclosure), não a skill inteira.
|
|
|
17
18
|
novo, usa o resumo recebido.
|
|
18
19
|
- decisões já tomadas na cadeia: lista curta do que já foi decidido antes
|
|
19
20
|
deste handoff (ex: paleta aprovada, escopo definido).
|
|
20
|
-
- seção relevante da skill:
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
- seção relevante da skill: indique o assunto e as referências necessárias.
|
|
22
|
+
Quem recebe carrega primeiro o SKILL.md completo via invocação da skill;
|
|
23
|
+
depois lê apenas as referências exigidas pela tarefa. Skills carregadas
|
|
24
|
+
pelo lead não são herdadas automaticamente por um subagente.
|
|
23
25
|
- model_hint (opcional): degrau da escada, não modelo cru. Valores:
|
|
24
26
|
`haiku | sonnet | opus | review`. Quem recebe despacha `wizz-exec-<hint>`
|
|
25
27
|
(nativo em Claude Code, Codex, OpenCode e Gemini CLI). Escalada: no
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Wizz Low Ticket
|
|
2
|
+
|
|
3
|
+
A portable knowledge base and four operating skills for **low ticket direct response** in Brazil and Portugal: offers between roughly R$19 and R$97, sold cold on Meta Ads, on a phone, mostly inside the Instagram in-app browser.
|
|
4
|
+
|
|
5
|
+
Install it and a fresh machine has the methodology and the four agents working, with no extra setup.
|
|
6
|
+
|
|
7
|
+
## What ships
|
|
8
|
+
|
|
9
|
+
| Skill | Does | Use when | Do not use when |
|
|
10
|
+
|---|---|---|---|
|
|
11
|
+
| `lowticket-metodologia` | routes a request to the one knowledge shard that answers it, loads the guardrails alongside | any low ticket work: offer, creative, page, campaign, funnel | SaaS, B2B, client site, high ticket |
|
|
12
|
+
| `lowticket-trafego` | campaign diagnosis and ruler: structure, bid cap, when to cut, how to scale | reading, cutting or scaling a Meta campaign | Google Ads, brand campaigns, writing ads |
|
|
13
|
+
| `lowticket-funil` | the post-checkout ladder: upsell, downsell, final offer, price rules | after the front-end converts, to raise average order value | before a front-end that converts exists |
|
|
14
|
+
| `lowticket-minerador` | mining and judging a competitor offer, with a cut-off rubric | hunting a new offer to model | the offer is already defined (use `wizz-offer-forge`) |
|
|
15
|
+
| `lowticket-pagina` | page performance: connect rate, LCP, pixel order, acceptance targets | optimizing or building a low ticket sales page | institutional sites or apps |
|
|
16
|
+
|
|
17
|
+
All five read the Cérebro on activation and **none of them keeps its own memory**, the same contract as `wizz-offer-forge`. What is decided lives in the Cérebro; what is known lives in the shards.
|
|
18
|
+
|
|
19
|
+
## The loading contract
|
|
20
|
+
|
|
21
|
+
The knowledge base is 20 shards. It is not loaded whole. Reading everything costs around 36k tokens; a typical answer needs under 5k.
|
|
22
|
+
|
|
23
|
+
| Step | Read | When |
|
|
24
|
+
|---|---|---|
|
|
25
|
+
| 0 | `knowledge/INDEX.md` + `knowledge/guardrails.md` | always |
|
|
26
|
+
| 1 | **one** shard named by the INDEX | the request matches a trigger |
|
|
27
|
+
| 2 | the raw source on the operator's machine | rare: the shard did not answer |
|
|
28
|
+
|
|
29
|
+
## Language
|
|
30
|
+
|
|
31
|
+
The framework surface is English: this file, the module definition, the SKILL.md frontmatter, the registry entry. **The knowledge is Portuguese**: the shard bodies, their filenames, the INDEX, the guardrails, the table headers.
|
|
32
|
+
|
|
33
|
+
That split is deliberate. The market this describes is BR/PT and the vocabulary is native (`bid cap`, `connect rate`, `order bump`, `Utmify`, `Pix`); translating it would make it less precise, not more portable. Decision recorded 2026-08-28.
|
|
34
|
+
|
|
35
|
+
## Origin
|
|
36
|
+
|
|
37
|
+
The knowledge here is a distillation: facts, benchmarks, checklists and critical analysis, written from scratch. **No third-party lesson text, transcript, PDF or prompt ships in this package.** Raw sources stay on the author's machine, outside npm and outside git.
|
|
38
|
+
|
|
39
|
+
If you extend a shard, keep it that way: write the fact, never the quote. `knowledge/15-como-estender.md` has the full process.
|
|
40
|
+
|
|
41
|
+
Three tactics present in the source material are recorded and **not adopted** in `knowledge/guardrails.md`: buying engagement, AI avatars passing as real people, and synthetic testimonials. They are loaded on every activation and stay blocked until the operation's owner decides otherwise.
|
|
42
|
+
|
|
43
|
+
## Optional config
|
|
44
|
+
|
|
45
|
+
The creative swipe file (155 real pieces, ~2 GB of video and image) does not travel. The written analysis of it, `CATALOGO.md`, does, and it is enough to work from.
|
|
46
|
+
|
|
47
|
+
To let the agent open a specific piece, point at the folder during install, or pin it by hand:
|
|
48
|
+
|
|
49
|
+
```toml
|
|
50
|
+
# _wizz/custom/config.user.toml (never overwritten by the installer)
|
|
51
|
+
[modules.lowticket]
|
|
52
|
+
swipe_file_path = "/absolute/path/to/the/swipe/file"
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Resolution order and the exact wording to use when the folder is absent: `skills/lowticket-metodologia/references/swipe-file.md`.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
code: lowticket
|
|
2
|
+
name: "Wizz Low Ticket"
|
|
3
|
+
description: "Low ticket direct-response playbook for Meta Ads (BR/PT): funnel diagnosis, bid-cap campaigns, creatives, sales pages, upsell ladders and offer mining. Knowledge base in Portuguese, loaded one shard at a time."
|
|
4
|
+
default_selected: false
|
|
5
|
+
|
|
6
|
+
# --- Origin note (read this before editing the knowledge base) ---
|
|
7
|
+
#
|
|
8
|
+
# The knowledge under skills/lowticket-metodologia/knowledge/ is a distillation
|
|
9
|
+
# written from scratch: facts, benchmarks, checklists and critical analysis.
|
|
10
|
+
# No third-party lesson text, transcript, PDF or prompt ships in this package.
|
|
11
|
+
# The raw sources stay on the author's machine, outside npm and outside git.
|
|
12
|
+
# Keep it that way: when you extend a shard, write the fact, never the quote.
|
|
13
|
+
#
|
|
14
|
+
# The knowledge body, the shard filenames and the INDEX are in Portuguese on
|
|
15
|
+
# purpose (the market it describes is BR/PT and the vocabulary is native).
|
|
16
|
+
# The framework surface (this file, SKILL.md frontmatter, the registry entry,
|
|
17
|
+
# the README) stays in English like the rest of Wizz Method.
|
|
18
|
+
# Decision recorded 2026-08-28.
|
|
19
|
+
|
|
20
|
+
# --- Module-specific config ---
|
|
21
|
+
|
|
22
|
+
swipe_file_path:
|
|
23
|
+
prompt:
|
|
24
|
+
- "Absolute path to your creative swipe file (the folder holding the reference videos and images)?"
|
|
25
|
+
- "Optional. Leave it empty: the skills still work from the written analysis in CATALOGO.md."
|
|
26
|
+
scope: user
|
|
27
|
+
default: ""
|
|
28
|
+
result: "{value}"
|
|
29
|
+
|
|
30
|
+
directories:
|
|
31
|
+
- "{output_folder}/lowticket"
|