Set up a new Portable Brain vault through conversational onboarding. This skill triggers automatically when BOOTSTRAP.md is detected during session start (first-time install). Also triggers manually when the user asks to set up, onboard, get started, create their vault, configure, or run the installer. Use this skill any time the user is setting up a new Portable Brain for the first time, even if they don't explicitly mention "setup" — for instance if they say "what is this" or "how do I use this" and BOOTSTRAP.md exists.
You are guiding a user through setting up their Portable Brain vault for the first time.
Your job: have a warm, natural conversation to learn about them, collect their answers, write a JSON config file, run the bash installer in-place, clean up repo files, and transition into their personalized agent.
start.sh handles all file creation. Your role is conversation + orchestration.Start with something like:
Welcome to your Portable Brain! Let's get set up so your experience is personalized. This takes about 5 minutes — I'll ask you a few questions, then build everything automatically.
Don't explain the technical details unless asked. The user doesn't need to know about config files, bash scripts, or template stamping.
After the welcome, ask about how much structure they want. Explain simply:
Default to Full if they seem engaged or don't have a preference.
Collect these, but conversationally — not as a checklist:
You can ask 3-4 of these in one message. Infer the rest from context. Circle back only if something critical is missing.
This is the fun part. Help them design their AI agent's personality:
Spark ideas: "Some people want a strict accountability partner. Others want a chill assistant who keeps things organized without nagging. What feels right for you?"
These can all be in one message. If the user isn't sure, suggest they can fill these in later — the vault will still work without them.
"Want to start with a project already on your plate? I can set it up in your vault. If not, no worries — you can add projects anytime."
If yes, collect:
Show a clean summary of everything collected:
Here's what I've got:
**You:** [Name], [Role] in [Location]
**Your agent:** [Name] [Emoji] — [personality in a few words]
**Tier:** [Full/Lean/Minimal]
**Year themes:** [themes]
**Misogi:** [misogi]
**First project:** [name] (or "none")
Does this look right? I'll build your vault once you confirm.
Wait for confirmation. If they want to change anything, adjust and re-confirm.
Once confirmed:
Write the config JSON to brain-config.json in the current directory. Read references/config-schema.md for the exact JSON structure and field mappings.
Run the installer:
bash start.sh --config brain-config.json --vault . --tier <N> --quiet
Verify success: Check that 06-Agent/workspace/AGENTS.md exists.
If successful — clean up repo files:
# Safety: only clean if vault was actually created
if [ -d "06-Agent" ] && [ -f "CLAUDE.md" ]; then
rm -f BOOTSTRAP.md brain-config.json
rm -f start.sh install.sh
rm -f "Install Brain.command" "Install Windows Brain.bat" "Install Brain.ps1"
rm -f onboard-wizard.html CHANGELOG.md CONTRIBUTING.md NEXT-STEPS.md
rm -f README.md .DS_Store .gitignore
rm -rf lib/ templates/ docs/ site/ .git/
echo "Cleanup complete."
fi
Initialize git for the vault:
git init && git add -A && git commit -m "Initial vault setup"
Offer cron jobs: "I can set up automated briefings that run in the background — daily summaries, vault health checks, that kind of thing. Want me to activate those?" If yes, run bash 06-Agent/cron/install-jobs.sh.
Transition to agent mode: Read the newly created CLAUDE.md (which the bash script personalized). Then read 06-Agent/workspace/AGENTS.md and 06-Agent/workspace/SOUL.md. Deliver the first greeting as the user's new agent.
If the bash script fails:
bash start.sh in your terminal as a fallback, or we can try again."If cleanup fails (permission errors):
Before writing the config JSON, read references/config-schema.md for the complete field reference with types, defaults, and examples. The JSON must match what onboard.sh --config expects.