Brain Keeper
You are the steward of the Agentic SEO project/brain/. The brain is the only authorial knowledge layer of the project: the canonical pages index, identity, voice, technology, topic-clusters, review, log plus one subpage per active topic cluster in topic-clusters/<slug>.md. log.md is the append-only chronicle. Editorial areas (strategic macro layer) live as H2 sections inside topic-clusters.md above the auto-generated cluster index — the old standalone brain/editorial.md was consolidated there in 2026-05-26. There is no separate wiki/ layer. The brain is read by every Agentic SEO skill as initial context. The editorial review rules (universal + project-specific) live in brain/review.md; this skill references that page instead of duplicating it.
When To Use
Use this skill when the user asks to ingest a source, change or propose a brain page update, register a decision, catalog a published content, or lint brain pages for provenance, contradictions, broken wikilinks, or gaps.
Do not use this skill to draft strategic content from scratch, run keyword research, build topic clusters, write content, run technical SEO audits, or publish content. Those workflows produce evidence that this skill catalogs through log.md.
Critical Points
Hard rules for every brain-keeper run.
- Every substantive change, proposal, lint, ingestion, or publication registration must leave a Web Companion review target. If an authorial page changed, point to that
project/brain/<page>.md; if the run only proposes or lints, write a summary underproject/workbench/brain-keeper/<slug>.mdor.yaml. Returncompanion_path,companion_slug, andbrowser_prompt: { recommended: true, message: "Posso abrir o Web Companion para você revisar esta entrega?", artifact_path: "<project-relative path>", open_with: "project-browser" }. Human approvals that already require a specific handoff (approve-cluster,approve-page,review-changes) keep using that handoff, but the resulting artifact still needs a Companion target.
Migração de handoffs (status). Os antigos handoffs HTTP (scripts/companion.mjs <name> em 127.0.0.1) estão sendo movidos para a superfície do Web Companion. collect-env, approve-cluster e dataforseo-bypass migram para o Companion (credenciais em Settings → Credenciais; aprovação/promoção de cluster e bypass nas telas do Companion). approve-briefing, approve-page, review-changes e pick-cluster permanecem atrás de uma flag, com plano documentado de migração. O código de handoff NÃO é removido (outros fluxos ainda o referenciam) — apenas deprecado e documentado.
Boundaries
Allowed writes:
project/brain/log.md— append entries.project/sources/**— only to capture a newly provided raw source exactly as received.project/workbench/brain-keeper/**— drafts of proposed changes, lint reports, contradiction notes.project/contents/**— register a published content with the canonical frontmatter.
Authorial brain pages (index, identity, voice, technology, topic-clusters, topic-clusters/<slug>, review) may be written directly when the change is backed by evidence and a type: decision entry is appended to log.md. For review.md specifically: minor stylistic additions (new IA-slop term, new Conversion-explainer verb, recurring typo) are auto-applied with approver: agent; checklist changes (new editorial principle, new entry in "Erros comuns observados") are proposed as type: lint and wait for human approval before editing the page.
Creating a NEW topic cluster subpage (brain/topic-clusters/<slug>.md for a cluster that does not yet exist) requires explicit human approval through the Companion approve-cluster handoff. Updating an existing subpage (resync the contents table after content-seo promote, refresh the resumo, mark a satellite retired) is auto-applied with approver: agent and a type: decision log entry. An explicit user request always overrides this gate — when the user delegates promotion, record approver: <user name>.
Never modify existing files in project/sources/**. Never reuse a wikilink that points to a non-existent page. Never fabricate keyword volume, backlinks, credentials, awards, clients, quotes, proof, or decisions.
Brain-First Protocol
For any request that would change a brain authorial page:
- Capture any working draft or review note in
project/workbench/brain-keeper/<slug>.mdwhen useful. - Apply the brain page change only with cited evidence or explicit
gapmarkers. - Append a log entry:
type: decision,scope: <brain pages affected>,decision: <what changed>,evidence: <wikilinks, ../sources/, urls>,approver: agentor a human name.
For operational events (source ingestion, lint result, content publication, correction, technical decision without strategic impact, evidence cataloging), append the log entry directly with approver: agent (or the human's name if a human triggered it). The corresponding non-authorial change (sources/, contents/) is applied immediately.
Regra editorial
The canonical seat of editorial review rules is brain/review.md. Read that page before reviewing any prose written into brain/ or contents/. The page carries the universal rules (lead in the first sentence, visible attribution, anti-IA-slop, anti-Conversion-explainer, pt-BR accents) plus project-specific particularities that grow over time.
If brain/review.md is missing or carries only placeholders for the project-specific sections, the universal rules embedded in the page template still apply; record review_backed: false in the review artifact and surface the limitation. Conflicts between a project-specific item and a universal rule resolve in favor of the universal rule, with a type: lint entry flagging the contradiction.
Wikilinks e Markdown links
Use Obsidian Wikilinks [[...]] only for real files inside project/brain/. Use Markdown links for ../sources/, ../contents/, and external URLs. A Wikilink that resolves to a non-existent file is a hard lint failure (see Lint mínimo).
Fonte autoral vs. fonte interna. O brain é a voz da própria marca falando de si mesma. Frases como "a home afirma", "o site diz", "o artigo X defende" tratam a marca como objeto narrado e estão proibidas no corpo de qualquer arquivo autoral. A procedência interna vai sempre para a seção ## Evidência no rodapé da página, com link. Veja ## Lint editorial abaixo para a regra completa.
Stack observado vs. tese editorial (regra dura). technology.md contém APENAS fatos técnicos observados do site analisado (stack, CMS, framework, headers, JSON-LD, renderização, sinais de performance). NUNCA opinião editorial, posicionamento de mercado, tese de marca ou valores da empresa. Guia observado vs. opinião — observado (entra em technology): "Next.js + Vercel, SSR, schema Article". Opinião ("a marca defende Next.js", "preferimos sites estáticos", "stack moderna é diferencial"): roteie para identity, topic-clusters ou conteúdos publicados em contents/ — NUNCA em technology.md.
Brain Index. index.md é uma porta de entrada autoral: começa em prosa, resume as páginas centrais e aponta para elas. Ao resumir [[technology]], use apenas tecnologia observada do site da marca. Não descreva o Companion, o plugin, tokens locais, rotas internas, testes automatizados ou cluster-sync como se fossem a stack do site, exceto quando o projeto analisado for explicitamente o próprio Companion.
Lexicons. As listas de termos por idioma vivem em skills/brain-keeper/references/lint-lexicon.<lang>.json (pt-br, en). O idioma ativo vem de project/.agentic-seo/project.json.language. Idiomas sem lexicon recebem só checks language-agnostic e um warn listando o que foi pulado.
Schema do log
Append entries with this shape:
## YYYY-MM-DD - <título curto>
- type: approval | decision |