Agent skill

AI Second Brain

by charlie947 in charlie947/ai-second-brain

Walks the user through Charlie Hills's AI Second Brain + Karpathy Wiki setup from the MarTech AI newsletter.

MITAuto-check passedKnowledge Management

Install AI Second Brain

skills CLI
$ npx skills add charlie947/ai-second-brain --skill ai-second-brain -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install charlie947/ai-second-brain ai-second-brain --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ai-second-brain
GitHub stars
189
Token cost
~3.5k tokens
SKILL.md length
2,044 words
Files
10
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Walks the user through Charlie Hills's AI Second Brain + Karpathy Wiki setup from the MarTech AI newsletter.

  • Works in 4 steps: Pre-flight check → Build the AI Brain → Set up the Karpathy Wiki → …
  • The user mentions building an AI second brain
  • SKILL.md covers How to use this skill, Step 0: Pre-flight check, Step 1: Build the AI Brain and Step 2: Set up the Karpathy Wiki, plus 3 more sections
  • Runs JavaScript scripts from its folder; calls claude and curl; reaches gist.github.com and gist.githubusercontent.com

What it does

AI Second Brain is an agent skill from charlie947/ai-second-brain. Walks the user through Charlie Hills's AI Second Brain + Karpathy Wiki setup from the MarTech AI newsletter. Use whenever the user mentions building an AI second brain, the Karpathy wiki, organising their ChatGPT/Claude exports in Obsidian, setting up a living wiki with Claude Code, connecting iMessage Channels, or installing the /today, /ideas, /create slash commands. Trigger on phrases like "set up my second brain", "build the Karpathy wiki", "follow Charlie's newsletter setup", "organise my AI conversations"…

Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files (for example `CHANGELOG.md`, `README.md` and `render-social-preview.js`).

It sits in Knowledge Management, covering Second brain and LLM wikis. It works with Obsidian and OpenAI. The repository describes itself as: Build a living, searchable AI second brain from your ChatGPT, Claude, and research history - Karpathy-style. A Claude Code skill. The licence is MIT.

When your agent uses it

  • The user mentions building an AI second brain
  • The Karpathy wiki
  • Organising their ChatGPT/Claude exports in Obsidian
  • Setting up a living wiki with Claude Code

Example prompts

  • “set up my second brain”
  • “build the Karpathy wiki”
  • “follow Charlie”
  • “/ai-second-brain”

Requirements

  • Node.js

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Pre-flight check
  2. Build the AI Brain
  3. Set up the Karpathy Wiki
  4. Give the wiki a heartbeat (MCP + Channels + slash commands)

What it can do on your machine

Read from SKILL.md and the folder at commit 69e9959. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (JavaScript), which the agent can run.

    Shell commands in SKILL.md call:

    • claude
    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • gist.github.com
    • gist.githubusercontent.com

    Also links to:

    • obsidian.md

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

AI Second Brain loads about 3.5k tokens when it runs. Until then it costs about 193 tokens; SKILL.md has 2,044 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~193
When it runs · the whole SKILL.md, loaded when a task matches
~3.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from charlie947/ai-second-brain at commit 69e9959, republished under its MIT licence (© charlie947). 2,044 words, ~3,478 tokens.

Download SKILL.mdSave it as .claude/skills/ai-second-brain/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.
name
ai-second-brain
description
Walks the user through Charlie Hills's AI Second Brain + Karpathy Wiki setup from the MarTech AI newsletter. Use whenever the user mentions building an AI second brain, the Karpathy wiki, organising their ChatGPT/Claude exports in Obsidian, setting up a living wiki with Claude Code, connecting iMessage Channels, or installing the /today, /ideas, /create slash commands. Trigger on phrases like "set up my second brain", "build the Karpathy wiki", "follow Charlie's newsletter setup", "organise my AI conversations", "Obsidian + Claude Code setup", "I exported my ChatGPT data what now", or any reference to MarTech AI's Karpathy Wiki issue. Use even if the user only mentions one of the three steps (AI Brain, Karpathy Wiki, or Channels + slash commands).

AI Second Brain Setup

This skill walks the user through the full setup from Charlie Hills's MarTech AI newsletter issue "How to build a second brain with Obsidian and Claude Code". The process turns a folder of exports and raw research into a living wiki the user can talk to from their phone.

