An AI Second Brain That Shows You What You're Missing


A second brain is the set of notes, papers, and files you keep so you don't have to hold everything in your head. It is a knowledge base that supports ingestion, storage, organization, and retrieval. Adding AI to it makes it generative: the model can extend the material, answer questions that are not in the base, and help you discover what you are missing.

The problem, however, is that just plugging the knowledge brain to your favorite AI assistant is not enough. By default, AI doesn't have memory. So every time you start a new session, you begin from scratch. Claude's own documentation suggests various ways of resolving this issue: for instance, adding a CLAUDE.MD file to the project's root folder or letting the agents auto-generate project-specific memory files. To get further you need a scaffold — a compact structure the model reads before it reads any of your files, so it knows what the material is about, which ideas hold it together, and where it is thin. InfraNodus builds that scaffold as a knowledge graph: concepts as nodes, relations as edges, topics as clusters, and the sparse regions between those clusters as the gaps in what you have collected.

1. Get InfraNodus MCP
2. Install the InfraNodus Skill
3. Install InfraNodus in Your Knowledge Base

Claude Code querying a knowledge base through the InfraNodus knowledge graph inside Cursor
Gap analysis running against a vault from inside the IDE, with the graph view open alongside.

 

Why an LLM Alone Is Not a Second Brain


By default an AI reading your knowledge base uses RAG vector search: it embeds your query as a vector, retrieves the chunks that look most similar, assembles them into a context window, and answers from that. This works well for lookup (e.g. what did I write about prompt caching) and badly for generating new ideas or answering questions that are not in the base (e.g. What is missing from this knowledge base? or What other concepts from my repository I could link to this one?). In the first case, the LLM will find the most similar text chunks to "prompt caching" and retrieve the correct results. In the latter case, it will look for the most similar chunks to "missing" or "link" which produces a completely wrong context.

Insights are rarely located in the chunk most similar to the question. They sit in the relations between distant parts of the material, and reaching them takes several hops across paths that similarity search does not rank highly. Frontier models now ship their own retrieval harnesses that partly compensate for this, but those are deliberately opaque. You cannot see what was retrieved, why, or what was left out — so you have no way to steer it. That's why there are different ways to augment the standard RAG approach, for instance, by adding the GraphRAG layer that helps the model have a more structural view of the context.

A semantic layer you build yourself fixes both problems at once: the model gets a structural view of your material, and you get to see the same view it is working from. This way, you can observe the snapshot of the context the model is using. The additional knowledge graph layer helps the model traverse across the different concepts and relations on a more granular level and generate reasoning chains and complex relations.


 

How to Install InfraNodus in Your Knowledge Base


To install InfraNodus in your knowledge base, you need to follow these steps:

  1. Install the InfraNodus skill and connect the InfraNodus MCP server to your Claude.
  2. Open your vault in Cursor or VSCode.
  3. Open a terminal inside it.
  4. Launch Claude Code with claude.
  5. Type /infranodus.
  6. Answer the questionnaire — start by analyzing one folder rather than the whole vault.
  7. The skill writes an infranodus/ folder containing a manifest.json that describes the graphs it generated, plus a report with the topics, the gaps, and ideas for developing the material further.
  8. Because the MCP server is connected, the graph analysis and insight tools are now available to the model directly.


 

The Three Layers


A working second brain has three, and they are usually built in this order. They are the same three layers behind any AI knowledge base; what makes this one a second brain is that the material is yours and the objective is to think with it rather than to look things up in it.

1 Storage


Files in folders. Markdown for anything you want the model to read quickly, PDFs for sources you keep as they are, plus a viewer — Obsidian or Cursor if you keep it local, Notion or InfraNodus if you keep it in the cloud. Git on top if you want to be able to revert or fork the whole thing. This layer needs no programming and no product decision you can't reverse later; the full set of choices is in building a personal knowledge base.

2 Semantic layer


A machine-readable description of what is inside — the main concepts, the entities, and how they relate. There are several useful ways to build it. The first one (that we recommend) is a knowledge graph (the relations are extracted into a network the model can traverse). The second one is an an LLM wiki (the model writes interlinked markdown pages summarizing your sources). They can be combined. Which fits your case is covered in RAG vs. LLM wiki vs. knowledge graph. And if you want the layer to steer the model's reasoning rather than only its retrieval, you can build a knowledge graph using the AI reasoning graph approach.

3 Query


Claude Code, Codex, or the AI built into InfraNodus, pointed at the folder / graph with the semantic layer available as a tool. The model consults the structure first, then goes to the files. Answers stop being summaries of the nearest paragraph.


 

Capture Is Not the Bottleneck


Most second brain tools optimize the first layer. Faster capture, better tagging, cleaner sync — on the assumption that the constraint is getting material in. After a year of use the constraint is the opposite one: you have far more than you can hold in view, and no measure of what it adds up to.

There is a failure mode specific to knowledge bases that only grow. Each new note is written in the vocabulary of the notes already there, and every summary you generate reinforces whatever is already dominant. The base becomes more coherent, more confident, and progressively less able to surprise you. Nothing in a capture-first workflow can detect this, because from inside it looks like maturity.

A second brain that only accumulates converges. What makes it generative is knowing where it is not yet connected.

This is what the graph layer measures. Betweenness centrality identifies the concepts that hold your material together — the ones worth developing, because an addition there propagates everywhere. Community detection identifies the topics that have actually formed, including the small ones you didn't know were forming. And the pairs of topics that both exist but are not connected to each other are the content gaps: the blind spots, and the most productive place to work.

