wizz-method 1.16.1 → 1.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/package.json +7 -2
- package/removals.txt +9 -0
- package/skills-registry.yaml +119 -36
- 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/3-solutioning/wizz-generate-project-context/project-context-template.md +5 -0
- package/src/bmm-skills/3-solutioning/wizz-generate-project-context/steps/step-01-discover.md +16 -5
- package/src/bmm-skills/3-solutioning/wizz-generate-project-context/steps/step-03-complete.md +5 -0
- package/src/bmm-skills/4-implementation/wizz-agent-dev/customize.toml +1 -1
- package/src/bmm-skills/4-implementation/wizz-retrospective/customize.toml +3 -1
- package/src/bmm-skills/4-implementation/wizz-retrospective/scripts/__pycache__/sprint_status.cpython-313.pyc +0 -0
- package/src/bmm-skills/4-implementation/wizz-retrospective/scripts/tests/__pycache__/test_git_evidence.cpython-313-pytest-9.1.1.pyc +0 -0
- package/src/bmm-skills/4-implementation/wizz-retrospective/scripts/tests/__pycache__/test_sprint_status.cpython-313-pytest-9.1.1.pyc +0 -0
- package/src/bmm-skills/4-implementation/wizz-sprint-planning/customize.toml +3 -1
- package/src/bmm-skills/4-implementation/wizz-sprint-planning/scripts/__pycache__/sprint_plan.cpython-313.pyc +0 -0
- package/src/bmm-skills/4-implementation/wizz-sprint-planning/scripts/tests/__pycache__/test_sprint_plan.cpython-313-pytest-9.1.1.pyc +0 -0
- package/src/core-skills/wizz-advanced-elicitation/scripts/__pycache__/pick_methods.cpython-313.pyc +0 -0
- package/src/core-skills/wizz-advanced-elicitation/scripts/tests/__pycache__/test_pick_methods.cpython-313-pytest-9.1.1.pyc +0 -0
- package/src/core-skills/wizz-brainstorming/scripts/__pycache__/brain.cpython-313.pyc +0 -0
- package/src/core-skills/wizz-brainstorming/scripts/tests/__pycache__/test_brain.cpython-313-pytest-9.1.1.pyc +0 -0
- package/src/core-skills/wizz-brainstorming/scripts/tests/__pycache__/test_brain.cpython-314.pyc +0 -0
- package/src/core-skills/wizz-forge-idea/scripts/__pycache__/resolve_personas.cpython-314.pyc +0 -0
- package/src/core-skills/wizz-forge-idea/scripts/tests/__pycache__/test_resolve_personas.cpython-314.pyc +0 -0
- package/src/core-skills/wizz-party-mode/scripts/__pycache__/resolve_party.cpython-314.pyc +0 -0
- package/src/core-skills/wizz-party-mode/scripts/tests/__pycache__/test_resolve_party.cpython-314.pyc +0 -0
- 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/encerramento.md +22 -0
- 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 +1 -1
- package/src/modules/wizz/agents/wizz-designer/customize.toml +1 -1
- package/src/modules/wizz/agents/wizz-growth/customize.toml +1 -1
- package/src/modules/wizz/agents/wizz-maestro/SKILL.md +5 -1
- 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/SKILL.md +6 -0
- 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/SKILL.md +1 -0
- 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/modules/wizz/subagents/codex/wizz-exec-haiku.toml +12 -0
- package/src/modules/wizz/subagents/codex/wizz-exec-opus.toml +12 -0
- package/src/modules/wizz/subagents/codex/wizz-exec-review.toml +11 -0
- package/src/modules/wizz/subagents/codex/wizz-exec-sonnet.toml +12 -0
- package/src/modules/wizz/subagents/gemini/wizz-exec-haiku.md +12 -0
- package/src/modules/wizz/subagents/gemini/wizz-exec-opus.md +12 -0
- package/src/modules/wizz/subagents/gemini/wizz-exec-review.md +11 -0
- package/src/modules/wizz/subagents/gemini/wizz-exec-sonnet.md +12 -0
- package/src/modules/wizz/subagents/opencode/wizz-exec-haiku.md +12 -0
- package/src/modules/wizz/subagents/opencode/wizz-exec-opus.md +12 -0
- package/src/modules/wizz/subagents/opencode/wizz-exec-review.md +11 -0
- package/src/modules/wizz/subagents/opencode/wizz-exec-sonnet.md +12 -0
- package/src/modules/wizz/subagents/wizz-exec-haiku.md +12 -0
- package/src/modules/wizz/subagents/wizz-exec-opus.md +12 -0
- package/src/modules/wizz/subagents/wizz-exec-review.md +11 -0
- package/src/modules/wizz/subagents/wizz-exec-sonnet.md +12 -0
- 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/launch-readiness/SKILL.md +94 -0
- package/src/skills-lib/launch-readiness/references/01-tecnico-build.md +26 -0
- package/src/skills-lib/launch-readiness/references/02-seguranca.md +26 -0
- package/src/skills-lib/launch-readiness/references/03-seo-descoberta.md +27 -0
- package/src/skills-lib/launch-readiness/references/04-analytics-medicao.md +25 -0
- package/src/skills-lib/launch-readiness/references/05-conteudo-prova-social.md +25 -0
- package/src/skills-lib/launch-readiness/references/06-legal-lgpd.md +25 -0
- package/src/skills-lib/launch-readiness/references/07-infra-deploy-rollback.md +26 -0
- package/src/skills-lib/launch-readiness/references/08-fusao-priorizacao.md +33 -0
- package/src/skills-lib/launch-readiness/references/09-persistencia-project-context.md +48 -0
- package/src/skills-lib/premium-landing-ui-researcher/references/source-first-protocol.md +1 -1
- package/src/skills-lib/site-launch-kit/SKILL.md +1 -1
- package/src/skills-lib/taste-skill/SKILL.md +4 -2
- package/src/skills-lib/{taste-redesign → taste-skill}/references/design-audit.md +30 -41
- package/src/skills-lib/taste-skill/references/redesign-protocol.md +2 -2
- package/src/skills-lib/taste-skill/references/upgrade-techniques.md +33 -0
- 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/wizz-offer-forge/SKILL.md +30 -4
- package/src/skills-lib/wizz-offer-forge/references/plano-de-medicao.md +74 -0
- package/src/skills-lib/wizz-router/SKILL.md +8 -2
- package/src/skills-lib/wizz-router/references/routing-table-flat.md +4 -3
- package/tools/fetch-assets.mjs +3 -2
- package/tools/installer/commands/trace-report.js +248 -4
- package/tools/installer/modules/official-modules.js +5 -0
- package/tools/installer/modules/skills-lib.js +7 -1
- package/wizz-modules.yaml +20 -3
- 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/src/skills-lib/taste-redesign/SKILL.md +0 -42
- package/src/skills-lib/taste-redesign/references/upgrade-techniques.md +0 -31
|
@@ -12,3 +12,15 @@ Regras:
|
|
|
12
12
|
- Toque apenas os arquivos listados no brief. Nada de melhoria extra fora do escopo.
|
|
13
13
|
- Siga o estilo do código ao redor (nomes, densidade de comentários, idioma).
|
|
14
14
|
- Retorno: lista do que mudou (1 linha por arquivo), o que não conseguiu fazer e por quê. Sem narração, sem introdução.
|
|
15
|
+
|
|
16
|
+
Disciplina de artefatos forçados (Fable Method — resolve onde prosa de instrução falha em modelo barato):
|
|
17
|
+
|
|
18
|
+
- INTENT: antes da 1ª edição, escreva 1 linha com o que vai mudar e por quê.
|
|
19
|
+
- DONE: defina o critério de pronto com a VERIFICAÇÃO NOMEADA que vai provar (teste/comando/build específico). Sem verificação nomeada = brief mal definido: pare e pergunte.
|
|
20
|
+
- TWINS: ao corrigir um defeito, procure o MESMO defeito em outros lugares do projeto antes de fechar.
|
|
21
|
+
- PENDING: liste explicitamente o que ficou sem resolver.
|
|
22
|
+
- AUTH: antes de ação irreversível (deploy, delete, migração, git push), cite a autorização literal do usuário; sem ela, pare e pergunte.
|
|
23
|
+
- SURPRESA: se a realidade contradiz o esperado (spec vs código), reporte antes de prosseguir — não "conserte" silenciosamente.
|
|
24
|
+
- Proibição: não enfraqueça nem pule check/teste pra passar.
|
|
25
|
+
- Proibição: não adicione dependência sem necessidade; não mexa fora do escopo pedido.
|
|
26
|
+
- Ao falhar: retry 1x com o mesmo escopo antes de considerar ampliar.
|
|
@@ -14,3 +14,15 @@ Regras:
|
|
|
14
14
|
- Siga o estilo do código ao redor (nomes, densidade de comentários, idioma).
|
|
15
15
|
- Rode teste/type check do que tocou quando existirem no projeto e reporte o resultado real, inclusive falha.
|
|
16
16
|
- Retorno: o que mudou (1 linha por arquivo), causa raiz identificada, resultado de testes, pendências. Sem narração.
|
|
17
|
+
|
|
18
|
+
Disciplina de artefatos forçados (Fable Method — resolve onde prosa de instrução falha em modelo barato):
|
|
19
|
+
|
|
20
|
+
- INTENT: antes da 1ª edição, escreva 1 linha com o que vai mudar e por quê.
|
|
21
|
+
- DONE: defina o critério de pronto com a VERIFICAÇÃO NOMEADA que vai provar (teste/comando/build específico). Sem verificação nomeada = brief mal definido: pare e pergunte.
|
|
22
|
+
- TWINS: ao corrigir um defeito, procure o MESMO defeito em outros lugares do projeto antes de fechar.
|
|
23
|
+
- PENDING: liste explicitamente o que ficou sem resolver.
|
|
24
|
+
- AUTH: antes de ação irreversível (deploy, delete, migração, git push), cite a autorização literal do usuário; sem ela, pare e pergunte.
|
|
25
|
+
- SURPRESA: se a realidade contradiz o esperado (spec vs código), reporte antes de prosseguir — não "conserte" silenciosamente.
|
|
26
|
+
- Proibição: não enfraqueça nem pule check/teste pra passar.
|
|
27
|
+
- Proibição: não adicione dependência sem necessidade; não mexa fora do escopo pedido.
|
|
28
|
+
- Ao falhar: retry 1x com o mesmo escopo antes de considerar ampliar.
|
|
@@ -13,3 +13,14 @@ Regras:
|
|
|
13
13
|
- Não edite nenhum arquivo. Sua função é avaliar, não implementar.
|
|
14
14
|
- Conflito de opinião com o executor não se resolve aqui: registre o conflito e suba para a sessão decidir.
|
|
15
15
|
- Retorno: veredito único (aprovado, aprovado com ressalvas ou reprovado) seguido da lista de findings, cada um em 1 linha no formato arquivo:linha e descrição. Sem narração.
|
|
16
|
+
|
|
17
|
+
Disciplina de "judge" (Fable Method):
|
|
18
|
+
|
|
19
|
+
- RE-RUN: re-execute você mesmo TODA verificação que o executor alegou ter feito (teste, build, comando específico) — não confie no relatório dele.
|
|
20
|
+
- DIFF vs NARRATIVA: compare o que o diff realmente faz com o que o relatório do executor diz que fez; qualquer divergência é finding.
|
|
21
|
+
- Tabela de fraudes a caçar:
|
|
22
|
+
- teste enfraquecido ou pulado
|
|
23
|
+
- completion falsa (relatório diz "pronto" sem prova)
|
|
24
|
+
- scope creep (mexeu além do brief)
|
|
25
|
+
- dependência adicionada silenciosamente
|
|
26
|
+
- check/teste comentado ou desabilitado
|
|
@@ -13,3 +13,15 @@ Regras:
|
|
|
13
13
|
- Siga o estilo do código ao redor (nomes, densidade de comentários, idioma).
|
|
14
14
|
- Rode teste/type check do que tocou quando existirem no projeto e reporte o resultado real, inclusive falha.
|
|
15
15
|
- Retorno: o que mudou (1 linha por arquivo), resultado de testes, pendências. Sem narração.
|
|
16
|
+
|
|
17
|
+
Disciplina de artefatos forçados (Fable Method — resolve onde prosa de instrução falha em modelo barato):
|
|
18
|
+
|
|
19
|
+
- INTENT: antes da 1ª edição, escreva 1 linha com o que vai mudar e por quê.
|
|
20
|
+
- DONE: defina o critério de pronto com a VERIFICAÇÃO NOMEADA que vai provar (teste/comando/build específico). Sem verificação nomeada = brief mal definido: pare e pergunte.
|
|
21
|
+
- TWINS: ao corrigir um defeito, procure o MESMO defeito em outros lugares do projeto antes de fechar.
|
|
22
|
+
- PENDING: liste explicitamente o que ficou sem resolver.
|
|
23
|
+
- AUTH: antes de ação irreversível (deploy, delete, migração, git push), cite a autorização literal do usuário; sem ela, pare e pergunte.
|
|
24
|
+
- SURPRESA: se a realidade contradiz o esperado (spec vs código), reporte antes de prosseguir — não "conserte" silenciosamente.
|
|
25
|
+
- Proibição: não enfraqueça nem pule check/teste pra passar.
|
|
26
|
+
- Proibição: não adicione dependência sem necessidade; não mexa fora do escopo pedido.
|
|
27
|
+
- Ao falhar: retry 1x com o mesmo escopo antes de considerar ampliar.
|
|
@@ -197,6 +197,8 @@ dataLayer.push({
|
|
|
197
197
|
- Be specific but concise: `blog_footer_cta`, not `cta1`
|
|
198
198
|
- Document all UTMs in a spreadsheet
|
|
199
199
|
|
|
200
|
+
**For closed value lists, the naming standard, BR/PT checkout specifics and governance**: See [references/utm-taxonomy.md](references/utm-taxonomy.md)
|
|
201
|
+
|
|
200
202
|
---
|
|
201
203
|
|
|
202
204
|
## Debugging and Validation
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# UTM Taxonomy and Governance
|
|
2
|
+
|
|
3
|
+
A UTM scheme is only worth what its weakest tag is worth. One free-text `utm_source` per person and the channel report is fiction within a month. This reference is the governance layer: the allowed values, the naming standard, and who owns it.
|
|
4
|
+
|
|
5
|
+
For auditing a direct-response funnel (pixel, CAPI, checkout passthrough, test purchase per route), use the `tracking-audit` skill instead. This file defines the taxonomy; that skill proves it is installed correctly.
|
|
6
|
+
|
|
7
|
+
## The one rule
|
|
8
|
+
|
|
9
|
+
**Every value comes from a closed list.** If a value is not on the list, it does not go in the URL: it goes to whoever owns the taxonomy, gets added to the list, and only then gets used. Free text in `utm_source` is the single most common cause of a useless channel report.
|
|
10
|
+
|
|
11
|
+
## Canonical values
|
|
12
|
+
|
|
13
|
+
### utm_source — where the click came from
|
|
14
|
+
|
|
15
|
+
Use the platform, never the campaign or the person.
|
|
16
|
+
|
|
17
|
+
| Value | Use for |
|
|
18
|
+
|---|---|
|
|
19
|
+
| `google`, `bing` | search and display networks |
|
|
20
|
+
| `facebook`, `instagram` | Meta placements (keep them separate: the reports differ) |
|
|
21
|
+
| `tiktok`, `kwai`, `pinterest`, `linkedin`, `x` | the named platform |
|
|
22
|
+
| `youtube` | YouTube, whether organic or paid |
|
|
23
|
+
| `whatsapp`, `telegram` | messaging apps |
|
|
24
|
+
| `newsletter`, `email` | owned lists (pick one and keep it) |
|
|
25
|
+
| `partner-<slug>` | affiliates and partners, one slug per partner |
|
|
26
|
+
|
|
27
|
+
### utm_medium — the kind of traffic
|
|
28
|
+
|
|
29
|
+
This is the field that feeds channel grouping. Keep it tiny.
|
|
30
|
+
|
|
31
|
+
| Value | Use for |
|
|
32
|
+
|---|---|
|
|
33
|
+
| `cpc` | paid click auctions |
|
|
34
|
+
| `paid-social` | paid social placements |
|
|
35
|
+
| `organic-social` | unpaid posts, stories, bio links |
|
|
36
|
+
| `email` | any email send |
|
|
37
|
+
| `affiliate` | affiliate and partner traffic |
|
|
38
|
+
| `referral` | links from other sites you do not control |
|
|
39
|
+
| `qr` | printed or physical placements |
|
|
40
|
+
|
|
41
|
+
Do not invent `facebook-ads` as a medium. Platform belongs in `utm_source`; `utm_medium` answers "what kind of traffic is this".
|
|
42
|
+
|
|
43
|
+
### utm_campaign, utm_content, utm_term
|
|
44
|
+
|
|
45
|
+
- `utm_campaign`: the offer or initiative, not the month. `black-friday-2026`, not `campanha-nova`.
|
|
46
|
+
- `utm_content`: what distinguishes two versions of the same placement. Creative, headline variant, or button.
|
|
47
|
+
- `utm_term`: keyword for search, placement for social.
|
|
48
|
+
|
|
49
|
+
## Naming standard
|
|
50
|
+
|
|
51
|
+
- lowercase, no accents, no spaces
|
|
52
|
+
- hyphen between words, underscore never mixed in halfway
|
|
53
|
+
- fixed field order, decided once and written down
|
|
54
|
+
- never `|`, `#`, `&` or `?`: they are delimiters inside the tag string and they break attribution silently
|
|
55
|
+
|
|
56
|
+
Renaming later does not fix a bad name. Ad platforms keep serving the old name from cache for impressions already delivered, so the historical report stays split.
|
|
57
|
+
|
|
58
|
+
## Brazil and Portugal specifics
|
|
59
|
+
|
|
60
|
+
Direct-response operations in BR and PT usually route through a checkout platform that owns the final domain. Two consequences:
|
|
61
|
+
|
|
62
|
+
1. **The checkout may not forward `utm_*`.** Several platforms (Hotmart, Kiwify, Eduzz, Monetizze, Braip and similar) carry a native parameter of their own. Pack the same identifiers into that native parameter as well, so the sale webhook still knows the origin. The exact parameter name is platform-specific: confirm it in the platform docs before writing the template.
|
|
63
|
+
2. **Payment method changes the funnel shape.** PIX and card approve at different rates and on different clocks. Split "sale started to approved" by payment method or the number means nothing.
|
|
64
|
+
|
|
65
|
+
Owned routes that people forget to tag, and that inflate the organic bucket:
|
|
66
|
+
|
|
67
|
+
| Route | Suggested tag |
|
|
68
|
+
|---|---|
|
|
69
|
+
| Instagram bio link | `utm_source=instagram&utm_medium=organic-social&utm_campaign=bio` |
|
|
70
|
+
| Instagram highlight | `utm_source=instagram&utm_medium=organic-social&utm_campaign=destaque-<name>` |
|
|
71
|
+
| Story swipe up | `utm_source=instagram&utm_medium=organic-social&utm_campaign=story-<date>` |
|
|
72
|
+
| WhatsApp broadcast | `utm_source=whatsapp&utm_medium=referral&utm_campaign=<list>` |
|
|
73
|
+
| Link in a printed piece | `utm_source=<place>&utm_medium=qr&utm_campaign=<piece>` |
|
|
74
|
+
|
|
75
|
+
"Organic" is not a channel. It is the bucket of everything that arrived untagged. Tag every owned route and watch it shrink: the size of the drop is how much the bucket was lying.
|
|
76
|
+
|
|
77
|
+
## Attribution by ID
|
|
78
|
+
|
|
79
|
+
Whenever the ad platform exposes an object ID, carry both name and ID:
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
utm_campaign=<campaign-name>|<campaign-id>
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Names get renamed; IDs do not. Attribution keyed on the name breaks the first time someone tidies up the ad account.
|
|
86
|
+
|
|
87
|
+
## Governance
|
|
88
|
+
|
|
89
|
+
- One owner for the taxonomy. Not a team, a person.
|
|
90
|
+
- One document with the closed lists, linked from wherever campaigns are built.
|
|
91
|
+
- A monthly check for values outside the lists. Anything outside is either an addition to the list or a fix at the source.
|
|
92
|
+
- A link builder (spreadsheet or small form) beats hand-typed URLs. Hand-typed URLs are where the typos come from.
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
name: cerebro
|
|
3
3
|
description: >
|
|
4
4
|
Sistema de memória persistente entre sessões de AI. Use esta skill sempre que o usuário digitar
|
|
5
|
-
/iniciar, /salvar, /ver, /dia, /dump, /decisao, /conteudo, /prospect ou /
|
|
5
|
+
/iniciar, /salvar, /ver, /dia, /dump, /decisao, /conteudo, /prospect ou /memoria. Também ative quando o
|
|
6
6
|
usuário mencionar "cerebro", "atualizar o cerebro", "salvar sessão", "resumo do projeto",
|
|
7
|
-
"estado atual", "registrar decisão", "ideia de conteúdo", "pesquisar prospect" ou "
|
|
7
|
+
"estado atual", "registrar decisão", "ideia de conteúdo", "pesquisar prospect" ou "ler a auto-memória".
|
|
8
8
|
Esta skill mantém CEREBRO.md como índice central e arquivos por projeto — é a memória do
|
|
9
9
|
usuário entre Claude Code, Codex e qualquer outro agente.
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
A auto-memória do agente é a outra camada, e `/memoria` é a ponte de leitura dela para
|
|
11
|
+
qualquer plataforma (Codex, OpenCode, Gemini) rodando na mesma máquina.
|
|
12
12
|
Use quando o usuário digitar um desses comandos de barra ou mencionar memória, sessão,
|
|
13
|
-
decisão, ideia de conteúdo, prospect ou
|
|
13
|
+
decisão, ideia de conteúdo, prospect ou auto-memória.
|
|
14
14
|
---
|
|
15
15
|
|
|
16
16
|
# Cérebro — Sistema de Memória Persistente
|
|
@@ -22,7 +22,7 @@ Sessão: /iniciar /salvar /ver
|
|
|
22
22
|
Rotina: /dia
|
|
23
23
|
Captura: /dump /decisao /conteudo
|
|
24
24
|
Pesquisa: /prospect
|
|
25
|
-
|
|
25
|
+
Memória: /memoria
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
## REGRA DE OURO — Mínimo de tokens em toda operação
|
|
@@ -44,13 +44,12 @@ Read offset=(linha-5) limit=15 # → lê só o trecho necessário
|
|
|
44
44
|
| /dia | 1 por projeto ativo | 0 |
|
|
45
45
|
| /dump | 0 | 1 |
|
|
46
46
|
| /decisao | 0 | 2 |
|
|
47
|
-
| /
|
|
47
|
+
| /memoria | 1 | 0 |
|
|
48
48
|
|
|
49
49
|
**Regras de leitura por arquivo:**
|
|
50
50
|
- `CEREBRO.md` — **nunca Read completo**. Grep para achar o bloco do projeto (5–8 linhas), Edit direto.
|
|
51
51
|
- `projetos/[nome].md` — Read das **últimas 80 linhas** (tail). Sessões e estado atual ficam no final.
|
|
52
|
-
- `
|
|
53
|
-
- `_decisions/`, `_learnings/`, `_content/` — Write direto, sem ler arquivo existente.
|
|
52
|
+
- `_decisions/`, `_content/` — Write direto, sem ler arquivo existente.
|
|
54
53
|
|
|
55
54
|
## Vault
|
|
56
55
|
|
|
@@ -72,20 +71,23 @@ grep -m1 "^vault:" "/caminho/CEREBRO.md"
|
|
|
72
71
|
[Vault]/
|
|
73
72
|
CEREBRO.md ← índice central (identidade + projetos ativos — manter < 150 linhas úteis)
|
|
74
73
|
_index/
|
|
75
|
-
sessions.md ← log histórico de sessões (append-only, nunca lido)
|
|
76
74
|
cerebro-archive.md ← excedente do CEREBRO.md movido na compactação do /salvar (grep, nunca Read completo)
|
|
77
75
|
_knowledge/
|
|
78
76
|
about-me.md
|
|
79
77
|
goals.md
|
|
80
|
-
_decisions/ ← YYYY-MM-DD-[slug].md
|
|
81
|
-
|
|
78
|
+
_decisions/ ← YYYY-MM-DD-[slug].md, com frontmatter (data, projeto, tema,
|
|
79
|
+
status, supersede). O campo `tema` é o que o grep acha.
|
|
80
|
+
(não existe mais `_learnings/`: era escrito e nunca
|
|
81
|
+
lido por nenhum comando, e foi removido em 2026-08-28.
|
|
82
|
+
Armadilha de stack e bug não óbvio vão para a
|
|
83
|
+
auto-memória do agente, que carrega sozinha.)
|
|
82
84
|
_content/ ← YYYY-MM-DD-[slug].md
|
|
83
85
|
_prospects/ ← YYYY-MM-DD-[slug].md
|
|
84
86
|
projetos/
|
|
85
|
-
[nome].md ← estado atual do projeto (estrutura: cabeçalho +
|
|
87
|
+
[nome].md ← estado atual do projeto (estrutura: cabeçalho + bloco `Estado` de 12 linhas no topo + Preferências + Contexto + O que falta + Sessões)
|
|
86
88
|
```
|
|
87
89
|
|
|
88
|
-
**Regra de links:** sempre wiki-links `[[arquivo]]` dentro do vault.
|
|
90
|
+
**Regra de links:** sempre wiki-links `[[arquivo]]` dentro do vault.
|
|
89
91
|
|
|
90
92
|
## Comandos (load on demand)
|
|
91
93
|
|
|
@@ -93,13 +95,14 @@ Cada comando tem seu procedimento passo-a-passo completo em um arquivo de refer
|
|
|
93
95
|
|
|
94
96
|
- `references/comandos-sessao.md` — `/iniciar` (configurar projeto novo), `/ver` (estado atual rápido), `/salvar` (fechar sessão) com passos, orçamento de tokens e templates completos.
|
|
95
97
|
- `references/comandos-rotina-e-captura.md` — `/dia` (briefing do dia), `/dump` (captura rápida), `/decisao` (registrar decisão), `/conteudo` (ideia de conteúdo) com passos e templates completos.
|
|
96
|
-
- `references/comandos-pesquisa-e-
|
|
98
|
+
- `references/comandos-pesquisa-e-memoria.md` — `/prospect` (pesquisar prospect) e `/memoria` (ler e alimentar a auto-memória do projeto de qualquer plataforma) com passos e templates completos.
|
|
97
99
|
|
|
98
100
|
## Regras gerais
|
|
99
101
|
|
|
100
|
-
- Wiki-links `[[arquivo]]` dentro do vault.
|
|
102
|
+
- Wiki-links `[[arquivo]]` dentro do vault.
|
|
101
103
|
- Datas absolutas no formato `YYYY-MM-DD`, nunca relativas ("ontem", "semana passada"). Fatos voláteis (versão publicada, estado de release, etc.) levam prefixo `em YYYY-MM-DD:` no texto; na releitura, o agente trata como snapshot daquele momento, não como fato atual.
|
|
102
104
|
- Nunca apagar histórico — só acrescentar.
|
|
103
|
-
-
|
|
105
|
+
- **Grep antes de gravar.** Antes de criar decisão, ideia ou registro novo, busque o tema na pasta de destino. Se o fato já existe, atualize o registro que existe; decisão que substitui outra marca a antiga como `superseded` em vez de conviver com ela.
|
|
106
|
+
- Narrativa de sessão mora no arquivo do projeto: bloco `Estado` no topo (12 linhas, sobrescrito a cada `/salvar`) + 1 linha na tabela `Sessões`. Não existe mais `_index/sessions.md`: era escrito e nunca lido por nenhum comando, e saiu em 2026-08-28.
|
|
104
107
|
- Resumos: 1 linha por item.
|
|
105
108
|
- CEREBRO.md deve ficar sempre < 150 linhas úteis — mover tabelas longas para `_index/`.
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Comandos de Pesquisa e Memoria: /prospect, /memoria
|
|
2
|
+
|
|
3
|
+
Carregue este arquivo ao executar `/prospect` ou `/memoria`. Antes de tudo, releia a REGRA DE OURO e a seção Vault no SKILL.md principal — esses comandos dependem delas.
|
|
4
|
+
|
|
5
|
+
## /prospect
|
|
6
|
+
|
|
7
|
+
**Objetivo:** pesquisar e registrar prospect.
|
|
8
|
+
|
|
9
|
+
**Passos:**
|
|
10
|
+
1. Receber nome/empresa + objetivo (tudo de uma vez)
|
|
11
|
+
2. Pesquisar via web search (setor, presença digital, dores, oportunidades)
|
|
12
|
+
3. Write direto em `_prospects/YYYY-MM-DD-[slug].md`
|
|
13
|
+
4. Resumo executivo para o usuário (não precisa estar no arquivo)
|
|
14
|
+
|
|
15
|
+
**Template `_prospects/YYYY-MM-DD-[slug].md`:**
|
|
16
|
+
```markdown
|
|
17
|
+
# [Nome / Empresa]
|
|
18
|
+
> Data: [data] | Objetivo: [tipo] | Status: pesquisado
|
|
19
|
+
|
|
20
|
+
## Perfil
|
|
21
|
+
- Setor / Tamanho / Produto / Público-alvo
|
|
22
|
+
|
|
23
|
+
## Presença digital
|
|
24
|
+
- Site / Redes / Ads ativos
|
|
25
|
+
|
|
26
|
+
## Oportunidade e ângulo de abordagem
|
|
27
|
+
[o que oferecer e como entrar]
|
|
28
|
+
|
|
29
|
+
## Próximo passo
|
|
30
|
+
- [ ] [ação]
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## /memoria
|
|
34
|
+
|
|
35
|
+
**Objetivo:** ler (e alimentar) a auto-memória do projeto a partir de **qualquer**
|
|
36
|
+
plataforma, não só do Claude Code.
|
|
37
|
+
|
|
38
|
+
A auto-memória guarda as duas linhas que não moram no vault: **armadilha de stack /
|
|
39
|
+
bug não-óbvio** e **preferência de trabalho / correção do usuário**. No Claude Code ela
|
|
40
|
+
carrega sozinha no início da sessão. Em Codex, OpenCode e Gemini não carrega nada, mas
|
|
41
|
+
o dado está lá: é um diretório comum de arquivos `.md` no disco local. Este comando é a
|
|
42
|
+
ponte de leitura. Não existe segunda cópia dos fatos — a fonte continua sendo uma só.
|
|
43
|
+
|
|
44
|
+
### Passo 1 — resolver o diretório de memória
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
PROJ_DIR="$(pwd)"
|
|
48
|
+
SLUG="$(printf '%s' "$PROJ_DIR" | sed 's/[/.]/-/g')"
|
|
49
|
+
MEM="$HOME/.claude/projects/$SLUG/memory"
|
|
50
|
+
# fallback: o slug histórico nem sempre normaliza espaço e ponto do mesmo jeito
|
|
51
|
+
[ -d "$MEM" ] || MEM="$(ls -d "$HOME"/.claude/projects/*"$(basename "$PROJ_DIR")"/memory 2>/dev/null | head -1)"
|
|
52
|
+
echo "$MEM"
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Diretório inexistente = projeto sem auto-memória. Siga sem travar; não é problema a corrigir.
|
|
56
|
+
|
|
57
|
+
### Passo 2 — carregar só o índice
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
cat "$MEM/MEMORY.md"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
O índice tem teto de 8 KB e é 1 linha por memória. **Nunca leia os arquivos individuais
|
|
64
|
+
em bloco.** Abra um arquivo só quando a linha do índice for relevante ao pedido da vez:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
grep -rln "termo" "$MEM" --include="*.md" | head -5 # depois Read só o que casar
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
`_archive/` fica fora do índice de propósito. Só entre nele quando o índice não tiver a resposta.
|
|
71
|
+
|
|
72
|
+
### Passo 3 — gravar (mesma pasta, mesmo formato)
|
|
73
|
+
|
|
74
|
+
Vale o Dever de Memória e o teto: **40 memórias e 8 KB de índice por projeto**. Antes de
|
|
75
|
+
criar, `grep` no destino; se o fato já existe, atualize o arquivo que existe.
|
|
76
|
+
|
|
77
|
+
```markdown
|
|
78
|
+
---
|
|
79
|
+
name: <slug-em-kebab-case>
|
|
80
|
+
description: <resumo de uma linha, é o que decide a relevância na recuperação>
|
|
81
|
+
metadata:
|
|
82
|
+
type: user | feedback | project | reference
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
<o fato. Para feedback/project, siga com as linhas **Why:** e **How to apply:**.
|
|
86
|
+
Ligue memórias relacionadas com [[nome-da-outra]].>
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Depois de escrever o arquivo, acrescente 1 linha ao `MEMORY.md`:
|
|
90
|
+
`- [Título](arquivo.md) — gancho`
|
|
91
|
+
|
|
92
|
+
### Limites honestos
|
|
93
|
+
|
|
94
|
+
- É **pull, não push**: fora do Claude Code nada carrega sozinho, o agente precisa rodar o comando.
|
|
95
|
+
- Vale só para agente rodando na **mesma máquina**. Agente remoto não enxerga este disco.
|
|
96
|
+
- O teto e a poda continuam valendo igual, venha a escrita de qual plataforma vier.
|
|
@@ -36,19 +36,38 @@ Carregue este arquivo ao executar `/dia`, `/dump`, `/decisao` ou `/conteudo`. An
|
|
|
36
36
|
|
|
37
37
|
## /decisao
|
|
38
38
|
|
|
39
|
-
**Objetivo:** registrar decisão.
|
|
39
|
+
**Objetivo:** registrar decisão. 1 grep antes, nenhum Read.
|
|
40
40
|
|
|
41
41
|
**Passos:**
|
|
42
42
|
1. Receber descrição + alternativas + projeto (perguntar tudo de uma vez se não passado)
|
|
43
|
-
2.
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
2. **Grep antes de gravar** (obrigatório, 1 bash call):
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
grep -ril "<2 ou 3 palavras do tema>" "$VAULT/_decisions/" | head -5
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
- Achou decisão sobre o mesmo tema: **não crie arquivo novo**. Abra o que existe e decida entre dois caminhos:
|
|
50
|
+
- a decisão nova **substitui** a antiga → marque a antiga com `status: superseded` e `supersedida_por: <slug novo>`, e crie a nova com `supersede: <slug antigo>`
|
|
51
|
+
- a decisão nova **detalha** a antiga → edite a antiga, não crie a segunda
|
|
52
|
+
- Não achou nada: siga para o passo 3.
|
|
53
|
+
|
|
54
|
+
3. Write direto em `_decisions/YYYY-MM-DD-[slug].md` (template abaixo)
|
|
55
|
+
4. `grep -n "## Decisões recentes" "$VAULT/CEREBRO.md"` → linha
|
|
56
|
+
5. Edit para inserir referência wiki-link logo abaixo dessa linha
|
|
57
|
+
6. Se há projeto: `grep -n "## Decisões" "$VAULT/projetos/$PROJ.md"` → Edit 1 linha
|
|
47
58
|
|
|
48
59
|
**Template `_decisions/YYYY-MM-DD-[slug].md`:**
|
|
49
60
|
```markdown
|
|
61
|
+
---
|
|
62
|
+
data: YYYY-MM-DD
|
|
63
|
+
projeto: [nome]
|
|
64
|
+
tema: [2 a 4 palavras-chave separadas por vírgula, é por elas que o grep acha]
|
|
65
|
+
status: ativa
|
|
66
|
+
supersede: [slug da decisão que esta substitui, ou omitir]
|
|
67
|
+
supersedida_por: [preenchido depois, quando outra decisão substituir esta]
|
|
68
|
+
---
|
|
69
|
+
|
|
50
70
|
# [Título]
|
|
51
|
-
> Data: [data] | Projeto: [[projetos/nome]] | Status: ativa
|
|
52
71
|
|
|
53
72
|
## Decisão
|
|
54
73
|
[1-2 linhas]
|
|
@@ -2,11 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
Carregue este arquivo ao executar `/iniciar`, `/ver` ou `/salvar`. Antes de tudo, releia a REGRA DE OURO e a seção Vault no SKILL.md principal — esses comandos dependem delas.
|
|
4
4
|
|
|
5
|
+
## O bloco Estado
|
|
6
|
+
|
|
7
|
+
Todo arquivo em `projetos/` começa com um bloco `## Estado` de no **máximo 12 linhas**, logo abaixo do título. Ele é sobrescrito a cada `/salvar` e é a única coisa que o `/ver` precisa ler.
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
## Estado
|
|
11
|
+
- **Fase:** [em que ponto o projeto está, 1 linha]
|
|
12
|
+
- **Stack:** [1 linha]
|
|
13
|
+
- **Onde parou:** [1 linha]
|
|
14
|
+
- **Próximo passo:** [1 linha, a primeira coisa a fazer ao voltar]
|
|
15
|
+
- **Bloqueio:** [1 linha, ou "nenhum"]
|
|
16
|
+
- **Última sessão:** [YYYY-MM-DD] — [1 linha]
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Por que 12 linhas: o `/ver` vira 1 Read de 14 linhas em vez de um tail de 60. E o bloco fica no topo, onde qualquer humano abrindo a nota também lê primeiro.
|
|
20
|
+
|
|
21
|
+
O que **não** entra no bloco: histórico, decisão, aprendizado, lista longa de pendências. Histórico é a tabela `Sessões`; decisão é `_decisions/`; aprendizado é a auto-memória do agente; a lista completa de pendências é a seção `O que falta`.
|
|
22
|
+
|
|
5
23
|
## /iniciar
|
|
6
24
|
|
|
7
25
|
**Objetivo:** configurar projeto novo. Só cria arquivos — não lê nada além do CEREBRO.md mínimo.
|
|
8
26
|
|
|
9
27
|
**Passos:**
|
|
28
|
+
|
|
10
29
|
1. Descobrir vault (ver seção Vault)
|
|
11
30
|
2. `grep -c "$PROJ" "$VAULT/CEREBRO.md"` → verificar se projeto já existe (0 = novo)
|
|
12
31
|
3. Se novo: entrevistar em 1 mensagem (organização, info essencial, estilo, modo)
|
|
@@ -15,21 +34,27 @@ Carregue este arquivo ao executar `/iniciar`, `/ver` ou `/salvar`. Antes de tudo
|
|
|
15
34
|
6. Confirmar
|
|
16
35
|
|
|
17
36
|
**Template `projetos/[nome].md`:**
|
|
37
|
+
|
|
18
38
|
```markdown
|
|
19
39
|
# [Nome] — Estado Atual
|
|
20
40
|
> Atualizado: [data]
|
|
21
41
|
|
|
42
|
+
## Estado
|
|
43
|
+
- **Fase:** [fase]
|
|
44
|
+
- **Stack:** [stack]
|
|
45
|
+
- **Onde parou:** [1 linha]
|
|
46
|
+
- **Próximo passo:** [1 linha]
|
|
47
|
+
- **Bloqueio:** nenhum
|
|
48
|
+
- **Última sessão:** [data] — [1 linha]
|
|
49
|
+
|
|
22
50
|
## Preferências
|
|
23
51
|
- Organização: [resposta]
|
|
24
52
|
- Info essencial: [resposta]
|
|
25
53
|
- Estilo: [resposta]
|
|
26
54
|
- Modo: [registro / sugestivo]
|
|
27
55
|
|
|
28
|
-
##
|
|
29
|
-
[
|
|
30
|
-
|
|
31
|
-
## Onde parou
|
|
32
|
-
-
|
|
56
|
+
## Contexto
|
|
57
|
+
[o que o bloco Estado não cabe: stack detalhada, restrições, links]
|
|
33
58
|
|
|
34
59
|
## O que falta
|
|
35
60
|
- [ ]
|
|
@@ -41,6 +66,7 @@ Carregue este arquivo ao executar `/iniciar`, `/ver` ou `/salvar`. Antes de tudo
|
|
|
41
66
|
```
|
|
42
67
|
|
|
43
68
|
**Template bloco em CEREBRO.md:**
|
|
69
|
+
|
|
44
70
|
```markdown
|
|
45
71
|
### [Nome] [emoji]
|
|
46
72
|
- **Stack:** [stack]
|
|
@@ -51,20 +77,14 @@ Carregue este arquivo ao executar `/iniciar`, `/ver` ou `/salvar`. Antes de tudo
|
|
|
51
77
|
|
|
52
78
|
## /ver
|
|
53
79
|
|
|
54
|
-
**Objetivo:** mostrar estado atual rápido. Máximo: 1 Read.
|
|
80
|
+
**Objetivo:** mostrar estado atual rápido. Máximo: 1 Read de 14 linhas.
|
|
55
81
|
|
|
56
82
|
**Passos:**
|
|
57
|
-
1. `wc -l "$VAULT/projetos/$PROJ.md"` → total de linhas
|
|
58
|
-
2. Read com `offset=(n-60)`, `limit=60` → pega Onde parou + O que falta + Sessões
|
|
59
|
-
3. Retornar em formato condensado:
|
|
60
83
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
O que falta: [checkboxes]
|
|
66
|
-
Última sessão: [1 linha]
|
|
67
|
-
```
|
|
84
|
+
1. Read `projetos/[nome].md` com `limit=14` (o bloco Estado está no topo)
|
|
85
|
+
2. Devolver o bloco quase como está, sem reescrever
|
|
86
|
+
|
|
87
|
+
**Arquivo antigo, sem bloco Estado no topo:** cai no caminho lento uma única vez — `wc -l` e Read das últimas 60 linhas — e ao devolver, ofereça criar o bloco. Aceito, o próximo `/ver` volta a custar 1 Read curto.
|
|
68
88
|
|
|
69
89
|
## /salvar
|
|
70
90
|
|
|
@@ -73,6 +93,7 @@ O que falta: [checkboxes]
|
|
|
73
93
|
**Passos (executar em ordem, sem desvios):**
|
|
74
94
|
|
|
75
95
|
**1. Localizar projeto e bloco no CEREBRO.md (1 bash call)**
|
|
96
|
+
|
|
76
97
|
```bash
|
|
77
98
|
VAULT=~/Documents/projects/Obsidian\ Vault
|
|
78
99
|
PROJ=construcao # inferir do diretório atual ou contexto
|
|
@@ -80,43 +101,46 @@ grep -n "### \|Última sessão\|Pendente" "$VAULT/CEREBRO.md" | grep -A2 -i "$PR
|
|
|
80
101
|
wc -l "$VAULT/projetos/$PROJ.md"
|
|
81
102
|
```
|
|
82
103
|
|
|
83
|
-
**2. Ler
|
|
84
|
-
|
|
85
|
-
-
|
|
104
|
+
**2. Ler o topo e o fim do arquivo do projeto (2 Reads curtos)**
|
|
105
|
+
|
|
106
|
+
- topo: `limit=14` → bloco Estado
|
|
107
|
+
- fim: `offset = (total_linhas - 40)`, `limit = 40` → O que falta e tabela Sessões
|
|
86
108
|
|
|
87
109
|
**3. Construir as alterações na memória, depois aplicar (Edits atômicos)**
|
|
88
110
|
|
|
89
|
-
Em `projetos/[nome].md
|
|
111
|
+
Em `projetos/[nome].md`:
|
|
112
|
+
|
|
113
|
+
- **Sobrescrever o bloco `## Estado`** inteiro, mantendo os mesmos 6 campos e o teto de 12 linhas. Não empilhar bloco novo: o histórico é a tabela.
|
|
114
|
+
- Atualizar a seção `O que falta` (marcar o que saiu, acrescentar o que entrou).
|
|
115
|
+
- Acrescentar 1 linha ao fim da tabela `Sessões`:
|
|
116
|
+
|
|
90
117
|
```markdown
|
|
91
|
-
|
|
92
|
-
- [item 1]
|
|
93
|
-
- [item 2]
|
|
118
|
+
| [data] | [resumo 1 linha] |
|
|
94
119
|
```
|
|
95
120
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
Adicionar linha na tabela Sessões (append na última linha da tabela).
|
|
121
|
+
Arquivo sem bloco `## Estado`: criar agora, logo abaixo do título, com o que a sessão apurou.
|
|
99
122
|
|
|
100
123
|
**4. Atualizar bloco do projeto em CEREBRO.md (1 Edit)**
|
|
124
|
+
|
|
101
125
|
- Usar grep do passo 1 para saber as linhas exatas
|
|
102
126
|
- Edit cirúrgico apenas nas linhas "Última sessão" e "Pendente"
|
|
103
127
|
|
|
104
|
-
**5.
|
|
105
|
-
-
|
|
106
|
-
- Editar apenas: data no cabeçalho, pendências em "O que falta", commit hash se mudou
|
|
128
|
+
**5. Se houve decisão relevante:** criar arquivo em `_decisions/` (ver `comandos-rotina-e-captura.md` para o frontmatter e a regra de grep-antes-de-gravar).
|
|
129
|
+
Aprendizado técnico (armadilha de stack, bug não óbvio, pegadinha de ambiente) **não vai para o vault**: vai para a auto-memória do agente. No vault ninguém lia. No Claude Code ela carrega sozinha no início da sessão; em Codex, OpenCode e Gemini o caminho de leitura é o `/memoria` (ver `comandos-pesquisa-e-memoria.md`).
|
|
107
130
|
|
|
108
|
-
**6.
|
|
109
|
-
```markdown
|
|
110
|
-
| [data] | [projeto] | [resumo 1 linha] |
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
**7. Se houve decisão ou aprendizado relevante:** criar arquivo em `_decisions/` ou `_learnings/` (Write direto, sem Read prévio).
|
|
131
|
+
**6. Higiene do índice (compactação)**
|
|
114
132
|
|
|
115
|
-
**8. Higiene do índice (compactação)**
|
|
116
133
|
```bash
|
|
117
134
|
wc -l "$VAULT/CEREBRO.md"
|
|
118
135
|
```
|
|
136
|
+
|
|
119
137
|
- Se > 150 linhas: mover o conteúdo mais antigo/menos essencial (projeto ✅ concluído ou ❌ descontinuado com histórico longo, ou entradas de "Decisões recentes" além das ~15 mais novas) para `_index/cerebro-archive.md`, deixando no lugar só 1 linha de referência `[[_index/cerebro-archive]]`. Nunca apagar, só mover.
|
|
120
138
|
- Se ≤ 150 linhas: pular este passo.
|
|
121
139
|
|
|
122
|
-
|
|
140
|
+
```bash
|
|
141
|
+
grep -c "^| " "$VAULT/projetos/$PROJ.md"
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
- Tabela Sessões com mais de 15 linhas: mover as mais antigas para `_index/cerebro-archive.md`, sob `## Sessões antigas — [projeto]`, deixando as 15 mais novas no arquivo do projeto. Nunca apagar, só mover.
|
|
145
|
+
|
|
146
|
+
**7. Confirmar em 2 linhas** o que foi salvo.
|