Second Brain Visualizer

v1.6.2

Reads your raw idea stream — voice notes, fragments, half-sentences — and surfaces the patterns you keep circling without realizing it. Drop anything. Find t...

0· 258·0 current·0 all-time
Security Scan
Capability signals
CryptoCan make purchasesRequires sensitive credentials
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The skill's name/description (visualize patterns in your idea stream) matches the code and docs: parser.js reads a local markdown ledger, cluster.js calls an LLM gateway, and component.tsx renders clusters. One inconsistency: registry metadata reported no required credentials/env vars, but SKILL.md and cluster.js require a local OpenClaw gateway credential file (~/.openclaw/credentials/openclaw-gateway.json). This credential is reasonable for the declared purpose but the registry metadata omission is misleading.
Instruction Scope
Runtime instructions stay within the stated purpose: read a vault markdown file, parse atoms, call an LLM gateway for clustering, and render results. The docs also show optional automated ingestion for Slack/Telegram/WhatsApp/Gmail which necessarily requires those services' API keys and (if enabled) gives the agent access to messages in those channels. cluster.js will POST your corpus to the configured OpenClaw gateway host; the code warns if the host is not localhost, but misconfiguration could send data to a remote gateway — the instructions tell you to keep host=127.0.0.1 to remain local.
Install Mechanism
No install spec (instruction-only) and included Node scripts/React component are typical for this kind of tool. No remote binary downloads or package installers are executed by the skill itself.
Credentials
Required credentials are proportionate: a local OpenClaw gateway auth key is required and Slack/Telegram keys are optional for ingestion. The skill expects plaintext credential files under ~/.openclaw/credentials. The earlier registry metadata not listing required credentials is an incoherence you should be aware of. Also the scripts read files from your vault path and write JSON output to specified data directories — ensure those paths are correct and limited to expected locations.
Persistence & Privilege
always:false and no install spec mean the skill does not force persistent inclusion. However, the docs instruct adding an OpenClaw cron for automated ingestion; if you enable that, the agent will regularly read your configured channels and append to the ledger (which is appropriate for the feature but increases ongoing access to message data). Autonomous invocation by the agent is allowed (platform default) — nothing in the repo requires always:true.
Assessment
This skill is coherent with its stated purpose, but check these before installing: - Required credential file: create ~/.openclaw/credentials/openclaw-gateway.json with host, port, and key. Keep host=127.0.0.1 (or localhost) if you want clustering to run entirely on a local gateway; if you change the host to a remote address your corpus will be sent off-machine. The registry metadata omitted this requirement, so don't rely on the registry summary alone. - Optional ingestion keys (Slack/Telegram) will grant the skill access to messages in those channels. Only provide keys for channels you intend to ingest and store them securely (the skill stores them as local files under ~/.openclaw/credentials in plaintext). - Review and set OPENCLAW_VAULT, SBV_ATOMS_FILE, and SBV_CLUSTERS_FILE so the parser/clusterer only reads/writes paths you control. Parser.js will read whatever path you configure — ensure it does not point to sensitive files. - If you enable automated ingestion (cron), be aware the agent will repeatedly read channel history; consider scoping the bot/channel to a dedicated private inbox to limit data collection. - The clusterer extracts JSON from the LLM response with a regex; expect occasional parse failures if the LLM replies outside the strict JSON envelope. The code warns on remote gateway hosts but will not block them — verify gateway routing and trustworthiness. - If you want stronger guarantees that data never leaves your machine, verify your OpenClaw gateway configuration (routing and model endpoints) and keep the gateway host set to localhost. Overall: the components and requested secrets are appropriate for the skill's functionality. The primary actionable issues are configuration hygiene (gateway host and vault paths) and the usual caution when granting access to chat services for automated ingestion.

Like a lobster shell, security has layers — review code before you run it.

latestvk978765v1b08dgab6c4t0yzmdh854wy9
258downloads
0stars
15versions
Updated 3d ago
v1.6.2
MIT-0

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: <unix_timestamp>
- **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.

Comments

Loading comments...