These come from a peer-reviewed text network analysis algorithm, not from the model's impression of your notes. Run it twice and you get the same answer, which is what makes it usable as a control signal rather than another opinion.

Structural gaps between topical clusters detected in a personal knowledge base
Two topics that both exist in the material and are not connected to each other — a content gap.

A more advanced approach is to use the insight clusters generated by InfraNodus based on the measure of cognitive diversity. In this case, dependending on the structure of your thought, InfraNodus will steer your ideas towards the topical clusters that can optimize the discourse's structure. If it's too dispersed, it will focus on the less represented clusters. If it's too biased, it will focus on the smaller clusters that have gaps between them. InfraNodus will optimize for the balanced mix of coherence and diversity.

Insight clusters that optimize the discourse structure
Insight clusters that optimize the discourse structure.

 

A Worked Example


The setup for this one: a vault holding the complete Claude Code documentation as markdown, opened in Cursor with the InfraNodus graph view alongside it, Claude Code running in the terminal, and the MCP server and skills connected so the model can call graph analysis itself. A graph was generated from the Getting Started folder.

There are two ways to work with it, and they do different jobs. The model is for asking specific questions. The graph view is for finding out which questions to ask. Most of the value is in the second one, because it is the part you cannot do by reading.

Opened on a folder, the graph view lets you:

  • get a topical overview of the content;
  • use the topical clusters to zoom into specific aspects of it;
  • see the main content gaps between those clusters;
  • focus on a gap to find the question that would link two clusters;
  • surface the underrepresented topics — the ones worth developing further.

Right-clicking the Getting Started folder and asking Cursor to visualize it produced a graph with a triad of clusters that were present but thin: memory tools, context caching, and project styles. The Generate a Question button turned that triad into a question, which went to Claude Code in the terminal, which answered it using the graph:

"Style consistency survives session history, model/mode switches, and compaction only if the style lives in the file-encoded prefix layer — the CLAUDE.md hierarchy, agent definitions, and memory files — never in conversation turns. The design has three parts: encode each level as a stable file ordered by volatility, route it to subagents through their definition files plus the delegation prompt, and treat every in-chat style correction as a pending file edit."

That is not in the documentation. It is what the documentation implies once you connect three of its thin clusters, and it is directly usable — either to understand the material or to build something with it. The gap did the hard part: it identified which question was worth asking, out of material that was already there.

Claude Code querying a knowledge base through the InfraNodus knowledge graph inside Cursor
Gap analysis running against a vault from inside the IDE, with the graph view open alongside.

 

Memory That Updates


The graph is not built once. Every time you add new material to your knowledge base, you can run the ingestion script that will augment your graph data with new information and edit its contents, so you always have the most up-to-date graph.

Adding material changes the graph, which changes which gaps are open, which changes what is worth asking next. The knowledge base becomes a feedback loop rather than an archive — the dynamic described in cognitive variability and applied deliberately in discourse optimization process.


 

Set It Up


Eight steps, none of which require programming:

  1. Install the InfraNodus skill and connect the InfraNodus MCP server to your Claude.
  2. Open your vault in Cursor or VSCode.
  3. Open a terminal inside it.
  4. Launch Claude Code with claude.
  5. Type /infranodus.
  6. Answer the questionnaire — start by analyzing one folder rather than the whole vault.
  7. The skill writes an infranodus/ folder containing a manifest.json that describes the graphs it generated, plus a report with the topics, the gaps, and ideas for developing the material further.
  8. Because the MCP server is connected, the graph analysis and insight tools are now available to the model directly.

From then on, Claude consults CLAUDE.md, finds the relevant graph through the manifest, and answers from it. If the first folder is useful, widen it.

If you already keep notes in Obsidian, Roam, or Logseq, you can start from the graph side instead — see knowledge graphs for personal knowledge management.


 

FAQ

What is an AI second brain?

A personal knowledge base — notes, papers, transcripts, files — that a large language model can read, query, and extend. The useful versions add a semantic layer between the files and the model, so the AI has a structural overview of the material instead of retrieving the nearest matching paragraph on every question.

How do I build a second brain with AI?

Three layers: put your sources in folders with a viewer like Obsidian or Cursor; add a semantic layer — an LLM wiki, a knowledge graph, or both; then point Claude Code or another agent at the folder with that layer available as a tool. None of it requires programming.

Does it work with Obsidian?

Yes. The files stay plain markdown with [[wikilinks]], so the vault is unchanged. The graph view plugin adds network analysis and gap detection on top of Obsidian's native graph.

How is this different from Tiago Forte's Building a Second Brain?

That method is about capture and organization — what to save and where to put it. This is about what the saved material adds up to: which topics formed, which concepts hold them together, and which pairs of topics your notes never connect. The two are compatible; this one starts where capture stops being the constraint.

Can I keep everything local?

The knowledge base is your own folder of files and stays local, under Git if you want version history. The graph analysis runs through InfraNodus, and the skills are open source if you want to see or adapt what they do.

What is a content gap?

Two topical clusters that both exist in your knowledge base but are not connected to each other. Detected with community detection and betweenness centrality, so the result is reproducible rather than a model's guess — and a question that bridges them tends to produce something your material implies but never states.


 

Build Your Second Brain


Connect your notes, papers, and files to a knowledge graph that shows you the topics, the central concepts, and the gaps between them:


Sign Up     Log In