The setup has three steps. The user can do all three or pick one — confirm at the start which they want.

  1. AI Brain — export ChatGPT and Claude history, organise it in Obsidian as tagged, linked markdown
  2. Karpathy Wiki — set up raw/ and wiki/ folders with Karpathy's CLAUDE.md instruction file so Claude Code can compile a living wiki from raw research
  3. Living Wiki — add MCP connectors (Gmail, NotebookLM, Granola), set up iMessage Channels, scaffold the /today, /ideas, /create slash commands

How to use this skill

The user is most likely a non-technical newsletter reader. Many will be opening Terminal for the first time. Default to plain English, never assume CLI familiarity, and explain what each command does before running it.

The skill orchestrates a conversation. At each step there are things Claude Code can do (create folders, download files, install other skills, scaffold commands) and things only the user can do (request a data export from OpenAI, grant Full Disk Access in macOS System Settings, log in to NotebookLM in a browser). Be explicit about which is which. Pause and wait when the ball is in the user's court.

If the user says "skip step 1, I've already done it" or "just do step 3", honour that. Confirm what's already in place, then jump in.

Step 0: Pre-flight check

Before touching anything, confirm what the user has installed. Ask:

Quick check before we start. Do you have:

  1. Claude Code installed and working? (you're using it now if so)
  2. Obsidian downloaded? (free from obsidian.md)
  3. Any ChatGPT or Claude data exports already requested? (the OpenAI one takes 1–3 days, so we may need to start it now and come back)

If Obsidian isn't installed, point them to https://obsidian.md and pause until it's done. If they haven't requested the ChatGPT export, kick that off first (instructions in Step 1) so it's processing in the background while they do the rest.

Also confirm where they want the brain to live. Default: ~/Desktop/Brain (one word, no spaces — spaces caused issues for Charlie when he used "LLM Brain"). Use Brain unless the user pushes back.

Step 1: Build the AI Brain

The goal here is to turn years of ChatGPT and Claude conversations into a tagged, linked, searchable Obsidian vault.

1a. Request the data exports (user does this)

This is user-only. Walk them through both:

ChatGPT (do this FIRST — it can take up to 3 days):

Go to chatgpt.com → click your profile icon (top right) → Settings → Data Controls → "Export data". OpenAI will email you a download link. Tell me when you've requested it.

Claude (arrives in ~5 minutes):

Go to claude.ai → click your profile icon (bottom left) → Settings → Privacy → "Export Data". The email arrives in about 5 minutes. Tell me when you've got both ZIP files downloaded and unzipped.

Wait for the user to confirm. If they say "the ChatGPT one will take days, what do I do meanwhile" — suggest moving to Step 2 (Karpathy Wiki) since it doesn't depend on the exports.

1b. Set up the vault (Claude Code can do this)

Once the user has unzipped both export folders on their desktop, do this:

bash
mkdir -p ~/Desktop/Brain

Then ask the user to drag the two unzipped export folders into ~/Desktop/Brain. After they confirm:

bash
ls ~/Desktop/Brain

Verify both folders are there.

Then tell them:

Open Obsidian. Click "Open folder as vault" (not "Create new vault"). Navigate to your Desktop and select the Brain folder. Tell me once it's open.

1c. Organise everything (Claude Code does this — this is the magic)

Once the vault is open in Obsidian, the user needs to launch a fresh Claude Code session pointing at the Brain folder. Tell them:

Open a new Terminal window (Cmd+Space, type Terminal, hit Enter). Then paste this:

cd ~/Desktop/Brain
claude

Once Claude Code is running in that window, paste this prompt:

Organise this folder into an Obsidian vault. Convert all my ChatGPT and Claude conversations into individual markdown files with proper frontmatter (title, date, tags, category). Then launch 10 sub-agents to go through every conversation and smartly tag things: names, people, places, recurring themes, projects, and topics. Link everything together with wikilinks so the Obsidian graph connects related conversations.

This will run for several minutes and spawn 10 sub-agents in parallel. When it's done, tell the user:

Open Obsidian. Hit Cmd+G (or Ctrl+G on Windows) to open Graph View. Every conversation is now a tagged, linked markdown file. Have a wander.

Step 2: Set up the Karpathy Wiki

The AI Brain organises the past. The Karpathy Wiki is a living knowledge base that grows every time the user drops in new research. The user dumps raw sources into a raw/ folder, and Claude Code compiles structured wiki articles in wiki/.

Karpathy's framing is worth quoting to the user: "Obsidian is the IDE. The LLM is the programmer. The wiki is the codebase."

2a. Create the structure (Claude Code does this)

In the same Brain folder, create the two subfolders and download Karpathy's instruction file:

bash
mkdir -p ~/Desktop/Brain/raw ~/Desktop/Brain/wiki
curl -L https://gist.githubusercontent.com/karpathy/442a6bf555914893e9891c11519de94f/raw -o ~/Desktop/Brain/CLAUDE.md

Verify the download worked:

bash
ls -la ~/Desktop/Brain/CLAUDE.md

If the curl fails, fall back to: WebFetch the gist URL (https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f) and write the contents to ~/Desktop/Brain/CLAUDE.md using the Write tool.

2b. Get sources into the raw folder (user-led, with options)

Two paths — let the user pick.

Option A: Drag and drop. Tell them:

Open the raw folder in Finder. Drop in 5–10 sources on a single topic to start — PDFs, articles you've saved, transcripts, notes. Tell me when you're done.

Option B: Pull from NotebookLM. This requires the NotebookLM skill. If they want this option, install it for them and walk through the login. See Step 3: Connectors below — the NotebookLM connector is the same setup. Once installed, ask the user for their notebook URL and run:

Pull all the sources from this NotebookLM notebook and save them as files in ~/Desktop/Brain/raw: [user pastes URL]

2c. Build the wiki (Claude Code does this)

Once sources are in raw/, run:

Process every source in ~/Desktop/Brain/raw using the wiki instructions in ~/Desktop/Brain/CLAUDE.md. For each source, write a summary page in the wiki folder, create or update relevant topic and concept pages, add wikilinks between related pages, and maintain an index file listing every wiki page with a one-line description.

This takes a few minutes. When it finishes, tell the user to open Obsidian, switch to the wiki/ folder, and hit Cmd+G for the graph view.

2d. Iterate (ongoing)

Coach the user on what to do next:

The wiki won't be perfect on the first run. Tell Claude Code to adjust: "split this page", "merge these two", "add more detail here". Karpathy also recommends periodic health checks — ask Claude Code to "check the wiki for contradictions, orphan pages, and missing concept pages" every week or two.

Step 3: Give the wiki a heartbeat (MCP + Channels + slash commands)

This step turns a static wiki into something the user can talk to from their phone. Three sub-steps.

Show full SKILL.md (844 more words)Show less
3a. MCP connectors

Three connectors are worth setting up first:

  • Gmail — for forwarded articles, research links, email threads
  • Granola — for meeting transcripts, decisions, action items
  • NotebookLM — for pulling existing notebooks

For each one the user wants, tell Claude Code:

Connect to my [Gmail / Granola / NotebookLM] so you can pull new content into the wiki.

For NotebookLM specifically, the install requires a one-time browser login that must happen outside Claude Code. Walk the user through it:

  1. In Claude Code, run: Install the NotebookLM skill so I can pull sources from my notebooks.
  2. Once install completes, tell the user:

    Open a brand new Terminal window (don't run this inside Claude Code). Type:

    notebooklm login

    A browser will open. Sign into your Google account, wait for the NotebookLM homepage to fully load, then go back to Terminal and press Enter. Close that Terminal window. You're done.

3b. iMessage Channels

This is the part Charlie says "people lose their minds" over. The user sets up a Mac-side service that listens for iMessages sent to their own number, processes them against the wiki, and replies in the same thread.

Walk the user through it:

In Terminal, run:

claude --channels plugin:imessage@claude-plugins-official

Claude Code will request two macOS permissions. Both are user-only — explain what to do:

1. Full Disk Access for Terminal.

macOS will prompt you, or you can do it manually: open System Settings → Privacy & Security → Full Disk Access → toggle Terminal on. This lets Claude Code read incoming iMessages.

2. Automation permission for Messages.

The first time Claude Code tries to send a reply, macOS will ask if Terminal can control Messages. Click Allow.

Once both are granted, test:

On your phone, open iMessage and send a text to your own number. Within a few seconds, Claude Code will detect it, process it against your wiki, and reply in the same thread.

Note for the user: if they close Claude Code on their Mac, Channels stops listening. Tell them: claude --resume to pick up where they left off, or keep a session running in the background.

3c. Scaffold the slash commands (Claude Code does this)

Three commands to start. For each, send the user the prompt and ask them to paste it into Claude Code so it can save the command file (Claude Code will ask for write permission — they approve).

/today — daily plan (requires Gmail + Google Calendar + wiki):

Create a slash command called /today that reads my Google Calendar for today's meetings, checks my Gmail for anything urgent, and cross-references both against my wiki for relevant context on the people and projects involved. Give me a prioritised plan for the day. Save it as a file so I can run /today any time.

/ideas — content ideas (requires Granola + Gmail + wiki):

Create a slash command called /ideas that reads my recent Granola meeting transcripts, latest Gmail threads, and wiki pages, finds patterns and emerging topics across all of them, and generates ideas for content I should create, topics I should write about, and opportunities I might be missing. Save it as a file so I can run /ideas any time.

/create — content drafting (requires the wiki):

Create a slash command called /create that takes a topic or idea as input, pulls relevant context from my wiki, and produces a finished piece of content in my voice. It should be able to write posts, newsletter drafts, video scripts, and infographic outlines. Save it as a file so I can run /create any time.

Once saved, the commands work from the user's phone too. Texting /today to themselves in iMessage gets back a daily briefing.

Wrapping up

After all three steps, tell the user what they now have:

  • Every past AI conversation, tagged and linked, in Obsidian
  • A living wiki that grows every time they drop in new research
  • The ability to talk to it from their phone via iMessage
  • Three slash commands that pull their day, surface content ideas, and draft posts

Suggest a next move: drop one new source into raw/, then text themselves /create [topic from that source] to feel the loop close.

If they got stuck at any step, point them back to the original newsletter and offer to debug the specific failure rather than restart.

Things that commonly go wrong

  • Folder name has a space ("LLM Brain" instead of "Brain") — Claude Code's path handling will break. Always use a single-word folder name.
  • User runs claude without cd-ing first — Claude Code reads from whatever directory the terminal is sitting in. If they skip the cd, sub-agents won't see the export files. Re-confirm the working directory before any organise/process step.
  • NotebookLM login attempted inside Claude Code — must be a separate Terminal window. The browser handoff fails otherwise.
  • Channels stops working after Mac sleeps / Claude Code closes — claude --resume brings it back. Worth telling the user up front so they don't think it's broken.
  • Full Disk Access toggle didn't appear — sometimes macOS needs a Terminal restart after granting it. Quit Terminal fully (Cmd+Q) and reopen.
  • Gist download fails — fall back to the WebFetch + Write approach in Step 2a.

© charlie947, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 9 other files in the repository root of charlie947/ai-second-brain.

  • SKILL.md
  • .gitattributes
  • .gitignore
  • CHANGELOG.md
  • LICENSE
  • README.md
  • ai-second-brain.skill
  • render-social-preview.js
  • social-preview.html
  • social-preview.png

Open the folder on GitHubat commit 69e9959

Compare with similar skills

AI Second Brain next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

AI Second Brain compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
AI Second Brain this skillcharlie947/ai-second-brain189—~3.5kAutomated safety check: PassMIT
Karpathy WikiSherwinQ/karpathy-wiki114—~967Automated safety check: PassMIT
My LLM WikiMartinLwx/dotfiles140—~2.7kAutomated safety check: PassNone
Obsidian Knowledge BuilderMichael-OvO/obsidian-knowledge-agent205—~917Automated safety check: PassMIT
LLM Wikiinfranodus/skills119—~8.6kAutomated safety check: NotesNone
Obsidian CLI Read TransportAgriciDaniel/claude-obsidian15k—~762Automated safety check: PassMIT

Similar skills

  • Karpathy Wiki

    SherwinQ/karpathy-wiki

    A skill your agent uses when building or maintaining a personal knowledge base with LLM assistance.

    114 GitHub stars~967 tokensUpdated 5 mo ago
    Knowledge ManagementAuto-check passed
  • My LLM Wiki

    MartinLwx/dotfiles

    Provides access to the user's personal wiki, including notes, research, project documentation, decisions, and archived knowledge.

    140 GitHub stars~2.7k tokensUpdated 2 days ago
    Knowledge ManagementAuto-check passed
  • Obsidian Knowledge Builder

    Michael-OvO/obsidian-knowledge-agent

    Turns PDFs, slides, syllabi, papers and transcripts into structured, teaching-quality Obsidian notes, matching how much structure is built to how much the material needs.

    205 GitHub stars~917 tokensUpdated 3 mo ago
    Knowledge ManagementAuto-check passed
  • LLM Wiki

    infranodus/skills

    Guide users through setting up a personal LLM-maintained wiki — a persistent, compounding knowledge base where the LLM incrementally builds and maintains interlinked markdown pages from raw sources.

    119 GitHub stars~8.6k tokensUpdated 20 days ago
    Knowledge ManagementAuto-check: notes
  • Obsidian CLI Read Transport

    AgriciDaniel/claude-obsidian

    Detects and uses the official Obsidian command-line interface for read-only vault access, falling back to direct file reads, while all mutations stay on a separate transaction core.

    15k GitHub stars~762 tokensUpdated 1 mo ago
    Knowledge ManagementAuto-check passed
  • Obsidian Wiki Ingest

    AgriciDaniel/claude-obsidian

    Files a single source or a bounded batch, pasted text, staged files or an approved URL, into an Obsidian vault as cross-linked notes with provenance, agreeing scope and network access first.

    15k GitHub stars~2k tokensUpdated 1 mo ago
    Knowledge ManagementAuto-check passed

Works with

Questions about AI Second Brain

What does AI Second Brain do?

Walks the user through Charlie Hills's AI Second Brain + Karpathy Wiki setup from the MarTech AI newsletter. AI Second Brain is an agent skill from charlie947/ai-second-brain. Walks the user through Charlie Hills's AI Second Brain + Karpathy Wiki setup from the MarTech AI newsletter.

When should I use AI Second Brain?

AI Second Brain fits situations like: the user mentions building an AI second brain; the Karpathy wiki; organising their ChatGPT/Claude exports in Obsidian; setting up a living wiki with Claude Code.

How do I install AI Second Brain in Claude Code?

Run `npx skills add charlie947/ai-second-brain --skill ai-second-brain -a claude-code`. Or copy the skill folder (the charlie947/ai-second-brain repository) into .claude/skills/ai-second-brain in your project. Claude Code loads it when a task matches its description.

How do I install AI Second Brain in Codex?

Run `npx skills add charlie947/ai-second-brain --skill ai-second-brain -a codex`. Or copy the skill folder (the charlie947/ai-second-brain repository) into .agents/skills/ai-second-brain in your project. Codex loads it when a task matches its description.

Can I use AI Second Brain in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add charlie947/ai-second-brain --skill ai-second-brain -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ai-second-brain, .gemini/skills/ai-second-brain, .github/skills/ai-second-brain and .opencode/skills/ai-second-brain in your project.

What does AI Second Brain need to run?

Going by SKILL.md and its folder, AI Second Brain needs JavaScript for the scripts in its folder and the command-line tools its instructions call (claude and curl). Our summary lists: Node.js.

Does AI Second Brain access the network?

SKILL.md names 3 domains. In commands or code: gist.github.com and gist.githubusercontent.com; the agent is likely to contact these when it follows the instructions. As links in the text: obsidian.md. This is read from the text; nothing was executed.

Is AI Second Brain safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does AI Second Brain use?

AI Second Brain is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does AI Second Brain use?

About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to AI Second Brain?

Skills that share tags, products or a category with AI Second Brain: Karpathy Wiki (SherwinQ/karpathy-wiki, 114 stars), My LLM Wiki (MartinLwx/dotfiles, 140 stars), Obsidian Knowledge Builder (Michael-OvO/obsidian-knowledge-agent, 205 stars) and LLM Wiki (infranodus/skills, 119 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains AI Second Brain?

charlie947 (a GitHub user) maintains it in charlie947/ai-second-brain, which has 189 GitHub stars. The repository was last updated on April 17, 2026.

Source: charlie947/ai-second-brain on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.