Open Second Brain
itechmeat/open-second-brain
Lets an agent read, write and maintain its own memory in a Brain folder of an Obsidian-compatible vault, while keeping the user's own notes read-only.
Personalizes a new Obsidian vault with a short setup interview, then on later runs loads the vault's CLAUDE.md files and project context at the start of a session.
$ npx skills add ballred/obsidian-claude-pkm --skill onboard -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ballred/obsidian-claude-pkm onboard --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ballred/obsidian-claude-pkm.git skills-src && mkdir -p .claude/skills && cp -r skills-src/vault-template/.claude/skills/onboard .claude/skills/onboard && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "onboard" agent skill from https://github.com/ballred/obsidian-claude-pkm/tree/main/vault-template/.claude/skills/onboard into .claude/skills/onboard/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "onboard", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ballred/obsidian-claude-pkm/tree/main/vault-template/.claude/skills/onboardType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ballred/obsidian-claude-pkm --skill onboard -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ballred/obsidian-claude-pkm onboard --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ballred/obsidian-claude-pkm.git skills-src && mkdir -p .agents/skills && cp -r skills-src/vault-template/.claude/skills/onboard .agents/skills/onboard && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "onboard" agent skill from https://github.com/ballred/obsidian-claude-pkm/tree/main/vault-template/.claude/skills/onboard into .agents/skills/onboard/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "onboard", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ballred/obsidian-claude-pkm --skill onboard -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ballred/obsidian-claude-pkm onboard --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ballred/obsidian-claude-pkm.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/vault-template/.claude/skills/onboard .cursor/skills/onboard && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "onboard" agent skill from https://github.com/ballred/obsidian-claude-pkm/tree/main/vault-template/.claude/skills/onboard into .cursor/skills/onboard/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "onboard", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ballred/obsidian-claude-pkm.git --path vault-template/.claude/skills/onboard--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ballred/obsidian-claude-pkm --skill onboard -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ballred/obsidian-claude-pkm onboard --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ballred/obsidian-claude-pkm.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/vault-template/.claude/skills/onboard .gemini/skills/onboard && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "onboard" agent skill from https://github.com/ballred/obsidian-claude-pkm/tree/main/vault-template/.claude/skills/onboard into .gemini/skills/onboard/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "onboard", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ballred/obsidian-claude-pkm onboardInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ballred/obsidian-claude-pkm --skill onboard -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ballred/obsidian-claude-pkm.git skills-src && mkdir -p .github/skills && cp -r skills-src/vault-template/.claude/skills/onboard .github/skills/onboard && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "onboard" agent skill from https://github.com/ballred/obsidian-claude-pkm/tree/main/vault-template/.claude/skills/onboard into .github/skills/onboard/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "onboard", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ballred/obsidian-claude-pkm --skill onboard -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ballred/obsidian-claude-pkm onboard --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ballred/obsidian-claude-pkm.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/vault-template/.claude/skills/onboard .opencode/skills/onboard && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "onboard" agent skill from https://github.com/ballred/obsidian-claude-pkm/tree/main/vault-template/.claude/skills/onboard into .opencode/skills/onboard/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "onboard", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
onboardPersonalizes a new Obsidian vault with a short setup interview, then on later runs loads the vault's CLAUDE.md files and project context at the start of a session.
On the first run, detected by a FIRST_RUN file in the vault root, the skill welcomes you and asks four questions with the interactive question tool: what to call you, which day you prefer for the weekly review, which two to four goal areas matter most, and how Claude should interact, from direct and concise to coaching or detailed.
It then writes the answers to vault-config.json, edits the root CLAUDE.md by replacing its customization placeholder with a mission prompt based on your goal areas and updating the Current Focus section, deletes the FIRST_RUN marker and suggests trying /daily and /review.
On later runs it loads context instead: it searches for all CLAUDE.md files and traverses project directories to gather what Claude needs for the session. Running /onboard with a path such as Projects/WebsiteRedesign loads context for that project only.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit ef1e4da. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteEditGlobGrepBashAskUserQuestionFrom allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown, json and bash).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Vault Onboarding and Context Loader loads about 1.7k tokens when it runs. Until then it costs about 49 tokens; SKILL.md has 565 words of instructions outside code blocks.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Write, Edit, Glob, Grep, Bash, AskUserQuestionAutomated 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.
The full file from ballred/obsidian-claude-pkm at commit ef1e4da, republished under its MIT licence (© ballred). 565 words, ~1,669 tokens.
.claude/skills/onboard/SKILL.md (or your agent's skills folder).Interactive vault setup (first run) and context loading (subsequent runs).
/onboard # Full onboard (setup if first run, context load if not)
/onboard Projects/MyProject # Load specific project contextIf the file FIRST_RUN exists in the vault root, this is a new vault. Run the interactive setup:
Greet the user and explain what will happen:
Use AskUserQuestion to ask these interactively:
Question 1: Your name
Question 2: Preferred review day
/review auto-detection and session-init nudgesQuestion 3: Primary goal areas
Question 4: Work style
Write vault-config.json in the vault root:
{
"name": "User's name",
"reviewDay": "Sunday",
"goalAreas": ["Career & Professional", "Health & Wellness"],
"workStyle": "Direct and concise",
"setupDate": "2026-02-15",
"version": "3.1"
}Edit the root CLAUDE.md:
[CUSTOMIZE: Add your personal mission statement here] with a prompt based on their goal areasrm FIRST_RUNTell the user:
/daily to start your first morning routine"/review anytime — it auto-detects the right review type"Then proceed to the standard context loading below.
Discovers Context Files
Loads Hierarchical Context
Scans Active Projects
Projects/*/CLAUDE.md filesReads User Preferences
vault-config.json if presentBuilds Understanding
vault/
├── CLAUDE.md # [1] Global context - loaded first
├── Projects/
│ ├── Project A/
│ │ └── CLAUDE.md # [2] Project context
│ └── Project B/
│ └── CLAUDE.md # [3] Another project context
└── Areas/
└── Health/
└── CLAUDE.md # [4] Area-specific context# System Context for Claude
## Personal Mission
[Your life mission/purpose]
## Current Focus
[What you're working on now]
## Preferences
- Writing style: [Formal/Casual/Technical]
- Detail level: [High/Medium/Low]
## Conventions
- File naming: [Your patterns]
- Tag system: [Your tags]# Project: [Name]
## Overview
[What this project is about]
## Current Status
[Where things stand]
## Key Decisions
[Important choices made]
## Next Steps
[What needs to happen]Automatically considers:
When loading full context, include a project overview:
### Active Projects (N)
| Project | Phase | Progress | Goal |
|---------|-------|----------|------|
| [[ProjectA]] | Active | 60% | [[Goal 1]] |
| [[ProjectB]] | Planning | 10% | [[Goal 3]] |For focused assistance:
/onboard Projects/WebApp # Only specific project
/onboard Goals # Only goals context/onboard
"Help me plan my day based on my goals"/onboard Projects/MyApp
"Help me refactor the authentication module"/onboard Goals
"Analyze my week and suggest improvements"Your CLAUDE.md files can include preferences:
## Variables for Claude
- DEFAULT_LANGUAGE: JavaScript
- TIMEZONE: America/New_York
- COMMUNICATION_STYLE: Direct and conciseWorks with:
/daily - Better daily planning with context/weekly - Informed weekly reviews/monthly - Monthly review with full context/project - Project status overview© ballred, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in vault-template/.claude/skills/onboard of ballred/obsidian-claude-pkm.
Open the folder on GitHubat commit ef1e4da
Vault Onboarding and Context Loader 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Vault Onboarding and Context Loader this skillballred/obsidian-claude-pkm | 1.9k | — | ~1.7k | Automated safety check: Notes | MIT | |
| Open Second Brainitechmeat/open-second-brain | 430 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Bounded AutoresearchAgriciDaniel/claude-obsidian | 15k | 1 repos | ~1.6k | Automated safety check: Pass | MIT | |
| Obsidian Wiki Log FoldAgriciDaniel/claude-obsidian | 15k | 1 repos | ~1.2k | Automated safety check: Pass | MIT | |
| Second BrainNicholasSpisak/second-brain | 736 | 1 repos | ~1.5k | Automated safety check: Notes | None | |
| Obsidian Canvas BoardsAgriciDaniel/claude-obsidian | 15k | — | ~1.4k | Automated safety check: Pass | MIT |
itechmeat/open-second-brain
Lets an agent read, write and maintain its own memory in a Brain folder of an Obsidian-compatible vault, while keeping the user's own notes read-only.
AgriciDaniel/claude-obsidian
Runs a bounded, source-grounded research loop that drafts a cited dossier and can propose a separately reviewed merge into an Obsidian vault.
AgriciDaniel/claude-obsidian
Creates a bounded, extractive rollup of recent Obsidian wiki log entries, previewed by default, with one optional apply step and no changes to child pages.
NicholasSpisak/second-brain
Set up a new Obsidian knowledge base with the LLM Wiki pattern.
AgriciDaniel/claude-obsidian
Creates, inspects and updates Obsidian JSON Canvas boards in a vault, with text, file, link, group and edge nodes, using safe recoverable edits.
AgriciDaniel/claude-obsidian
Sets up or adopts a separate Obsidian knowledge vault through the claude-obsidian core script and routes follow-up work to the right wiki sub-skill.
ballred/obsidian-claude-pkm
Creates today's daily note in an Obsidian vault and guides morning, midday and evening routines for planning, task review and reflection.
ballred/obsidian-claude-pkm
Tracks three-year, yearly, monthly, and weekly goals in linked Markdown files, calculating completion percentages and flagging stalled goals.
ballred/obsidian-claude-pkm
Reads, creates and edits notes in an Obsidian vault while preserving wiki-links, YAML frontmatter, tags and template variables.
ballred/obsidian-claude-pkm
Creates, tracks and archives projects linked to yearly goals in an Obsidian vault, with a status dashboard and a CLAUDE.md context file for each project.
ballred/obsidian-claude-pkm
Commit and push vault changes to Git with smart commit messages.
ballred/obsidian-claude-pkm
Updates an obsidian-claude-pkm vault's system files to the latest version, with a backup, per-file diff review and no changes to your own notes.
Works with
Categories
Personalizes a new Obsidian vault with a short setup interview, then on later runs loads the vault's CLAUDE.md files and project context at the start of a session. On the first run, detected by a FIRST_RUN file in the vault root, the skill welcomes you and asks four questions with the interactive question tool: what to call you, which day you prefer for the weekly review, which two to four goal areas matter most, and how Claude should interact, from direct and concise to coaching or detailed.
Vault Onboarding and Context Loader fits situations like: setting up a freshly copied Obsidian and Claude Code vault for the first time; starting a work session and needing Claude to load the vault's full context; loading the context for one project folder inside the vault; changing your review day, goal areas or interaction style by running setup again.
Run `npx skills add ballred/obsidian-claude-pkm --skill onboard -a claude-code`. Or copy the skill folder (vault-template/.claude/skills/onboard in ballred/obsidian-claude-pkm) into .claude/skills/onboard in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ballred/obsidian-claude-pkm --skill onboard -a codex`. Or copy the skill folder (vault-template/.claude/skills/onboard in ballred/obsidian-claude-pkm) into .agents/skills/onboard in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ballred/obsidian-claude-pkm --skill onboard -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/onboard, .gemini/skills/onboard, .github/skills/onboard and .opencode/skills/onboard in your project.
SKILL.md names no scripts, command-line tools or credentials: Vault Onboarding and Context Loader is instructions for the agent only. Our summary lists: A vault laid out from the starter kit, with a CLAUDE.md in its root. Its frontmatter pre-approves these tools: Read, Write, Edit, Glob, Grep, Bash, AskUserQuestion.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Vault Onboarding and Context Loader is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.7k tokens (SKILL.md is roughly 6.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Vault Onboarding and Context Loader: Open Second Brain (itechmeat/open-second-brain, 430 stars), Bounded Autoresearch (AgriciDaniel/claude-obsidian, 15k stars), Obsidian Wiki Log Fold (AgriciDaniel/claude-obsidian, 15k stars) and Second Brain (NicholasSpisak/second-brain, 736 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ballred (a GitHub user) maintains it in ballred/obsidian-claude-pkm, which has 1,876 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on February 18, 2026.
Source: ballred/obsidian-claude-pkm on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.