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.
Files changed (148) hide show
  1. package/README.md +1 -1
  2. package/package.json +7 -2
  3. package/removals.txt +9 -0
  4. package/skills-registry.yaml +119 -36
  5. package/src/bmm-skills/1-analysis/wizz-agent-analyst/customize.toml +1 -1
  6. package/src/bmm-skills/1-analysis/wizz-set-feature/SKILL.md +41 -37
  7. package/src/bmm-skills/2-plan-workflows/wizz-agent-pm/customize.toml +1 -1
  8. package/src/bmm-skills/2-plan-workflows/wizz-agent-ux-designer/customize.toml +1 -1
  9. package/src/bmm-skills/3-solutioning/wizz-agent-architect/customize.toml +1 -1
  10. package/src/bmm-skills/3-solutioning/wizz-generate-project-context/project-context-template.md +5 -0
  11. package/src/bmm-skills/3-solutioning/wizz-generate-project-context/steps/step-01-discover.md +16 -5
  12. package/src/bmm-skills/3-solutioning/wizz-generate-project-context/steps/step-03-complete.md +5 -0
  13. package/src/bmm-skills/4-implementation/wizz-agent-dev/customize.toml +1 -1
  14. package/src/bmm-skills/4-implementation/wizz-retrospective/customize.toml +3 -1
  15. package/src/bmm-skills/4-implementation/wizz-retrospective/scripts/__pycache__/sprint_status.cpython-313.pyc +0 -0
  16. package/src/bmm-skills/4-implementation/wizz-retrospective/scripts/tests/__pycache__/test_git_evidence.cpython-313-pytest-9.1.1.pyc +0 -0
  17. package/src/bmm-skills/4-implementation/wizz-retrospective/scripts/tests/__pycache__/test_sprint_status.cpython-313-pytest-9.1.1.pyc +0 -0
  18. package/src/bmm-skills/4-implementation/wizz-sprint-planning/customize.toml +3 -1
  19. package/src/bmm-skills/4-implementation/wizz-sprint-planning/scripts/__pycache__/sprint_plan.cpython-313.pyc +0 -0
  20. package/src/bmm-skills/4-implementation/wizz-sprint-planning/scripts/tests/__pycache__/test_sprint_plan.cpython-313-pytest-9.1.1.pyc +0 -0
  21. package/src/core-skills/wizz-advanced-elicitation/scripts/__pycache__/pick_methods.cpython-313.pyc +0 -0
  22. package/src/core-skills/wizz-advanced-elicitation/scripts/tests/__pycache__/test_pick_methods.cpython-313-pytest-9.1.1.pyc +0 -0
  23. package/src/core-skills/wizz-brainstorming/scripts/__pycache__/brain.cpython-313.pyc +0 -0
  24. package/src/core-skills/wizz-brainstorming/scripts/tests/__pycache__/test_brain.cpython-313-pytest-9.1.1.pyc +0 -0
  25. package/src/core-skills/wizz-brainstorming/scripts/tests/__pycache__/test_brain.cpython-314.pyc +0 -0
  26. package/src/core-skills/wizz-forge-idea/scripts/__pycache__/resolve_personas.cpython-314.pyc +0 -0
  27. package/src/core-skills/wizz-forge-idea/scripts/tests/__pycache__/test_resolve_personas.cpython-314.pyc +0 -0
  28. package/src/core-skills/wizz-party-mode/scripts/__pycache__/resolve_party.cpython-314.pyc +0 -0
  29. package/src/core-skills/wizz-party-mode/scripts/tests/__pycache__/test_resolve_party.cpython-314.pyc +0 -0
  30. package/src/modules/lowticket/README.md +55 -0
  31. package/src/modules/lowticket/module.yaml +31 -0
  32. package/src/modules/lowticket/skills/lowticket-funil/SKILL.md +112 -0
  33. package/src/modules/lowticket/skills/lowticket-funil/references/copy-das-paginas.md +75 -0
  34. package/src/modules/lowticket/skills/lowticket-funil/references/mapa-do-funil.md +71 -0
  35. package/src/modules/lowticket/skills/lowticket-metodologia/CATALOGO.md +352 -0
  36. package/src/modules/lowticket/skills/lowticket-metodologia/SKILL.md +62 -0
  37. package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/01-principios.md +12 -0
  38. package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/02-diagnostico-funil.md +83 -0
  39. package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/03-campanha-bidcap.md +95 -0
  40. package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/04-criativos.md +66 -0
  41. package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/04a-criativos-ia.md +79 -0
  42. package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/04b-criativos-formatos.md +152 -0
  43. package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/05-oferta.md +51 -0
  44. package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/06-pagina-vendas.md +175 -0
  45. package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/06a-instagram.md +138 -0
  46. package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/07-funil-upsell.md +73 -0
  47. package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/08-pesquisa-publico.md +14 -0
  48. package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/09-especialista-coproducao.md +41 -0
  49. package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/10-levantar-caixa.md +49 -0
  50. package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/11-checklist-roi.md +36 -0
  51. package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/12-mineracao-ofertas.md +63 -0
  52. package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/12a-mineracao-veredito.md +78 -0
  53. package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/12b-fabrica-de-ofertas.md +178 -0
  54. package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/13-benchmarks-vsl.md +10 -0
  55. package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/14-vocabulario.md +55 -0
  56. package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/15-como-estender.md +35 -0
  57. package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/INDEX.md +45 -0
  58. package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/guardrails.md +33 -0
  59. package/src/modules/lowticket/skills/lowticket-metodologia/knowledge/pontos-em-aberto.md +42 -0
  60. package/src/modules/lowticket/skills/lowticket-metodologia/references/swipe-file.md +38 -0
  61. package/src/modules/lowticket/skills/lowticket-minerador/SKILL.md +115 -0
  62. package/src/modules/lowticket/skills/lowticket-minerador/references/rubrica.md +75 -0
  63. package/src/modules/lowticket/skills/lowticket-pagina/SKILL.md +106 -0
  64. package/src/modules/lowticket/skills/lowticket-pagina/references/metas-e-medicao.md +70 -0
  65. package/src/modules/lowticket/skills/lowticket-pagina/references/padroes-de-codigo.md +148 -0
  66. package/src/modules/lowticket/skills/lowticket-trafego/SKILL.md +88 -0
  67. package/src/modules/lowticket/skills/lowticket-trafego/references/formato-do-diagnostico.md +56 -0
  68. package/src/modules/lowticket/skills/lowticket-trafego/references/reguas.md +72 -0
  69. package/src/modules/wizz/README.md +1 -1
  70. package/src/modules/wizz/_shared/cerebro.md +35 -1
  71. package/src/modules/wizz/_shared/communication-rules.md +8 -1
  72. package/src/modules/wizz/_shared/encerramento.md +22 -0
  73. package/src/modules/wizz/_shared/token-economy.md +7 -10
  74. package/src/modules/wizz/agents/wizz-ads/customize.toml +1 -1
  75. package/src/modules/wizz/agents/wizz-copy/customize.toml +1 -1
  76. package/src/modules/wizz/agents/wizz-designer/SKILL.md +1 -1
  77. package/src/modules/wizz/agents/wizz-designer/customize.toml +1 -1
  78. package/src/modules/wizz/agents/wizz-growth/customize.toml +1 -1
  79. package/src/modules/wizz/agents/wizz-maestro/SKILL.md +5 -1
  80. package/src/modules/wizz/agents/wizz-maestro/customize.toml +1 -1
  81. package/src/modules/wizz/agents/wizz-memoria/SKILL.md +1 -1
  82. package/src/modules/wizz/agents/wizz-qa/SKILL.md +6 -0
  83. package/src/modules/wizz/agents/wizz-qa/customize.toml +1 -1
  84. package/src/modules/wizz/agents/wizz-seo/customize.toml +1 -1
  85. package/src/modules/wizz/agents/wizz-social/SKILL.md +1 -0
  86. package/src/modules/wizz/agents/wizz-social/customize.toml +1 -1
  87. package/src/modules/wizz/overrides/wizz-agent-analyst.toml +2 -2
  88. package/src/modules/wizz/overrides/wizz-agent-architect.toml +2 -2
  89. package/src/modules/wizz/overrides/wizz-agent-dev.toml +1 -1
  90. package/src/modules/wizz/overrides/wizz-agent-pm.toml +1 -1
  91. package/src/modules/wizz/overrides/wizz-agent-tech-writer.toml +1 -1
  92. package/src/modules/wizz/overrides/wizz-agent-ux-designer.toml +1 -1
  93. package/src/modules/wizz/subagents/codex/wizz-exec-haiku.toml +12 -0
  94. package/src/modules/wizz/subagents/codex/wizz-exec-opus.toml +12 -0
  95. package/src/modules/wizz/subagents/codex/wizz-exec-review.toml +11 -0
  96. package/src/modules/wizz/subagents/codex/wizz-exec-sonnet.toml +12 -0
  97. package/src/modules/wizz/subagents/gemini/wizz-exec-haiku.md +12 -0
  98. package/src/modules/wizz/subagents/gemini/wizz-exec-opus.md +12 -0
  99. package/src/modules/wizz/subagents/gemini/wizz-exec-review.md +11 -0
  100. package/src/modules/wizz/subagents/gemini/wizz-exec-sonnet.md +12 -0
  101. package/src/modules/wizz/subagents/opencode/wizz-exec-haiku.md +12 -0
  102. package/src/modules/wizz/subagents/opencode/wizz-exec-opus.md +12 -0
  103. package/src/modules/wizz/subagents/opencode/wizz-exec-review.md +11 -0
  104. package/src/modules/wizz/subagents/opencode/wizz-exec-sonnet.md +12 -0
  105. package/src/modules/wizz/subagents/wizz-exec-haiku.md +12 -0
  106. package/src/modules/wizz/subagents/wizz-exec-opus.md +12 -0
  107. package/src/modules/wizz/subagents/wizz-exec-review.md +11 -0
  108. package/src/modules/wizz/subagents/wizz-exec-sonnet.md +12 -0
  109. package/src/skills-lib/analytics-tracking/SKILL.md +2 -0
  110. package/src/skills-lib/analytics-tracking/references/utm-taxonomy.md +92 -0
  111. package/src/skills-lib/cerebro/SKILL.md +20 -17
  112. package/src/skills-lib/cerebro/references/comandos-pesquisa-e-memoria.md +96 -0
  113. package/src/skills-lib/cerebro/references/comandos-rotina-e-captura.md +25 -6
  114. package/src/skills-lib/cerebro/references/comandos-sessao.md +61 -37
  115. package/src/skills-lib/launch-readiness/SKILL.md +94 -0
  116. package/src/skills-lib/launch-readiness/references/01-tecnico-build.md +26 -0
  117. package/src/skills-lib/launch-readiness/references/02-seguranca.md +26 -0
  118. package/src/skills-lib/launch-readiness/references/03-seo-descoberta.md +27 -0
  119. package/src/skills-lib/launch-readiness/references/04-analytics-medicao.md +25 -0
  120. package/src/skills-lib/launch-readiness/references/05-conteudo-prova-social.md +25 -0
  121. package/src/skills-lib/launch-readiness/references/06-legal-lgpd.md +25 -0
  122. package/src/skills-lib/launch-readiness/references/07-infra-deploy-rollback.md +26 -0
  123. package/src/skills-lib/launch-readiness/references/08-fusao-priorizacao.md +33 -0
  124. package/src/skills-lib/launch-readiness/references/09-persistencia-project-context.md +48 -0
  125. package/src/skills-lib/premium-landing-ui-researcher/references/source-first-protocol.md +1 -1
  126. package/src/skills-lib/site-launch-kit/SKILL.md +1 -1
  127. package/src/skills-lib/taste-skill/SKILL.md +4 -2
  128. package/src/skills-lib/{taste-redesign → taste-skill}/references/design-audit.md +30 -41
  129. package/src/skills-lib/taste-skill/references/redesign-protocol.md +2 -2
  130. package/src/skills-lib/taste-skill/references/upgrade-techniques.md +33 -0
  131. package/src/skills-lib/tracking-audit/SKILL.md +78 -0
  132. package/src/skills-lib/tracking-audit/references/modo-diagnostico.md +72 -0
  133. package/src/skills-lib/tracking-audit/references/modo-implantacao.md +89 -0
  134. package/src/skills-lib/tracking-audit/references/utm-e-atribuicao.md +75 -0
  135. package/src/skills-lib/wizz-offer-forge/SKILL.md +30 -4
  136. package/src/skills-lib/wizz-offer-forge/references/plano-de-medicao.md +74 -0
  137. package/src/skills-lib/wizz-router/SKILL.md +8 -2
  138. package/src/skills-lib/wizz-router/references/routing-table-flat.md +4 -3
  139. package/tools/fetch-assets.mjs +3 -2
  140. package/tools/installer/commands/trace-report.js +248 -4
  141. package/tools/installer/modules/official-modules.js +5 -0
  142. package/tools/installer/modules/skills-lib.js +7 -1
  143. package/wizz-modules.yaml +20 -3
  144. package/src/skills-lib/cerebro/references/comandos-pesquisa-e-sync.md +0 -44
  145. package/src/skills-lib/graphify/.graphify_version +0 -1
  146. package/src/skills-lib/graphify/SKILL.md +0 -1199
  147. package/src/skills-lib/taste-redesign/SKILL.md +0 -42
  148. 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 /sync. Também ative quando o
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 "sincronizar vault".
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
- CONTEXT.md no repo é o espelho do vault para agentes cloud (Codex). Fluxo: Codex atualiza
11
- CONTEXT.md usuário roda /sync no Claude Code → vault atualizado.
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 sincronização do cérebro.
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
- Sync: /sync
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
- | /sync | 2 | 3 |
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
- - `CONTEXT.md` — Edit cirúrgico nos campos alterados. Nunca reescrever completo.
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
- _learnings/ ← YYYY-MM-DD-[slug].md
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 + stack + Hoje + Onde parou + O que falta + Sessões)
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. CONTEXT.md usa Markdown puro.
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-sync.md` — `/prospect` (pesquisar prospect) e `/sync` (espelhar CONTEXT.md vault) com passos e templates completos.
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. Markdown puro no CONTEXT.md.
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
- - Log histórico de sessões vai em `_index/sessions.md`, não no CEREBRO.md mantém o CEREBRO.md curto.
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. Zero reads de arquivos existentes.
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. Write direto em `_decisions/YYYY-MM-DD-[slug].md` (template abaixo)
44
- 3. `grep -n "## Decisões recentes" "$VAULT/CEREBRO.md"` → linha
45
- 4. Edit para inserir referência wiki-link logo abaixo dessa linha
46
- 5. Se projeto: `grep -n "## Decisões" "$VAULT/projetos/$PROJ.md"` Edit 1 linha
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
- ## Stack
29
- [breve descrição]
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
- ## [Projeto] [data última sessão]
63
- Stack: [1 linha]
64
- Onde parou: [bullets]
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 apenas o final do arquivo do projeto (1 Read)**
84
- - `offset = (total_linhas - 80)`, `limit = 80`
85
- - Isso captura: Hoje atual, Onde parou, O que falta, tabela Sessões
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`, sempre adicionar ACIMA da seção "Onde parou" existente:
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
- ## Hoje ([data] [sessão])
92
- - [item 1]
93
- - [item 2]
118
+ | [data] | [resumo 1 linha] |
94
119
  ```
95
120
 
96
- Substituir "Onde parou" e "O que falta" com o estado novo.
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. Atualizar CONTEXT.md (Edit cirúrgico campos alterados)**
105
- - Nunca reescrever o arquivo inteiro
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. Append em `_index/sessions.md` (1 Edit ou Write se não existir)**
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
- **9. Confirmar em 2 linhas** o que foi salvo.
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.