LLM Wiki — Segundo Cérebro para Claude Code + Obsidian
Inspirado no padrão LLM Wiki de Andrej Karpathy (gist). Esta skill transforma o Claude Code em um mantenedor disciplinado de wiki que constrói e mantém incrementalmente um vault Obsidian persistente e interligado à medida que você alimenta fontes. O conhecimento se acumula — referências cruzadas, contradições e sínteses já estão lá quando você consulta.
Princípio central
A maioria dos fluxos de trabalho LLM+docs é RAG: recupere fragmentos no momento da consulta, sintetize do zero, esqueça. O wiki é acumulativo: as fontes são lidas uma vez, integradas em uma base de conhecimento markdown persistente e mantidas atualizadas. Você curada e pergunta; o LLM lê, arquiva, faz referências cruzadas e mantém.
O Obsidian é a IDE. O LLM é o programador. O wiki é a base de código.
Quando usar
- Pessoal: rastrear objetivos, saúde, psicologia, diário, autodesenvolvimento
- Pesquisa: análises aprofundadas ao longo de semanas sobre um tema — papers, artigos, relatórios, tese em evolução
- Companheiro de livro: arquive capítulos à medida que lê; construa um companheiro estilo fan-wiki para personagens, temas, linhas de enredo
- Negócios/equipe: wiki interno alimentado por Slack, notas de reunião, chamadas — LLM faz a manutenção que ninguém quer fazer
- Análise competitiva, due diligence, planejamento de viagens, notas de curso, hobbies profundos
NÃO use quando: você precisa de Q&A pontual sobre um documento fixo (use RAG), não planeja adicionar fontes ao longo do tempo, ou não quer o Obsidian no fluxo.
Arquitetura (três camadas)
vault/
├── raw/ # Camada 1 — IMUTÁVEL fonte da verdade
│ ├── <arquivos de fonte> # Artigos, papers, PDFs, imagens, dados
│ └── assets/ # Imagens baixadas de artigos clonados
├── wiki/ # Camada 2 — base de conhecimento do LLM
│ ├── index.md # Catálogo de conteúdo (LLM atualiza a cada ingestão)
│ ├── log.md # Linha do tempo append-only (## [AAAA-MM-DD] <op> | <título>)
│ ├── entities/ # Páginas de Pessoa/Org/Local
│ ├── concepts/ # Ideias, teorias, frameworks
│ ├── sources/ # Uma página de resumo por fonte ingerida
│ ├── comparisons/ # Páginas de análise entre fontes
│ └── synthesis/ # Sínteses de alto nível, teses, visões gerais
├── CLAUDE.md # Esquema + convenções (Claude Code)
└── AGENTS.md # Mesmo conteúdo, para outros agentes
- Camada 1 (raw/) — você é o dono. O LLM apenas lê; nunca escreve.
- Camada 2 (wiki/) — o LLM é o dono. Ele cria, atualiza e faz referências cruzadas de páginas. Você a lê.
- Camada 3 (CLAUDE.md / AGENTS.md) — o esquema. Convenções, fluxos de trabalho, regras de frontmatter. Co-evoluído por você e o LLM.
Três operações principais
- Ingestão — LLM lê uma fonte, discute os insights com você, escreve um resumo da fonte, atualiza 10-15 páginas relevantes, atualiza o índice, adiciona ao log. Veja
references/ingest-workflow.md.
- Consulta — LLM lê
index.md primeiro, aprofunda nas páginas relevantes, sintetiza com citações. Boas respostas são arquivadas de volta no wiki para que as explorações se acumulem. Veja references/query-workflow.md.
- Lint — Verificação de saúde: contradições, afirmações desatualizadas, páginas órfãs, referências cruzadas ausentes, conceitos mencionados mas sem página própria, lacunas de dados a preencher com busca na web. Veja
references/lint-workflow.md.
Início rápido
# 1. Inicializar um vault (no diretório do vault do Obsidian)
python scripts/init_vault.py --path ~/vaults/research --topic "LLM interpretability"
# 2. Coloque uma fonte em raw/, depois ingira
/wiki-ingest ~/vaults/research/raw/anthropic-monosemanticity.pdf
# 3. Faça perguntas (respostas podem ser arquivadas de volta no wiki)
/wiki-query "como a monossemanticidade se compara à interpretabilidade mecanicista?"
# 4. Verificação periódica de saúde
/wiki-lint
# 5. Veja a linha do tempo
/wiki-log --last 10
Slash commands (este plugin inclui)
| Comando |
Propósito |
/wiki-init |
Inicializar um novo vault com arquivos de esquema + estrutura inicial |
/wiki-ingest <caminho> |
Ler uma fonte, discutir, atualizar o wiki, registrar |
/wiki-query <pergunta> |
Pesquisar no wiki, sintetizar resposta, oferecer arquivamento |
/wiki-lint |
Executar verificação de saúde — contradições, órfãos, afirmações desatualizadas, lacunas |
/wiki-log |
Mostrar entradas de log recentes (usa ferramentas unix em log.md) |
Sub-agentes (este plugin inclui)
| Agente |
Quando é despachado |
wiki-ingestor |
Fluxo de ingestão delegado — lê a fonte, propõe atualizações, aplica após sua aprovação |
wiki-linter |
Executa o fluxo de trabalho de verificação de saúde de forma independente, relata achados |
wiki-librarian |
Responde consultas usando busca index-first, sintetiza com citações |
Ferramentas Python (scripts/)
Todas as ferramentas usam apenas biblioteca padrão (sem instalações pip). Execute com python scripts/<tool>.py --help.
| Script |
Propósito |
init_vault.py |
Criar estrutura de pastas + semear CLAUDE.md, AGENTS.md, index.md, log.md |
ingest_source.py |
Auxiliar: extrair texto/frontmatter de um arquivo fonte, pronto para revisão do LLM |
update_index.py |
Regenerar index.md a partir do frontmatter das páginas do wiki (categoria, data, contagem de fontes) |
append_log.py |
Adicionar uma entrada de log padronizada ## [AAAA-MM-DD] <op> | <título> |
wiki_search.py |
Busca BM25 sobre páginas do wiki (fallback autônomo quando index.md não é suficiente) |
lint_wiki.py |
Encontrar órfãos (sem links de entrada), páginas desatualizadas, referências cruzadas ausentes, links quebrados |
graph_analyzer.py |
Computar estatísticas do grafo de links — hubs, órfãos, clusters, componentes desconectados |
export_marp.py |
Renderizar uma página do wiki (ou subárvore) para um slide deck Marp |
Compatibilidade entre ferramentas
O esquema do vault fica em CLAUDE.md (Claude Code) ou AGENTS.md (outros agentes). O mesmo conteúdo funciona em ambos. Este plugin inclui ambos os templates.
CLAUDE.md → Claude Code
AGENTS.md → outros agentes CLI
Os scripts são Python puro stdlib → executam de forma idêntica em qualquer lugar. Apenas o arquivo de carregamento muda por ferramenta.
Configuração do Obsidian (recomendada)
- Obsidian Web Clipper — extensão de navegador; converte artigos da web para markdown e os deposita em
raw/
- Baixar imagens localmente — Configurações → Arquivos e links → Caminho da pasta de anexos =
raw/assets/. Configurações → Atalhos de teclado → vincule "Baixar anexos do arquivo atual" a Ctrl+Shift+D
- Visão de grafo — veja hubs/órfãos; essencial para detectar problemas estruturais
- Plugin Marp — slide decks baseados em Markdown diretamente das páginas do wiki
- Plugin Dataview — tabelas/listas dinâmicas sobre frontmatter das páginas (tags, datas, contagens de fontes)
- Git — o vault é um repositório markdown simples; versione-o
Guia completo de configuração: references/obsidian-setup.md
Por que isso funciona (vs. RAG simples)
| RAG Simples |
LLM Wiki |
| Redescobre o conhecimento a cada consulta |
O conhecimento se acumula |
| Referências cruzadas recomputadas toda vez |
Referências cruzadas pré-escritas e mantidas |
| Contradições surgem apenas se você perguntar |
Contradições sinalizadas durante a ingestão |
| Explorações desaparecem no histórico de chat |
Boas respostas arquivadas como novas páginas |
| Escala por infraestrutura de embeddings |
Escala por markdown + index.md + busca local opcional |
Em ~100 fontes / centenas de páginas, index.md + busca no sistema de arquivos é suficiente. Além disso, adicione uma ferramenta de busca local como qmd ou use scripts/wiki_search.py.
Skills relacionadas (encadeiam via context: fork)
Esta skill está marcada com context: fork para que outras skills possam encadeá-la:
para-memory-files — memória pelo método PARA; complementar como memória pessoal de longo prazo que alimenta fontes no wiki
obsidian-vault (mattpocock) — auxiliar leve do Obsidian; esta skill é a camada de wiki mantida no topo
rag-design — quando o wiki ultrapassa ~500 páginas, use rag-design para adicionar uma camada de recuperação
mcp-design — expor o wiki como uma ferramenta MCP
agent-communication — para manutenção multi-agente do wiki (ingestor + linter + librarian)
Documentos de referência
references/wiki-schema.md — layout completo do vault, frontmatter de páginas, convenções de nomes
references/page-formats.md — templates de entidade, conceito, fonte, comparação, síntese
references/ingest-workflow.md — o fluxo de ingestão detalhado que o agente wiki-ingestor segue
references/query-workflow.md — padrões de consulta, formato de citação, arquivamento de respostas
references/lint-workflow.md — heurísticas de verificação de saúde
references/obsidian-setup.md — plugins do Obsidian, atalhos de teclado, configuração do vault
references/cross-tool-setup.md — configuração por ferramenta
references/memex-principles.md — o Memex de Bush, por que o LLM muda a matemática de manutenção
Templates (assets/)
CLAUDE.md.template, AGENTS.md.template — carregadores de esquema por ferramenta
index.md.template, log.md.template — índice e log iniciais
page-templates/ — entidade, conceito, resumo de fonte, comparação, síntese
example-vault/ — pequeno exemplo trabalhado que você pode estudar ou copiar
Regra de ferro
O LLM nunca edita arquivos em raw/. Jamais. As fontes são imutáveis. Todas as escritas do LLM vão para wiki/. Se você precisar corrigir uma fonte, faça isso em raw/ você mesmo — depois reingestione.
1---2name: llm-wiki3description: Use quando estiver construindo ou mantendo uma base de conhecimento pessoal persistente (segundo cérebro) no Obsidian, onde um LLM ingere fontes de forma incremental, atualiza páginas de entidades/conceitos, mantém referências cruzadas e mantém uma síntese atualizada. Gatilhos incluem "segundo cérebro", "wiki no Obsidian", "gestão de conhecimento pessoal", "ingerir este paper/artigo/livro", "construir um wiki de pesquisa", "conhecimento acumulado", "Memex", ou sempre que o usuário quiser que o conhecimento se acumule entre sessões em vez de ser redescoberto por RAG a cada consulta.4license: MIT5---67# LLM Wiki — Segundo Cérebro para Claude Code + Obsidian89Inspirado no padrão LLM Wiki de Andrej Karpathy ([gist](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f)). Esta skill transforma o Claude Code em um mantenedor disciplinado de wiki que **constrói e mantém incrementalmente** um vault Obsidian persistente e interligado à medida que você alimenta fontes. O conhecimento se acumula — referências cruzadas, contradições e sínteses já estão lá quando você consulta.1011## Princípio central1213A maioria dos fluxos de trabalho LLM+docs é **RAG**: recupere fragmentos no momento da consulta, sintetize do zero, esqueça. O wiki é **acumulativo**: as fontes são lidas uma vez, integradas em uma base de conhecimento markdown persistente e mantidas atualizadas. Você curada e pergunta; o LLM lê, arquiva, faz referências cruzadas e mantém.1415> O Obsidian é a IDE. O LLM é o programador. O wiki é a base de código.1617## Quando usar1819- **Pessoal**: rastrear objetivos, saúde, psicologia, diário, autodesenvolvimento20- **Pesquisa**: análises aprofundadas ao longo de semanas sobre um tema — papers, artigos, relatórios, tese em evolução21- **Companheiro de livro**: arquive capítulos à medida que lê; construa um companheiro estilo fan-wiki para personagens, temas, linhas de enredo22- **Negócios/equipe**: wiki interno alimentado por Slack, notas de reunião, chamadas — LLM faz a manutenção que ninguém quer fazer23- **Análise competitiva, due diligence, planejamento de viagens, notas de curso, hobbies profundos**2425**NÃO use quando:** você precisa de Q&A pontual sobre um documento fixo (use RAG), não planeja adicionar fontes ao longo do tempo, ou não quer o Obsidian no fluxo.2627## Arquitetura (três camadas)2829```30vault/31├── raw/ # Camada 1 — IMUTÁVEL fonte da verdade32│ ├── <arquivos de fonte> # Artigos, papers, PDFs, imagens, dados33│ └── assets/ # Imagens baixadas de artigos clonados34├── wiki/ # Camada 2 — base de conhecimento do LLM35│ ├── index.md # Catálogo de conteúdo (LLM atualiza a cada ingestão)36│ ├── log.md # Linha do tempo append-only (## [AAAA-MM-DD] <op> | <título>)37│ ├── entities/ # Páginas de Pessoa/Org/Local38│ ├── concepts/ # Ideias, teorias, frameworks39│ ├── sources/ # Uma página de resumo por fonte ingerida40│ ├── comparisons/ # Páginas de análise entre fontes41│ └── synthesis/ # Sínteses de alto nível, teses, visões gerais42├── CLAUDE.md # Esquema + convenções (Claude Code)43└── AGENTS.md # Mesmo conteúdo, para outros agentes44```4546- **Camada 1 (raw/)** — você é o dono. O LLM apenas lê; nunca escreve.47- **Camada 2 (wiki/)** — o LLM é o dono. Ele cria, atualiza e faz referências cruzadas de páginas. Você a lê.48- **Camada 3 (CLAUDE.md / AGENTS.md)** — o *esquema*. Convenções, fluxos de trabalho, regras de frontmatter. Co-evoluído por você e o LLM.4950## Três operações principais51521. **Ingestão** — LLM lê uma fonte, discute os insights com você, escreve um resumo da fonte, atualiza 10-15 páginas relevantes, atualiza o índice, adiciona ao log. Veja `references/ingest-workflow.md`.532. **Consulta** — LLM lê `index.md` primeiro, aprofunda nas páginas relevantes, sintetiza com citações. Boas respostas são **arquivadas de volta no wiki** para que as explorações se acumulem. Veja `references/query-workflow.md`.543. **Lint** — Verificação de saúde: contradições, afirmações desatualizadas, páginas órfãs, referências cruzadas ausentes, conceitos mencionados mas sem página própria, lacunas de dados a preencher com busca na web. Veja `references/lint-workflow.md`.5556## Início rápido5758```bash59# 1. Inicializar um vault (no diretório do vault do Obsidian)60python scripts/init_vault.py --path ~/vaults/research --topic "LLM interpretability"6162# 2. Coloque uma fonte em raw/, depois ingira63/wiki-ingest ~/vaults/research/raw/anthropic-monosemanticity.pdf6465# 3. Faça perguntas (respostas podem ser arquivadas de volta no wiki)66/wiki-query "como a monossemanticidade se compara à interpretabilidade mecanicista?"6768# 4. Verificação periódica de saúde69/wiki-lint7071# 5. Veja a linha do tempo72/wiki-log --last 1073```7475## Slash commands (este plugin inclui)7677| Comando | Propósito |78|---|---|79| `/wiki-init` | Inicializar um novo vault com arquivos de esquema + estrutura inicial |80| `/wiki-ingest <caminho>` | Ler uma fonte, discutir, atualizar o wiki, registrar |81| `/wiki-query <pergunta>` | Pesquisar no wiki, sintetizar resposta, oferecer arquivamento |82| `/wiki-lint` | Executar verificação de saúde — contradições, órfãos, afirmações desatualizadas, lacunas |83| `/wiki-log` | Mostrar entradas de log recentes (usa ferramentas unix em `log.md`) |8485## Sub-agentes (este plugin inclui)8687| Agente | Quando é despachado |88|---|---|89| `wiki-ingestor` | Fluxo de ingestão delegado — lê a fonte, propõe atualizações, aplica após sua aprovação |90| `wiki-linter` | Executa o fluxo de trabalho de verificação de saúde de forma independente, relata achados |91| `wiki-librarian` | Responde consultas usando busca index-first, sintetiza com citações |9293## Ferramentas Python (`scripts/`)9495Todas as ferramentas usam **apenas biblioteca padrão** (sem instalações pip). Execute com `python scripts/<tool>.py --help`.9697| Script | Propósito |98|---|---|99| `init_vault.py` | Criar estrutura de pastas + semear CLAUDE.md, AGENTS.md, index.md, log.md |100| `ingest_source.py` | Auxiliar: extrair texto/frontmatter de um arquivo fonte, pronto para revisão do LLM |101| `update_index.py` | Regenerar `index.md` a partir do frontmatter das páginas do wiki (categoria, data, contagem de fontes) |102| `append_log.py` | Adicionar uma entrada de log padronizada `## [AAAA-MM-DD] <op> \| <título>` |103| `wiki_search.py` | Busca BM25 sobre páginas do wiki (fallback autônomo quando index.md não é suficiente) |104| `lint_wiki.py` | Encontrar órfãos (sem links de entrada), páginas desatualizadas, referências cruzadas ausentes, links quebrados |105| `graph_analyzer.py` | Computar estatísticas do grafo de links — hubs, órfãos, clusters, componentes desconectados |106| `export_marp.py` | Renderizar uma página do wiki (ou subárvore) para um slide deck Marp |107108## Compatibilidade entre ferramentas109110O **esquema** do vault fica em CLAUDE.md (Claude Code) ou AGENTS.md (outros agentes). O mesmo conteúdo funciona em ambos. Este plugin inclui ambos os templates.111112```113CLAUDE.md → Claude Code114AGENTS.md → outros agentes CLI115```116117Os scripts são Python puro stdlib → executam de forma idêntica em qualquer lugar. Apenas o arquivo de carregamento muda por ferramenta.118119## Configuração do Obsidian (recomendada)120121- **Obsidian Web Clipper** — extensão de navegador; converte artigos da web para markdown e os deposita em `raw/`122- **Baixar imagens localmente** — Configurações → Arquivos e links → Caminho da pasta de anexos = `raw/assets/`. Configurações → Atalhos de teclado → vincule "Baixar anexos do arquivo atual" a `Ctrl+Shift+D`123- **Visão de grafo** — veja hubs/órfãos; essencial para detectar problemas estruturais124- **Plugin Marp** — slide decks baseados em Markdown diretamente das páginas do wiki125- **Plugin Dataview** — tabelas/listas dinâmicas sobre frontmatter das páginas (tags, datas, contagens de fontes)126- **Git** — o vault é um repositório markdown simples; versione-o127128Guia completo de configuração: `references/obsidian-setup.md`129130## Por que isso funciona (vs. RAG simples)131132| RAG Simples | LLM Wiki |133|---|---|134| Redescobre o conhecimento a cada consulta | O conhecimento se acumula |135| Referências cruzadas recomputadas toda vez | Referências cruzadas pré-escritas e mantidas |136| Contradições surgem apenas se você perguntar | Contradições sinalizadas durante a ingestão |137| Explorações desaparecem no histórico de chat | Boas respostas arquivadas como novas páginas |138| Escala por infraestrutura de embeddings | Escala por markdown + `index.md` + busca local opcional |139140Em ~100 fontes / centenas de páginas, `index.md` + busca no sistema de arquivos é suficiente. Além disso, adicione uma ferramenta de busca local como [qmd](https://github.com/tobi/qmd) ou use `scripts/wiki_search.py`.141142## Skills relacionadas (encadeiam via `context: fork`)143144Esta skill está marcada com `context: fork` para que outras skills possam encadeá-la:145146- **`para-memory-files`** — memória pelo método PARA; complementar como memória pessoal de longo prazo que alimenta fontes no wiki147- **`obsidian-vault`** (mattpocock) — auxiliar leve do Obsidian; esta skill é a camada de wiki mantida no topo148- **`rag-design`** — quando o wiki ultrapassa ~500 páginas, use rag-design para adicionar uma camada de recuperação149- **`mcp-design`** — expor o wiki como uma ferramenta MCP150- **`agent-communication`** — para manutenção multi-agente do wiki (ingestor + linter + librarian)151152## Documentos de referência153154- `references/wiki-schema.md` — layout completo do vault, frontmatter de páginas, convenções de nomes155- `references/page-formats.md` — templates de entidade, conceito, fonte, comparação, síntese156- `references/ingest-workflow.md` — o fluxo de ingestão detalhado que o agente wiki-ingestor segue157- `references/query-workflow.md` — padrões de consulta, formato de citação, arquivamento de respostas158- `references/lint-workflow.md` — heurísticas de verificação de saúde159- `references/obsidian-setup.md` — plugins do Obsidian, atalhos de teclado, configuração do vault160- `references/cross-tool-setup.md` — configuração por ferramenta161- `references/memex-principles.md` — o Memex de Bush, por que o LLM muda a matemática de manutenção162163## Templates (`assets/`)164165- `CLAUDE.md.template`, `AGENTS.md.template` — carregadores de esquema por ferramenta166- `index.md.template`, `log.md.template` — índice e log iniciais167- `page-templates/` — entidade, conceito, resumo de fonte, comparação, síntese168- `example-vault/` — pequeno exemplo trabalhado que você pode estudar ou copiar169170## Regra de ferro171172**O LLM nunca edita arquivos em `raw/`.** Jamais. As fontes são imutáveis. Todas as escritas do LLM vão para `wiki/`. Se você precisar corrigir uma fonte, faça isso em `raw/` você mesmo — depois reingestione.