obsidian
Unified Obsidian vault operations: sync documents to vault, read notes for context, search knowledge, and validate markdown standards. Filesystem-based, no MCP required. Trigger: When user wants to read from or write to Obsidian vault.
Best use case
obsidian is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Unified Obsidian vault operations: sync documents to vault, read notes for context, search knowledge, and validate markdown standards. Filesystem-based, no MCP required. Trigger: When user wants to read from or write to Obsidian vault.
Teams using obsidian should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/obsidian/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How obsidian Compares
| Feature / Agent | obsidian | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Unified Obsidian vault operations: sync documents to vault, read notes for context, search knowledge, and validate markdown standards. Filesystem-based, no MCP required. Trigger: When user wants to read from or write to Obsidian vault.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Obsidian Vault Manager
## Assets
This skill uses a modular assets architecture. Detailed workflows, templates, and helpers are in the [assets/](assets/) directory:
- **[assets/modes/](assets/modes/)** - 2 operation modes with detailed workflows
- **[assets/helpers/](assets/helpers/)** - Shared helpers for frontmatter, cross-refs, ranking, batch operations
See [assets/README.md](assets/README.md) for the directory index.
> **Metadata note**: This file's YAML frontmatter defines runtime behavior (auto_invoke triggers, allowed-tools, scope). The `manifest.json` defines registry metadata (version, tags, providers, dependencies). The frontmatter is consumed by the Claude Code skill loader; the manifest is consumed by the `skills` CLI for installation and updates.
---
## Purpose
Unified skill for all Obsidian vault operations. Acts as a **bidirectional knowledge bridge** between the agent workspace and your Obsidian vault (MCP preferred, filesystem fallback when unavailable):
- **SYNC mode**: Write documents from workspace to vault (markdown reports, plans, analysis)
- **READ mode**: Read, search, and reason over vault notes as contextual knowledge source
Combines the capabilities of the former `obsidian-sync` and `obsidian-reader` skills into one cohesive tool with progressive disclosure.
---
## Language Support (i18n)
This skill supports **bilingual operation** (English + Spanish):
- **Trigger keywords**: Both English (`sync`, `read`, `search`) and Spanish (`guardar`, `lee`, `busca`) are recognized for mode detection.
- **`## Referencias` section header**: Uses the Spanish form intentionally as an Obsidian convention adopted by this project. All documents produced by this skill use `## Referencias` (not `## References`).
- **Example queries**: Documentation includes examples in both languages to reflect real bilingual usage.
- **Output language**: The skill responds in the **same language the user uses**. If the user writes in Spanish, respond in Spanish. If in English, respond in English. Document content is never translated — it is synced/read exactly as-is.
> **Convention**: `## Referencias` is a fixed section header. Never translate it to `## References` in generated documents.
---
## Critical Rules
> **RULE 1 — MODE DETECTION: AUTO-SELECT FROM USER INTENT**
>
> Detect the operation mode from the user's input. Never force a mode that doesn't match the scenario.
> **RULE 2 — PRESERVE CONTENT INTEGRITY (SYNC mode)**
>
> Read source files completely before writing. Never modify document body content (headings, paragraphs, tables, code blocks, `## Referencias` section). Only add/merge frontmatter metadata. Cross-reference fixes update the `related` frontmatter array only — never the document body.
> **RULE 3 — NEVER FABRICATE CONTENT (READ mode)**
>
> Only report information that exists verbatim in notes. Quote sources with paths. Distinguish between "the note says X" and "I interpret X based on notes".
> **RULE 4 — FOLLOW OBSIDIAN MARKDOWN STANDARD**
>
> All operations follow the [Obsidian markdown standard](assets/standards/obsidian-md-standard.md) specification for frontmatter, wiki-links, types, and cross-references.
---
## Tool Dependencies
This skill uses native Claude Code tools only: `Read`, `Write`, `Edit`, `Glob`, `Grep`, `Bash`, `AskUserQuestion`. No MCP or external dependencies required.
---
## Operation Modes
### Mode Detection
Auto-detect from user intent using these signals:
| Mode | Signals (EN) | Signals (ES) | Example Inputs |
|------|-------------|-------------|----------------|
| **SYNC** | "sync", "save", "store", "write", "move" + "obsidian" | "guardar", "sincronizar" + "obsidian" | "sync this report to obsidian", "guardar en obsidian" |
| **READ** | "read", "search", "find", "check", "consult", "what do my notes say" + "obsidian"/"vault"/"notes" | "lee", "busca", "consulta" + "obsidian"/"vault"/"notas" | "read my vault notes about X", "busca en obsidian" |
**Ambiguous intent resolution:** If the user's intent does not clearly match SYNC or READ signals (e.g., "help me with obsidian", "manage my notes", "obsidian" with no verb), ask the user to clarify:
```
AskUserQuestion:
question: "What would you like to do with your Obsidian vault?"
header: "Mode"
options:
- label: "Read / Search"
description: "Read notes, search for information, or get project context from your vault"
- label: "Sync / Write"
description: "Save or sync documents from your workspace to your vault"
```
### Mode Capabilities Matrix
| Capability | SYNC Mode | READ Mode |
|-----------|:---------:|:---------:|
| Write to vault | ✅ | ❌ |
| Read from vault | ❌ | ✅ |
| Search vault | ❌ | ✅ |
| Generate frontmatter | ✅ | ❌ |
| Cross-ref fix (frontmatter) | ✅ | ❌ |
| Cross-ref diagnose | ✅ | ✅ |
| Batch operations | ✅ | ✅ |
| Vault browsing | ✅ | ✅ |
| Priority ranking | ❌ | ✅ |
| Standard compliance check | ❌ | ✅ |
| Delete/archive notes | ✅ | ❌ |
| Move/reorganize notes | ✅ | ❌ |
| Patch notes (partial edit) | ✅ | ❌ |
| Metadata-only reads | ❌ | ✅ |
---
## Asset Loading (Mode-Gated)
After detecting the mode, read ONLY the assets listed for that mode. Do NOT read assets for other modes — they waste context tokens.
| Mode | Read These Assets | Do NOT Read |
|------|-------------------|-------------|
| **SYNC** | `assets/modes/SYNC.md` | READ.md, priority-ranking.md, obsidian-linter.md |
| **READ** | `assets/modes/READ.md` | SYNC.md, frontmatter-generator.md, cross-ref-validator.md, batch-sync-pattern.md |
Each mode asset references its required helpers and standards internally. Read them on-demand as the mode workflow instructs — not upfront.
For MCP tool parameter contracts (needed in both modes), see [assets/helpers/tool-reference.md](assets/helpers/tool-reference.md) — read only if ToolSearch output is insufficient.
---
## Quick Start
### SYNC Mode
Use to save documents from workspace to your Obsidian vault:
> Sync this report to obsidian.
**Assets to read now:** [assets/modes/SYNC.md](assets/modes/SYNC.md) (references frontmatter-generator, cross-ref-validator, batch-sync-pattern on-demand)
### READ Mode
Use to read, search, and reason over your vault notes:
> Read my vault notes about the architecture.
**Assets to read now:** [assets/modes/READ.md](assets/modes/READ.md) (references priority-ranking, obsidian-linter on-demand)
---
## Mode Workflows
### SYNC Mode - Write to Obsidian Vault
Sync markdown documents from workspace to Obsidian vault with proper frontmatter and cross-reference validation.
**Assets to read now:** [assets/modes/SYNC.md](assets/modes/SYNC.md) (references frontmatter-generator, cross-ref-validator, batch-sync-pattern on-demand)
**Quick summary:**
1. Identify source files (Glob workspace docs)
2. Detect access mode (MCP or filesystem fallback)
3. Browse vault and ask user for destination
4. Read source files
5. Generate frontmatter (→ SYNC.md references [frontmatter-generator](assets/helpers/frontmatter-generator.md))
6. Write to vault with `mcp__obsidian__write_note`
7. Validate cross-references (→ SYNC.md references [cross-ref-validator](assets/helpers/cross-ref-validator.md))
8. Report results
### READ Mode - Read from Obsidian Vault
Read, search, and reason over vault notes to provide contextual knowledge for decision-making.
**Assets to read now:** [assets/modes/READ.md](assets/modes/READ.md) (references priority-ranking, obsidian-linter on-demand)
**Quick summary:**
1. Load MCP tools (fallback to filesystem if MCP unavailable)
2. Parse user intent (read note, search, get project context, answer question)
3. Execute operation (search/read/reason)
4. Rank results by priority (→ READ.md references [priority-ranking](assets/helpers/priority-ranking.md))
5. Present structured output with source citations
---
## Configuration Resolution
`{vault_destination}` is resolved at runtime — SYNC mode browses the vault and asks the user where to save. No pre-configuration or persistence needed. See SYNC.md Step 3.
**Staging-aware**: When the user says "sync my output to vault", SYNC mode detects `.agents/` directories from producer skills (universal-planner, code-analyzer), lists available output, lets the user pick, and syncs to the chosen vault destination.
---
## Shared Helpers
- **[frontmatter-generator](assets/helpers/frontmatter-generator.md)** - Generate Obsidian frontmatter following universal schema
- **[cross-ref-validator](assets/helpers/cross-ref-validator.md)** - Validate bidirectional references
- **[batch-sync-pattern](assets/helpers/batch-sync-pattern.md)** - Optimized batch file sync workflow
- **[priority-ranking](assets/helpers/priority-ranking.md)** - Rank search results by relevance
---
## Obsidian Output Standard
All operations follow the internal [Obsidian markdown standard](assets/standards/obsidian-md-standard.md):
1. **Frontmatter**: Universal schema with title, date, project, type, status, version, tags, changelog, related
2. **Type taxonomy**: 14 document types (analysis, plan, sprint-plan, technical-report, etc.)
3. **Wiki-links**: `[[note-name]]` format, never markdown links
4. **Bidirectional refs**: If A→B, then B→A
5. **Status transitions**: draft → active → completed → archived
For compliance validation, see [assets/validators/obsidian-linter.md](assets/validators/obsidian-linter.md).
---
## Integration with Other Skills
| Producer Skill | How obsidian Integrates |
|---------------|------------------------|
| `universal-planner` | SYNC: Saves planning docs to vault. READ: Provides historical plans as context |
| `code-analyzer` | SYNC: Saves technical reports. READ: Surfaces architecture notes |
| `universal-planner` (EXECUTE mode) | READ: Retrieves sprint plans and progress |
**Composition pattern:**
```
Producer skill generates docs → obsidian SYNC mode writes to vault
Agent needs context → obsidian READ mode retrieves from vault
```
## Cross-Skill Invocation
When another skill or agent needs to invoke obsidian, use this priority order:
### Priority 1: Skill Tool (recommended)
If running in Claude Code with skills loaded:
```
Skill("obsidian")
```
Then describe the operation (e.g., "sync the files in .agents/staging/code-analyzer/ to the vault").
### Priority 2: Natural Language Trigger
Say a phrase that matches auto_invoke:
- "Sync the output to obsidian"
- "Save these reports to the vault"
- "Guardar en obsidian"
### Priority 3: Direct SKILL.md Read (subagents without skill context)
If the Skill tool is unavailable (e.g., team subagents via Task tool), read the SKILL.md directly:
```
Read: cognitives/skills/integrations/obsidian/SKILL.md
```
Then follow the SYNC or READ mode workflow. NEVER call `mcp__obsidian__*` tools without reading this skill first.
---
## Best Practices
**SYNC mode:**
- Verify source files exist before syncing
- Always ask user where to save (never assume destination)
- Validate cross-references after batch syncs
- Report exact vault paths where files were saved
**READ mode:**
- Try MCP first, fallback to filesystem if unavailable
- Scope searches to relevant folders (don't search entire vault unnecessarily)
- Always cite sources with exact note paths
- Distinguish quoted content from interpretation
---
## Limitations
- **Markdown only**: Handles `.md` files, not binary assets/images
- **Single vault**: Operates on one vault at a time
- **No bidirectional sync**: Writes TO vault (SYNC) or reads FROM vault (READ), not both-way sync
- **Read-only in READ mode**: Cannot modify notes in READ mode (use SYNC for writing)
- **Search is regex/literal**: Uses Grep — no fuzzy search. Broaden the pattern if results are sparse.
---
## Troubleshooting
| Issue | Mode | Solution |
|-------|------|----------|
| "Tool not found: mcp__obsidian__*" | Both | Run `ToolSearch query: "+obsidian write"` first |
| "MCP server not connected" | Both | Skill automatically falls back to filesystem mode. Provide vault path when prompted. |
| "Note already exists" | SYNC | Confirm with user before overwriting |
| "No results found" | READ | Broaden search, check different folders, verify vault path |
| "Empty content" | SYNC | Verify source file path with Glob |
| "Confirmation path mismatch" | SYNC | `delete_note` requires `confirmPath` to exactly match `path` |
| "Multiple matches found" | SYNC | `patch_note` with `replaceAll: false` fails on multiple matches; set `replaceAll: true` or refine the string |
| "Frontmatter merge conflict" | SYNC | `update_frontmatter` with `merge: true` preserves existing; use `merge: false` to replace entirely |
| Slow metadata queries | READ | Use `get_frontmatter` or `get_notes_info` instead of reading full notes |Related Skills
cognitive-register
Registers new cognitives (skills, agents, prompts, workflows, tools) into the SynapSync Registry with proper structure, manifest, and registry index. Trigger: When the user says "GUARDA", "REGISTRA", "AGREGA" followed by a cognitive type and name, or asks to save/register/add a cognitive to the registry.
sprint-forge
Adaptive sprint workflow: deep analysis, evolving roadmap, one-at-a-time sprints, formal debt tracking, and re-entry prompts for context persistence. Trigger: When the user wants to analyze a project, create a roadmap, generate/execute sprints iteratively, or check project status and technical debt.
project-brain
Session memory for AI agents — load context at the start, save sessions at the end, evolve knowledge across sessions. Like a professional's notebook: open before work, write a summary when done, persist between sessions. Trigger: When starting a session and need to recover context, or ending a session and want to save what happened.
universal-planner
Unified planning and execution skill for any software scenario. PLAN mode produces structured documentation; EXECUTE mode implements sprints from plan output. Trigger: When planning or executing any software work that requires structured analysis and actionable task plans.
growth-ceo
Elite tech CEO strategist that thinks like Musk, Bezos, Altman, Huang, and Thiel combined. Generates billion-dollar-scale strategic initiatives, product visions, and growth plays using first principles, 7 Powers, flywheels, and exponential thinking. Use this skill whenever the user discusses product strategy, business decisions, growth challenges, competitive positioning, or asks "what should we build" — even if they don't explicitly ask for "strategy". This includes: scaling from N to 10N users, what to build vs NOT build, MVP decisions, feature prioritization, competitive differentiation, enterprise vs self-serve, go-to-market, pivoting, revenue strategy, reducing churn, positioning against competitors, fundraising strategy, team building, platform plays, or any question where the user needs a founder/CEO-level perspective. If the user describes their product and asks "what should I do" — use this skill. Think big. Resources can be acquired. The vision comes first.
growth-architect
AI Co-Founder & Growth Architect: strategic clarity, product vision, MVP design, and architecture decisions (ADRs) before execution begins. Trigger: When user needs strategic advice, MVP validation, market analysis, product vision, or architecture decisions — before generating any execution plan.
skill-creator
Creates new AI agent skills following the SynapSync spec with enhanced templates and guidelines. Trigger: When user asks to create a new skill, add agent instructions, or document patterns for AI.
prompt-improver
Analyze and improve prompts using Claude's official prompting best practices. Use this skill whenever the user wants to improve, refine, review, or optimize a prompt — whether it's a system prompt, a user prompt, an API prompt, or instructions for an AI agent. Also trigger when the user shares a raw prompt and asks for feedback, says 'make this prompt better', 'optimize my prompt', 'review this prompt', or pastes a prompt and asks what's wrong with it. Even if the user just says 'improve this' while sharing text that looks like a prompt or instruction set, use this skill.
dead-code-auditor
Rigorous dead code audit for any module, folder, or file in any programming language. Detects orphan files never imported anywhere, classes/functions/ methods declared but never called, constructor parameters received but never consumed, unused imports/requires, private fields with no references, and commented-out code blocks. Use this skill whenever the user asks to: review unused code, clean up a feature after a refactor, find dead code, detect orphan files or classes, audit what can be deleted, find what's left over after a big change, or any variation of "what's not being used / what can I remove". Also triggers when the user says they made large changes and wants to know what became obsolete. IMPORTANT: This skill only reports — it never deletes anything. At the end it always offers to generate a removal plan with /plan.
obsidian-write
Writes Obsidian pages (frontmatter, checkbox, folder-based namespace, wikilink) following conventions. Use when creating namespace pages (troubleshoot, decision, qa, spec, incident, issue), writing journal entries, promoting journal to pages, or editing existing pages. Vault 위치/namespace 매핑은 `documentation` skill 참조. Do NOT use for reading/searching (use ir directly).
memory-to-obsidian
将重要内容记录到 Obsidian Memory 文件夹,自动按日期整理并添加时间戳
obsidian-plugin
Create and develop Obsidian plugins from scratch. Use when building a new Obsidian plugin, scaffolding from the sample-plugin-plus template, or developing plugin features. Covers project setup, manifest configuration, TypeScript development, settings UI, commands, ribbons, modals, and Obsidian API patterns.