From secondbrain
Bootstrap a Second Brain vault in minutes: scan context, scrape website for voice/ICP signals, generate draft config files, and create folder structure.
How this skill is triggered — by the user, by Claude, or both
Slash command
/secondbrain:setupThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
USE WHEN the user runs `/setup` or asks to set up their vault, bootstrap the assistant, or initialize their second brain.
references/claude-md-template.mdreferences/claudeignore-template.mdreferences/context-business.mdreferences/context-icp.mdreferences/context-strategy.mdreferences/context-voice.mdreferences/gitignore-template.mdreferences/guide-context.mdreferences/guide-daily.mdreferences/guide-projects.mdreferences/guide-resources.mdreferences/guide-skills.mdreferences/settings-json-template.mdUSE WHEN the user runs /setup or asks to set up their vault, bootstrap the assistant, or initialize their second brain.
Get the user from zero to a working second brain in under five minutes. No technical dependencies. No plugins to install. No API keys to configure. Just a folder, a vault, and Claude.
Check if claude.md or CLAUDE.md exists in the current working directory. Check only the exact CWD — don't search subdirectories or parents.
Before asking the user anything, pull as much useful context as possible from the machine. Run these checks silently — no narration, no questions yet.
Run each of these and collect the text. Don't block on failures — missing files are normal.
1. Global Claude context:
[ -f ~/.claude/CLAUDE.md ] && cat ~/.claude/CLAUDE.md
2. Current directory and close parents:
[ -f ./CLAUDE.md ] && cat ./CLAUDE.md
[ -f ../CLAUDE.md ] && cat ../CLAUDE.md
[ -f ../../CLAUDE.md ] && cat ../../CLAUDE.md
3. Brand / voice / ICP files nearby:
find . -maxdepth 2 -type f -iname "*.md" | xargs grep -l -i -E "(brand|voice|icp|about|bio|tone)" 2>/dev/null | head -5
Read the top few matches.
4. Existing brand-voice skills:
ls -d ~/.claude/skills/*brand* ~/.claude/skills/*voice* 2>/dev/null
If any exist, read their SKILL.md and key reference files.
From everything collected, extract what you can find for each of these signals. Keep a mental draft — don't write anything to disk yet.
| Signal | What to extract |
|---|---|
| Name | First name, last name |
| Business | Company name, what they do, products, revenue model |
| Audience | Who they speak to, industry, role, pain points |
| Voice | Do / don't rules, tone descriptors, writing patterns |
| Topics | Content pillars, what they write about |
| Tools | Tech stack, platforms mentioned |
| Goals | Priorities, current focus, stated strategy |
If the scan finds rich context (especially a filled-in global ~/.claude/CLAUDE.md): the Phase B interview can be very short. You already know most of what the Context files need.
If the scan finds nothing useful: Phase B leans entirely on the website scrape and what the user pastes.
Create the folder structure and write system files. Work silently — don't narrate each step.
mkdir -p Context
mkdir -p Projects
mkdir -p Daily
mkdir -p Resources
mkdir -p Skills
mkdir -p .claude
Five folders at the vault root. Meetings live inside Resources/meetings/ once the user logs one — don't pre-create that subdirectory.
Read each reference file and write it to its local path.
| Reference File | Creates at Local Path |
|---|---|
references/claude-md-template.md | ./claude.md |
references/gitignore-template.md | ./.gitignore |
references/claudeignore-template.md | ./.claudeignore |
references/settings-json-template.md | ./.claude/settings.json |
Short _guide.md files inside each top-level folder so the user understands the system without reading the SKILL files.
| Reference File | Creates at Local Path |
|---|---|
references/guide-context.md | ./Context/_guide.md |
references/guide-projects.md | ./Projects/_guide.md |
references/guide-daily.md | ./Daily/_guide.md |
references/guide-resources.md | ./Resources/_guide.md |
references/guide-skills.md | ./Skills/_guide.md |
Tell the user in one short paragraph:
Vault structure is ready. Five folders at the root: Context, Projects, Daily, Resources, Skills. Open this folder as a vault in Obsidian to see it, or keep working in Claude Code — both work. Now let's personalize it.
Then proceed to Phase B.
The goal of Phase B is to generate four Context files the user can rely on: business.md, voice.md, icp.md, strategy.md.
Phase B has three steps:
If Phase 0 pulled meaningful context, summarize it in a short paragraph:
Here's what I picked up from your existing setup:
- Name: [extracted name]
- Business: [extracted business]
- Voice signals: [short description of tone patterns found]
Anything wrong? If this looks right, I'll use it as the starting point.
If scan found nothing useful, skip this step and go straight to Step B.2.
Wait for the user to confirm or correct. Update the mental draft with any corrections.
Ask for two inputs in one turn:
To make this sharp, I need to look at your content. Give me:
- Your website URL (required)
- Optional: a LinkedIn URL, or paste a paragraph bio — anything that describes who you are and who you help
Wait for the response. Don't drill in with follow-up questions — accept what they give you.
Use the WebFetch tool to pull the website. Extract:
If the website returns thin or empty content (less than a few paragraphs), note it. Still useful even if short.
If a LinkedIn URL was given: try WebFetch on it. LinkedIn often returns a login page for logged-out fetches — if the response looks like a login wall or is under 500 characters of real content, silently fall back: "Couldn't pull much from LinkedIn — paste a paragraph about yourself instead." Wait for the paragraph.
Never use Apify or any paid scraping service. WebFetch only. If WebFetch fails on the website, ask the user to paste the About page content directly.
Combine everything — scan context + user corrections + website scrape + bio — and generate drafts for all four Context files.
Context/business.md — who the user is, what they sell, how they work.
Read references/context-business.md for the template. Fill with: name, company, products, revenue model, tools, team, location, style preferences.
Context/voice.md — how the user writes.
Read references/context-voice.md for the template. Fill with: do rules, don't rules, tone descriptors, example sentences pulled from the user's actual content. Extract voice patterns from the website — sentence length, vocabulary choices, use of humor, how they address the reader.
Context/icp.md — ideal customer profile.
Read references/context-icp.md for the template. Fill with: who they are, what they do, pain points, what they want, language they use, where they hang out. Extract this from the website — specifically from landing pages, testimonials, and "about" content.
Context/strategy.md — goals, focus, priorities.
Read references/context-strategy.md for the template. Fill with current priorities, content pillars, revenue targets, strategic bets. If you don't have real signal for this one, leave the placeholders in and mark it as "to fill in later" rather than inventing goals.
Show each file one at a time:
Here's your
business.mddraft. Edit anything, or say "good" to lock it in.[draft content]
Accept edits inline. Save once the user approves. Move to the next file.
Order: business.md → voice.md → icp.md → strategy.md.
Don't skip the show-draft step. The drafts are only as good as the inputs, and the user should see what's landing in their Context before committing.
Create Daily/YYYY-MM-DD.md (today's date):
---
type: daily-note
date: YYYY-MM-DD
---
# YYYY-MM-DD
## Session Log: HH:MM — Vault Setup
**Outcome:** Ran /setup. Created five-folder vault. Generated Context/business.md, Context/voice.md, Context/icp.md, Context/strategy.md.
**Next:** Run `/assistant` to start your first working session.
Tell the user in one short paragraph:
You're done. Your vault has five folders at the root, four Context files tuned to your business, and a
claude.mdthat tells me how to work. Run/assistantanytime you want to resume a session, save something permanent, do a daily review, or process a meeting. Everything you tell me from here on will route to the right file automatically.
Suggest a next action based on what they told you — usually "run /assistant and start your first real session" or "add your first project by pasting a brief."
Do NOT:
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub olelehmann1337/ole-plugins --plugin secondbrain