{
  "markdown": "# Obsidian Skill for Claude Code\n\n[![Version](https://img.shields.io/badge/version-1.3.0-blue)]()\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Obsidian](https://img.shields.io/badge/Obsidian-v1.12.7+-8b5cf6?logo=obsidian)](https://obsidian.md/)\n[![Claude Code](https://img.shields.io/badge/Claude%20Code-Skill-1e3a5f)](https://claude.ai/code)\n[![Clones](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/Sourabh-Garg-tech/obsidian/master/docs/stats.json)](https://github.com/Sourabh-Garg-tech/obsidian)\n[![Stars](https://img.shields.io/github/stars/Sourabh-Garg-tech/obsidian)](https://github.com/Sourabh-Garg-tech/obsidian)\n[![Forks](https://img.shields.io/github/forks/Sourabh-Garg-tech/obsidian)](https://github.com/Sourabh-Garg-tech/obsidian)\n\n> Turn Claude Code into an intelligent vault assistant for [Obsidian](https://obsidian.md/).\n> Create notes, search your second brain, manage tasks, and run structured PKM workflows -- all through natural conversation.\n\n**Why this exists:** Raw file tools break wikilinks, corrupt frontmatter, and overwrite plugin configs. This skill routes every operation through Obsidian's official CLI so your vault stays intact.\n\n---\n\n## Architecture\n\n```\nUser Request (\"search my vault for meeting notes\")\n        |\n        v\n+---------------------+     +---------------------+     +---------------------+\n|   Claude (skill)    | --> |   Obsidian CLI      | --> |   Obsidian Vault    |\n| - reasoning         |     | - safe CRUD         |     | - files             |\n| - link strategy     |     | - wikilink rewrite  |     | - graph             |\n| - context loading   |     | - index sync        |     | - plugins           |\n+---------------------+     +---------------------+     +---------------------+\n```\n\n**The rule:** Always use `obsidian <cmd>` over raw `mv`, `cp`, or direct `.md` writes.\n\n---\n\n## What You Get\n\n| Feature | What it means |\n|---|---|\n| **Intelligence-first context** | Auto-loads your active projects, recent decisions, and open tasks on every invocation |\n| **Cross-directory awareness** | Work on projects outside your vault -- the skill finds and loads the right project context automatically |\n| **Session hot cache** | Tracks what you've touched this session across any directory |\n| **Vault intelligence** | Auto-detects hub notes, orphaned notes, broken links, and missing backlinks |\n| **Source ingestion** | Pull articles, URLs, and documents into your vault with preview-gated note creation |\n| **PKM workflows** | Built-in support for PARA, Zettelkasten, GTD, and LYT methods |\n| **Thinking commands** | `/obsidian`, `/obsidian-trace`, `/obsidian-challenge`, `/obsidian-connect`, `/obsidian-emerge` |\n\n---\n\n## Demo\n\n### Natural language vault operations\n\n```\n> search my vault for meeting notes\n\nFound 3 notes:\n  - Meeting Notes/2026-04-15 Sprint Review\n  - Meeting Notes/2026-04-22 Architecture Decision\n  - Projects/Website Redesign/Stakeholder Meeting\n\n> read \"Architecture Decision\"\n\n# Architecture Decision\n\nDate: 2026-04-22\nAttendees: Alice, Bob, Carol\n\n## Decision\nMigrate from REST to GraphQL...\n\n> create note \"GraphQL Migration Plan\" with status active\n\nCreated: Projects/Website Redesign/GraphQL Migration Plan\nProperties: status=active, tags=[\"project\",\"backend\"]\n```\n\n### Morning routine\n\n```\n> /obsidian morning\n\nGood morning. Here's your context:\n\nProjects: 3 active\n  - Website Redesign (2 open tasks)\n  - Q2 Planning (1 decision pending)\n  - Infrastructure Audit (on hold)\n\nYesterday's incomplete tasks:\n  - [ ] Review PR #42 (Website Redesign)\n  - [ ] Draft stakeholder update (Q2 Planning)\n\nToday's focus: Website Redesign (2 tasks, 1 due today)\n```\n\n### Vault intelligence\n\n```\n> /obsidian health\n\nVault Health Scorecard -- Work Vault\nOverall: B (78/100)\n\n| Category         | Score | Issues                           |\n|------------------|-------|----------------------------------|\n| Folder Structure | 85    | Missing _summaries/ folder       |\n| Frontmatter      | 70    | 12 notes missing tags property   |\n| Link Graph       | 80    | 3 broken links, 7 orphans        |\n| Token Efficiency | 75    | _context/ exists but oversized   |\n| Naming           | 90    | 2 files with spaces              |\n\nPriority fix: Add tags to 12 notes -- `obsidian property:set file=\"Note\" name=\"tags\" value='[\"untagged\"]'`\n```\n\n---\n\n## Installation\n\n### Prerequisites\n\n- [Obsidian](https://obsidian.md/) v1.12.7+ with CLI enabled\n- [Claude Code](https://claude.ai/code)\n\nEnable the Obsidian CLI: Settings -> General -> Command line interface -> Enable + Register.\n\n### Installation\n\n**Option A: Plugin install (macOS / Linux)**\n\n```bash\n/plugin install obsidian\n```\n\nThis auto-discovers skills and commands from the plugin directory.\n\n> **Windows:** The `/plugin install` command fails with `Permission denied (publickey)` on Windows due to a [Claude Code client bug](https://github.com/anthropics/claude-code/issues) — it forces SSH for all GitHub clones. Use Option B on Windows.\n\n**Option B: Manual clone (all platforms)**\n\n```bash\n# macOS / Linux\ngit clone https://github.com/Sourabh-Garg-tech/obsidian.git \"$HOME/.claude/plugins/obsidian\"\n\n# Windows (PowerShell) — do NOT use ~, git creates a literal ~ folder\ngit clone https://github.com/Sourabh-Garg-tech/obsidian.git \"$env:USERPROFILE\\.claude\\plugins\\obsidian\"\n```\n\nThen reload:\n\n```bash\n/reload-plugins\n```\n\n### Slash commands\n\nClaude Code auto-discovers commands from the plugin's `commands/` directory. They appear as namespaced slash commands: `/obsidian`, `/obsidian-trace`, `/obsidian-challenge`, `/obsidian-connect`, `/obsidian-emerge`.\n\nIf you prefer short-form commands (without the plugin prefix), copy them to your personal commands directory:\n\n```bash\n# macOS / Linux\ncp \"$HOME/.claude/plugins/obsidian/commands/\"*.md \"$HOME/.claude/commands/\"\n\n# Windows (PowerShell)\nCopy-Item \"$env:USERPROFILE\\.claude\\plugins\\obsidian\\commands\\*.md\" \"$env:USERPROFILE\\.claude\\commands\\\"\n```\n\n### What loads\n\n- **8 skills** from `skills/` — auto-discovered (obsidian, obsidian-cli, obsidian-markdown, obsidian-bases, json-canvas, defuddle, obsidian-workflows, obsidian-vault-architect)\n- **5 slash commands** from `commands/` — `/obsidian`, `/obsidian-trace`, `/obsidian-challenge`, `/obsidian-connect`, `/obsidian-emerge`\n- **3 scripts** — `vault-health` (health audits), `context-builder` (auto-context), `validate-skills` (plugin validation) — each with `.sh` and `.ps1` variants\n- **Auto-trigger**: any message mentioning Obsidian, vaults, notes, or PKM\n\n---\n\n## Quick Start\n\n```bash\n# Verify CLI connection\nobsidian version\nobsidian vaults\n\n# Read and search\nobsidian read file=\"Project Ideas\"\nobsidian search query=\"deadline:2026-04-30\" format=json\n\n# Daily notes and tasks\nobsidian daily:append date=\"today\" content=\"- [ ] Review Q2 goals\"\nobsidian tasks todo\n\n# Safe frontmatter updates\nobsidian property:set file=\"Project Ideas\" name=\"status\" value=\"active\"\n\n# Move with wikilink preservation\nobsidian move file=\"Draft\" to=\"Published/\"\n```\n\n---\n\n## Commands\n\n| Command | Input | What it does |\n|---|---|---|\n| `/obsidian` | Optional keyword | Main gateway -- auto-routes to vault mode, project mode, or quick actions |\n| `/obsidian-trace <topic>` | Concept or project | Timeline of how thinking evolved |\n| `/obsidian-challenge <belief>` | Stated belief or plan | Vault-sourced counterarguments |\n| `/obsidian-connect <A, B>` | Two domains | Non-obvious connections |\n| `/obsidian-emerge` | None | Latent ideas the vault implies |\n\n---\n\n## Daily Workflows\n\nRun these with `/obsidian <workflow>`:\n\n| Workflow | When to use |\n|---|---|\n| `morning` | Populate daily note with yesterday's incomplete tasks + today's focus |\n| `evening` | Summarize accomplishments, append to daily and weekly notes |\n| `weekly` | Tag analysis + intelligence report + update weekly summary |\n| `tasks` | See open tasks from your current project or daily note |\n| `search <query>` | Full-text search across the vault |\n| `health` | Full vault health report with scoring |\n\n---\n\n## Vault Intelligence\n\nAutomated vault health that runs after ingestion and note creation:\n\n| Check | What it finds |\n|---|---|\n| `intelligence` | Full scan: hubs + orphans + broken links + missing backlinks |\n| `hubs` | Notes with 10+ backlinks -- your knowledge graph centers |\n| `orphans` | Notes with zero backlinks -- potential disconnects |\n| `fix-links` | Broken wikilinks with suggested fixes |\n| `backlinks` | Missing bidirectional connections |\n\n---\n\n## Project Context (Cross-Directory)\n\n**The problem:** You're coding in `~/Work/project-a/` but your vault notes live in `~/Vault/Projects/project-a/`. Context is lost.\n\n**The fix:** This skill detects when you're working outside the vault and automatically loads the matching project's intelligence -- active decisions, open gaps, and next actions. No manual path management.\n\n```bash\n# In ~/Work/project-a/, run:\n/obsidian\n# Skill auto-detects project-a and loads its context\n```\n\n---\n\n## Safety Rules\n\n1. **Never `mv`/`cp`** vault files -- `obsidian move` rewrites wikilinks automatically\n2. **Never write raw YAML** -- `property:set` writes safe frontmatter\n3. **Never edit `.obsidian/*.json`** -- Obsidian will overwrite your changes\n4. **Dry-run bulk ops** -- echo commands first, then remove `echo`\n5. **Confirm vault** with `obsidian vaults` if multiple vaults are open\n6. **Windows:** `search` may return empty without `path=` -- use `path=\"Folder/\"`\n7. **Backlinks:** use `path=\"Folder/Note.md\"` instead of `file=\"Note\"`\n8. **Canvas files:** direct writes are safe (no wikilinks or frontmatter to corrupt) -- validate JSON after writing\n\nSee [full safety reference](references/full-reference.md) for the complete list.\n\n---\n\n## Sub-Skills\n\n| Sub-skill | Purpose |\n|---|---|\n| [obsidian-cli](skills/obsidian-cli/) | CLI syntax, parameters, and command reference |\n| [obsidian-markdown](skills/obsidian-markdown/) | Wikilinks, embeds, callouts, properties, block references |\n| [obsidian-bases](skills/obsidian-bases/) | `.base` files: filters, formulas, table/card/list/map views |\n| [json-canvas](skills/json-canvas/) | `.canvas` files: nodes, edges, groups, visual layouts |\n| [defuddle](skills/defuddle/) | Extract clean markdown from web pages |\n| [obsidian-workflows](skills/obsidian-workflows/) | PKM routines, token-efficient loading, vault intelligence |\n| [obsidian-vault-architect](skills/obsidian-vault-architect/) | Vault blueprints, health audit, fix commands, scoring |\n\n---\n\n## Roadmap\n\nSee [ROADMAP.md](ROADMAP.md) for planned development — v1.3.x quality & polish, v1.4 features, and future ideas.\n\n## Contributing\n\nPull requests welcome. Use `docs:`, `feat:`, or `fix:` prefix for commits.\n\n---\n\n## License\n\n[MIT](LICENSE) -- free for anyone to use, modify, and distribute.\n",
  "bytes": 10850,
  "sha": "16028d4a1dce3277525e36cbe16a392c04205f9e29ae75cdc889ac017b1d5f40",
  "repo_slug": "sourabh-garg-tech/obsidian",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_sourabh_garg_tech_obsidian_obsidian_4f22caf5/readme"
}