From sjh-skills
Integrates Claude Code with an Obsidian vault for capturing thoughts, managing tasks, morning planning, and querying linked notes via a dual-zone architecture.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sjh-skills:obsidian-brainThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A thinking partner skill that integrates Claude Code with your Obsidian vault.
references/command-guide.mdreferences/vault-schema.mdscripts/analyze.shscripts/capture.shscripts/complete-task.shscripts/create-note.shscripts/create-task.shscripts/human-write.shscripts/init-vault.shscripts/query-links.shscripts/query-tasks.shscripts/safe-write.shtemplates/context.mdtemplates/daily.mdtemplates/meeting-transcript.mdtemplates/note.mdtemplates/project.mdtemplates/resource.mdtemplates/task.mdA thinking partner skill that integrates Claude Code with your Obsidian vault.
If the vault doesn't exist yet, initialize it:
scripts/init-vault.sh ~/second-brain
The vault path defaults to ~/second-brain. Set VAULT_ROOT environment variable to override.
The vault has two zones. You MUST respect these boundaries:
Directories: notes/, projects/, tasks/, resources/, contexts/, daily/, people/
NEVER directly create or modify files in these directories — unless using scripts/human-write.sh for user-dictated content (tasks, notes). Human-write validates the path is in tasks/ or notes/ AND the content has source: human.
Directory: ops/ (and all subdirectories)
All AI-generated writes MUST go through scripts/safe-write.sh which validates paths via realpath. Direct file writes to the vault are forbidden.
Capture user's words as a draft. Run scripts/capture.sh.
Zone: Writes to ops/drafts/ only (via safe-write.sh).
Create a task the user dictates. Run scripts/create-task.sh.
scripts/create-task.sh $VAULT_ROOT "Task title" --due 2026-04-01 --tags "work,urgent"
Zone: Writes to tasks/ only (via human-write.sh, source: human).
Create a note the user dictates. Run scripts/create-note.sh.
scripts/create-note.sh $VAULT_ROOT "Note title" "Content text" --tags "ai" --links "concept-a,concept-b"
Zone: Writes to notes/ only (via human-write.sh, source: human).
Query tasks with filtering. Run scripts/query-tasks.sh.
scripts/query-tasks.sh $VAULT_ROOT --undone --date today
scripts/query-tasks.sh $VAULT_ROOT --tag migration --project obsidian-brain
Zone: Reads only.
Mark a task as done. Run scripts/complete-task.sh.
scripts/complete-task.sh $VAULT_ROOT "task keyword"
Zone: Modifies done: field in tasks/ only.
Load project context from the vault. Read references/command-guide.md for details.
Zone: Reads both zones. Never writes.
Morning planning. Read tasks, recent daily notes, and calendar.
Zone: Reads both zones. Output to terminal only — never writes.
All reflection commands output to terminal only — they never write files.
Stress-test a belief against your past writing.
scripts/analyze.sh $VAULT_ROOT --mode challenge --topic "some belief"
Zone: Reads human zone only.
Detect gaps between intended goals and actual activity.
scripts/analyze.sh $VAULT_ROOT --mode drift --days 60
Zone: Reads human zone only.
Surface hidden ideas — ghost links and recurring themes.
scripts/analyze.sh $VAULT_ROOT --mode emerge --days 30
Zone: Reads human zone only.
Find hidden connections between two topics.
scripts/analyze.sh $VAULT_ROOT --mode connect --topics "topic-a,topic-b"
Zone: Reads human zone only.
Use scripts/query-links.sh to find connected notes:
# Find what a note links to
scripts/query-links.sh $VAULT_ROOT outgoing "notes/idea-a.md"
# Find what links to a topic
scripts/query-links.sh $VAULT_ROOT backlinks "idea-a"
# Backlinks from human zone only (for reflection commands)
scripts/query-links.sh $VAULT_ROOT backlinks "idea-a" --human-only
See references/vault-schema.md for frontmatter conventions, zone rules, and wikilink strategy.
See references/command-guide.md for detailed command documentation.
npx claudepluginhub jiahao-shao1/sjh-skills --plugin sjh-skillsIntegrates with Obsidian vault via official CLI for capturing dev artifacts, searching notes, appending to daily notes, and managing tasks. Requires Obsidian desktop app running with CLI enabled.
Manages Obsidian vaults: search, create, edit, move Markdown notes; handle YAML frontmatter, wikilinks, backlinks, daily notes, Zettelkasten setup, and sync via obsidian-cli.
Provides foundational Obsidian vault context including path, CLI commands, and PARA rules. Loads automatically when the user references their vault, notes, or personal knowledge system.