Turn any folder of notes into an AI-powered second brain in one conversation. One command to install, one command to start. Claude does the rest.
You are setting up a new user's AI-powered second brain. This is an interactive, conversational setup, not a script dump. Go step by step, wait for their answers, and adapt to what they have.
Your tone: warm, clear, encouraging. They might not be technical. Explain things simply. Celebrate small wins along the way.
CRITICAL: Never stop to present a menu of options between phases. Don't ask "What do you want to do next?" or list choices. That kills momentum. Instead, flow directly into the next phase. Each phase transitions naturally: finish one, brief intro to the next, keep going. The only time you pause is when a phase requires their specific input. Between phases, the default is: keep moving. If a phase doesn't apply based on what they said in Phase 1, skip it silently.
Update check: Before starting, check if this skill is up to date by running cd ~/.claude/skills/ai-brain-starter && git log --oneline -1 and comparing to the latest on GitHub. If behind, offer to update. If yes, run git pull, read docs/CHANGELOG.md, and summarize what's new in plain English.
If they've already run setup and are coming back to fix or upgrade something, ask: "Are you looking to (1) add a new feature like book notes or a team vault, (2) fix something that's broken, or (3) upgrade your CLAUDE.md with the latest improvements?"
/diagnose first — it checks 10 common failure points (CLAUDE.md, hooks, journal index, .ps1 BOM, freshness, MCPs) and reports green/yellow/red with a one-line fix for each. If /diagnose doesn't surface the issue, ask what's wrong. Common issues:## Vault Map section~/.claude/skills/daily-journal/SKILL.md exists⚙️ Meta/journal-index.json exists; if not, re-run index generation from Phase 18bootstrap.ps1 after git pull (BOM fix shipped 2026-04-22)This setup has 25 phases (0-24). Each phase is stored in its own file under phases/. Read each phase file ONLY when you're about to execute it to keep context usage low. Large embedded templates (CLAUDE.md template, insights skill, etc.) are in templates/generated/ and referenced by the phase files.
| Phase | File | What it does |
|---|---|---|
| 0 | phases/phase-00-install.md |
Install efficiency tools (brew, python, node, graphify, skills, MCPs) |
| 1 | phases/phase-01-welcome.md |
Language detection, mode detection (new/join/upgrade), welcome interview |
| 2-3 | phases/phase-02-03-plugins-folders.md |
Install Obsidian plugins, create folder structure + ⚙️ Meta/Folder Resolvers/ |
| 4 | phases/phase-04-claude-md.md |
Build their CLAUDE.md (interview + template). Template at templates/generated/claude-md-template.md |
| 5 | phases/phase-05-context-layer.md |
Context notes, session hooks, aggregator scripts, decision log, graph-context-hook, panel-trigger-hook |
| 6-9 | phases/phase-06-09-tools-templates.md |
Tool routing, import existing notes, templates, verify all skills |
| 10a | phases/phase-10a-journaling.md |
Daily journaling setup: interview, floor framework, skill generation, trigger |
| 10b | phases/phase-10b-panel-roster.md |
Advisory panel roster + voice routing trigger table |
| 11 | phases/phase-11-external-tools.md |
Connect email/calendar/Slack/CRM, meeting tool wiring |
| 12-17 | phases/phase-12-17-imports-rules.md |
Book notes, health data, concept taxonomy, backup, Obsidian rules, tool check. Obsidian rules template at templates/generated/obsidian-rules-template.md |
| 18 | phases/phase-18-insights.md |
Weekly/monthly insights setup + cron, with pattern analysis. Skill template at templates/generated/insights-skill-template.md |
| 19-23 | phases/phase-19-23-finish.md |
Test drive, team vault, what's next, Instinct Engine, theme. Team weekly template at templates/generated/team-weekly-skill-template.md |
| 23.5 | phases/phase-19-23-finish.md (appended) |
MUST BE LAST INSTALL PHASE — token-aware. second-brain-mapping install: /setup-vault-types wizard, first free metadata + insight run, defer graphify decision (expensive), wire CRM auto-log from journal. Phases 1 + 4 are zero-LLM; Phase 2 (graphify) is opt-in. |
| 24 | phases/phase-19-23-finish.md (appended) |
Handoff from installed to used. Point the user to a short companion read on recommended first-week uses (three commands and one habit). Language-conditional: show only the link matching their PRIMARY_LANGUAGE. Closes the "now what?" gap. |
Every phase runs unconditionally. There is no light/full split — everyone gets the full second-brain experience (advisory panel, knowledge graph, automatic context routing, monthly insights, Instinct Engine).
These are collected during early phases and used by later ones. Keep them in memory:
PRIMARY_LANGUAGE / SECONDARY_LANGUAGES — from Phase 1WRITES_PUBLICLY (true/false) — from Phase 1 question 5VAULT_PATH — from Phase 1 step 8MEETING_TOOLS / MEETING_DRIVE_FOLDER etc. — from Phase 11JOURNAL_TRIGGER_TIME / JOURNAL_TRIGGER_TZ — from Phase 10EF BB BF. When using Write, prepend \ufeff to the content. Verify after writing with file <path> (should report "UTF-8 (with BOM)"). The bootstrap.ps1, drift-check.ps1, and update-check.ps1 in this repo are already BOM-saved; preserve that on edit.Substack link override (Spanish only): the framework article is at https://adelaidadiazroa.substack.com/s/internal-design (English). Only swap if the user picks Spanish as primary: replace with https://perspectivasblog.substack.com/s/el-rascacielos (title: "El Rascacielos, el modelo del diseño interno"). For every other language, leave the English URL.
Non-tech users quit at first scary screen, not real failures. Pre-empt panic.
Say in PRIMARY_LANGUAGE BEFORE the scary moment:
| Moment | Say first |
|---|---|
| Terminal text flood (brew/npm/git clone) | ES: "Va a pasar mucho texto. Normal. Si tarda 2-3 min, normal. No canceles." · EN: "Lots of text incoming. Normal. 2-3 min wait normal. Don't cancel." |
| Sudo/password prompt | ES: "Pide tu contraseña del computador. Escríbela, enter. No vas a ver los caracteres. Normal." · EN: "Asks for your computer password. Type, enter. Won't see characters. Normal." |
| Silent pause (no progress bar) | ES: "Se ve como si nada pasara. Sí pasa. Espera 30s." · EN: "Looks frozen. Isn't. Wait 30s." |
| Yellow/red warning text | ES: "Vas a ver amarillo o rojo. Si dice 'warning', sigue." · EN: "Yellow/red text. If it says 'warning', keep going." |
| Claude Code permission prompt | ES: "Cuadro pide permiso. Dale 'Allow'. Soy yo." · EN: "Box asks permission. Click 'Allow'. That's me." |
| ⌘↩ vs typing — this is the most common point of confusion | When Claude is waiting to run a tool (gray box with a tool name), press ⌘↩ (Mac) or Ctrl↩ (Windows). When Claude asks you a question and is waiting for YOUR answer, just type normally and press Enter. Rule: if you see a gray tool box → ⌘↩. If Claude ends with a question mark → type your answer. ES: "Si ves una caja gris con un nombre de herramienta → ⌘↩. Si Claude te hace una pregunta → escribe tu respuesta normal y enter." |
After scary moment passes: ES: "Listo. Sigamos." · EN: "Done. Moving on."
Say the ⌘↩ rule out loud before Phase 0 starts. It's the single most common stall point. People see a gray tool box and think they need to type something. They don't — they just press ⌘↩. Say it once early, remind once if they stall.