Coding

second-brain-visualizer

Try it

Unload your cognitive baggage. Drop ideas anywhere, find the signal later.

What it does

Your brain wasn't designed to hold data. It was designed to produce it.

The skill document

Second Brain Visualizer

Your brain wasn't designed to hold data. It was designed to produce it.

Pick a channel — Slack, Telegram, WhatsApp, Gmail, a private Discord. Every time something interesting moves through your mind, drop it. A line. A fragment. A joke that might be a product idea. Voice to text at a red light. You don't have to carry it anymore.

Second Brain Visualizer reads what accumulates. Not to categorize it. To find the signal underneath the noise — the questions you keep returning to in different disguises, the tensions you're working out across dozens of unrelated notes, the creative territory you're actively mapping without realizing it.

One note is just a note. Fifty notes across three weeks is a pattern. A year of notes is a portrait of how you think.

The clustering engine reads for intent, not keywords. A note about LLM inference costs and a quote from Simone Weil may belong in the same cluster if they're reaching toward the same underlying question. Clusters surface with a name, a one-sentence insight, and a status: ESTABLISHED, FORMING, or FADING. Tensions show you where you're arguing with yourself. Notable absences show you what your idea stream isn't touching yet.

This is not a note-taking app. Most note-taking tools are mirrors — they show you what you put in. This reads what it means.


What It Does

Your raw idea stream gets parsed into atoms — the smallest units of intent. Atoms are clustered by affinity of meaning, not keyword overlap. A note about LLM inference costs and a quote from Simone Weil may belong in the same cluster if they're both probing the same underlying question about attention and value.

Each cluster gets:

  • A sharp name capturing the underlying drive (not a generic domain label)
  • A one-sentence insight: what does this pattern reveal about how you think?
  • A status: ESTABLISHED, FORMING, or FADING
  • A confidence score and time spread across your corpus

The visualizer also surfaces:

  • Emerging signals — atoms with distinct intent that haven't massed into clusters yet
  • Tensions — places where your idea stream is arguing with itself across multiple notes
  • Notable absences — creative and intellectual domains conspicuously missing from the stream

How It Works

1. Drop ideas anywhere You already have a channel you use. Voice to text, half a sentence, a project name with no context. Raw is fine. The roughness is the point — it's what unguarded thinking looks like.

2. Parser extracts atoms references/parser.js reads your second brain markdown ledger and extracts structured atoms with timestamp, raw text, type, signal, and optional next action.

3. Clustering engine reads for intent references/cluster.js passes your full atom corpus to an LLM with a custom intent-based prompt. The prompt reads for what you're actually working out, not what words you used. Outputs clusters, tensions, emerging signals, and absences as structured JSON.

4. Visualizer shows you the map references/component.tsx renders a D3 force-directed graph where nodes are sized by atom count × time spread. Click any node to expand: the base insight, an LLM-generated deeper read in gold, and the full list of atoms that make up the cluster. Tensions, signals, and absences scroll below.


The Core Insight

Most note-taking tools are mirrors — they show you what you put in. This reads what it means.

The clustering prompt is the IP. Intent-based, not keyword-based. A joke reads as a probe. A fragment reads as a question. Two atoms belong together if they reach toward the same underlying question, even if they use completely different language.

Full prompt in references/cluster.js.


Atom Schema

Each atom in your markdown ledger:

### ts: 
- **date:** YYYY-MM-DDTHH:MM:SS UTC
- **raw:** verbatim text (voice to text, misspelled, incomplete — all valid)
- **type:** thought | task | strategy | creative | meta | idea-jar | visual | link
- **tags:** freeform, comma-separated
- **signal:** hot | warm | cool
- **actionable:** yes | no
- **nextAction:** optional single-sentence move

Cluster Output Schema

{
  "clusters": [
    {
      "id": "stable-kebab-id",
      "name": "Sharp name capturing underlying drive",
      "insight": "One sentence: what does this pattern reveal?",
      "atom_ids": ["sb-1234", "sb-5678"],
      "confidence": 0.87,
      "status": "ESTABLISHED",
      "time_spread": 4,
      "category": "CRAFT"
    }
  ],
  "emerging_signals": ["sb-9999"],
  "tensions": [
    {
      "name": "Tension name",
      "atom_ids": ["sb-1", "sb-2"],
      "description": "What the person is working out"
    }
  ],
  "absences": ["Creative territory missing from the stream"]
}

Example Output (85 atoms, 8 clusters)

ClusterStatusAtomsSpread
Systems Over ShortcutsESTABLISHED72w
Language as Load-Bearing StructureESTABLISHED83w
The Speed ParadoxESTABLISHED83w
Agent Failure as IntelligenceESTABLISHED74w
Friction as Design OracleFORMING54w
Craft as Moral PositionESTABLISHED73w
The Protagonist ProblemESTABLISHED74w
Deliberate Presence as CountercultureFORMING62w

Prerequisites

  • OpenClaw agent with a vault markdown ledger (atoms in the schema above)
  • Node.js 18+
  • A Next.js dashboard or equivalent React host for the visualizer
  • d3 and @types/d3 installed
  • An LLM API configured in OpenClaw (for clustering and insight generation)

Roadmap

  • Setup guide for new users building their first atom ledger
  • Configurable ingestion from Slack, Telegram, WhatsApp, Gmail
  • Cluster diff across runs (what emerged, merged, faded)
  • Full-graph view with atoms as sub-nodes
  • Cluster history timeline

Credit

The original idea to build a second brain capture system came from a conversation with Nate B. Jones. The architecture, clustering engine, and visualizer are original work — but the seed was his.


License

MIT-0. Copyright (c) 2026 @highnoonoffice. No attribution required.

Related skills

Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.

by nssa.io1.0k installs47 stars

Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.

by Iván855 installs69 stars

Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.

by Iván559 installs18 stars

Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.

by johnpatternai22 installs8 stars

Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.

by fly0pants4.3k installs296 stars

More from highnoonoffice

Browse all skills

Publish, update, and audit Ghost CMS content from your AI workflow using the Admin API.

by highnoonoffice38 installs

Visualize how attention moves across your agent's projects. 13 named attention categories. Momentum-ready edges (recentCount/lifetimeCount). Directional flow encoding. Sorted by co-access score.

by highnoonoffice32 installs

Your OpenClaw is the brain. Codex or Claude Code are the hands. The clipboard is the protocol.

by highnoonoffice9 installs

Bidirectional mathematical engine for Borges' Library of Babel. Finds the permanent hexagon address of any text, reads any page at any coordinate, and scores pages by Shannon entropy. No database, no randomness — same input always produces identical output. Use when asked to locate text in the Library of Babel, generate a page at given coordinates, explore Borges' infinite library concept, or analyze page entropy. Triggers on: find this in the Library of Babel, what is the address of, read a page at coordinates, entropy heatmap, Borges library.

by highnoonoffice13 installs

Web access privileges for your agent. So your agent stops hitting walls.

by highnoonoffice18 installs

Audit any personal or brand site for AI agent discoverability and fix what is fixable — structured data, trust anchor pages, llms.txt, crawlability checks, and Ghost-specific deployment patterns. Ghost Pro native.

by highnoonoffice