From sjh-skills
Integrates Claude Code with Obsidian Second Brain vault for loading project context, capturing thoughts/tasks/notes, daily planning, and querying linked notes via bash scripts and dual-zone architecture.
npx claudepluginhub jiahao-shao1/sjh-skills --plugin sjh-skillsThis skill uses the workspace's default tool permissions.
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.mdIntegrates Claude with Obsidian vaults for note creation, task management, knowledge organization, and project docs using CLI (1.12+), MOCs, properties.
Manages Obsidian vaults: search, create, edit, move Markdown notes; handle YAML frontmatter, wikilinks, backlinks, daily notes, Zettelkasten setup, and sync via obsidian-cli.
Provides persistent Obsidian vault memory for coding agents. Auto-orients sessions with TODOs and project overviews, supports lookup of notes/patterns, and writes discoveries using commands like init, lookup, note.
Share bugs, ideas, or general feedback.
A 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.