sync-obsidian
Turn every Claude Code session into a beautiful Obsidian note — automatically. Generates dual output: structured Markdown reports + interactive Canvas visual maps. Zero config, auto-detects projects.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/chatrichai/sync-obsidianSync to Obsidian — Auto-Detect Project Sync
Automatically sync your Claude Code session plans and implementation reports to your Obsidian vault.
Every sync produces two files: a detailed Markdown note + an Obsidian Canvas visual map.
The project name is auto-detected — no per-project configuration needed.
Configuration
Only one path to set — your Obsidian vault root:
OBSIDIAN_VAULT = /Users/you/Documents/Obsidian Vault
Update this to your actual Obsidian vault path before first use.
Auto Project Detection
The skill automatically detects the current project name (in priority order):
- Git repo name:
basename $(git rev-parse --show-toplevel) - Current directory name:
basename $PWD(fallback if not in a git repo)
Sync targets are derived from the project name:
- Markdown:
{OBSIDIAN_VAULT}/[Project] {project_name}/ - Canvas:
{OBSIDIAN_VAULT}/[Project] {project_name}/canvas/
Directories are auto-created if they don't exist (
mkdir -p).
Usage
/sync-obsidian plan # Sync the latest plan file
/sync-obsidian report # Generate and sync an implementation report
/sync-obsidian plan Auth Redesign # Sync plan with custom title
/sync-obsidian report API Layer # Sync report with custom title
$ARGUMENTS[0]: Type —planorreport(required)$ARGUMENTS[1]: Custom title (optional — auto-inferred from content if omitted)
Execution Flow
Step 0: Detect Project
- Run
basename $(git rev-parse --show-toplevel 2>/dev/null) 2>/dev/null || basename $PWDto get project name - Set
PROJECT_DIR = [Project] {project_name} - Set
CANVAS_DIR = [Project] {project_name}/canvas - Run
mkdir -pto ensure both directories exist
When type = plan
- Read the latest
.mdfile from.claude/plans/ - If no plan file found, extract plan content from the current conversation context
- Convert to Obsidian note format (see templates below)
- Write Markdown to
{OBSIDIAN_VAULT}/{PROJECT_DIR}/ - Write Canvas to
{OBSIDIAN_VAULT}/{CANVAS_DIR}/ - Filename:
[Plan] {title} ({YYYY-MM-DD}).md/.canvas
When type = report
- Summarize the implementation work completed in the current session
- Include: what was done, which files changed, key design decisions, follow-up TODOs
- Convert to Obsidian note format
- Write Markdown to
{OBSIDIAN_VAULT}/{PROJECT_DIR}/ - Write Canvas to
{OBSIDIAN_VAULT}/{CANVAS_DIR}/ - Filename:
[Report] {title} ({YYYY-MM-DD}).md/.canvas
Markdown Templates
Plan Template
# [Plan] {title}
> Date: {YYYY-MM-DD}
> Source: Claude Code Session
> Project: {project_name}
> Status: Pending / Approved
---
{Original plan content, preserved in full markdown}
---
> Synced from `.claude/plans/{filename}`
Report Template
# [Report] {title}
> Completed: {YYYY-MM-DD}
> Source: Claude Code Session
> Project: {project_name}
---
## Summary
{1-3 sentence overview}
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-chatrichai-sync-obsidian": {
"enabled": true,
"auto_update": true
}
}
}