From second-brain
Manages Claude Code session metadata by setting project, tags, and summary in session.md via Obsidian CLI. Useful for tagging, categorizing, or summarizing sessions after discussions.
npx claudepluginhub sxhmilyoyo/sundayhao-plugins --plugin second-brainThis skill uses the workspace's default tool permissions.
Manage metadata for the current active session's `session.md` file via Obsidian CLI.
Saves Claude Code session context to Obsidian vault as structured Markdown notes in categories like session-log, decision, troubleshooting. Extracts summary, decisions, file changes, next steps, links related docs via grep, and git commits.
Integrates Claude with Obsidian vaults for note creation, task management, knowledge organization, and project docs using CLI (1.12+), MOCs, properties.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
Manage metadata for the current active session's session.md file via Obsidian CLI.
The session docs path is injected into your system prompt by the SessionStart hook. It looks like:
Session docs path: {KB_PATH}/_sessions/2026-03-04/abc123-def456/docs/
To get the session.md vault-relative path for Obsidian CLI:
_sessions/ in it — everything from _sessions/ onward is vault-relativedocs/ and append session.mdExample:
.../knowledge-bank/_sessions/2026-03-04/abc123-def456/docs/_sessions/2026-03-04/abc123-def456/session.mdIf the session docs path is not in your system prompt, ask the user for the session folder path.
| Property | Type | Purpose |
|---|---|---|
project | text | Project name (auto-set from cwd at session start, customizable) |
tags | list | Freeform categorization (e.g., brainstorming, debugging, architecture) |
summary | text | One-line description of what the session accomplished |
Do NOT modify other frontmatter properties (session_id, date, cwd, etc.) — those are managed by hooks.
Set a property:
obsidian vault="knowledge-bank" property:set name="<property>" value="<value>" [type="list"] path="<vault-relative-path>"
Read current metadata:
obsidian vault="knowledge-bank" read path="<vault-relative-path>"
User: "set project to sundayhao-plugins"
obsidian vault="knowledge-bank" property:set name="project" value="sundayhao-plugins" path="_sessions/2026-03-04/abc123/session.md"
User: "add tags brainstorming and architecture"
obsidian vault="knowledge-bank" property:set name="tags" value="brainstorming, architecture" type="list" path="_sessions/2026-03-04/abc123/session.md"
User: "summarize: designed centralized session management"
obsidian vault="knowledge-bank" property:set name="summary" value="Designed centralized session management for second-brain plugin" path="_sessions/2026-03-04/abc123/session.md"
User: "what's this session tagged as?"
obsidian vault="knowledge-bank" read path="_sessions/2026-03-04/abc123/session.md"
Then extract and report the tags and summary from the frontmatter.
Every time this skill is invoked, always start by reading the current session.md and displaying a status summary before taking any action:
**Current Session**
- project: <value or empty>
- tags: <value or empty>
- summary: <value or empty>
If the user invoked the skill without a specific request, show the status and list what can be set.
project, tags, and summary