About obsidian
obsidian is a skill for Obsidian users covering CLI operations, Bases files, and Obsidian Flavored Markdown, as well as plugin and theme development. It requires confirmation of the target vault and command before CLI or MCP commands run.
Key features
- 01Manage notes, tasks, and properties
- 02Create Bases with filters and formulas
- 03Write Obsidian Flavored Markdown
- 04Assist with plugin and theme development
- 05Confirm target vault before commands
Use cases
- 01Search or edit notes in a named vault
- 02Build a Base with filters and formulas
- 03Write content with wikilinks, embeds, and callouts
- 04Develop or debug an Obsidian plugin
MCP support
CLI or MCP commands operate through a running Obsidian instance. If the CLI is unavailable, mcp-obsidian-cli may be offered as an optional fallback, but installation requires approval.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ afonsoft/ skills --skill obsidianAfter installing, type/obsidianin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/CALLOUTS.mdEMBEDS.mdFUNCTIONS_REFERENCE.mdobsidian-bases.mdobsidian-cli.mdobsidian-markdown.mdPROPERTIES.mdDetails
From the project READMEObsidian
A single skill for everything Obsidian: the CLI, Bases (.base files), and Obsidian Flavored Markdown. Consolidates the former obsidian-cli, obsidian-bases, and obsidian-markdown skills.
Origin: derived from
kepano/obsidian-skills(MIT). Obsidian must be running for any CLI or MCP command to work.
When to Use
-
Interact with a vault from the command line (create/read/search/manage notes, tasks, properties).
-
Build or edit a Base (database-like view over notes) with filters and formulas.
-
Author Obsidian Flavored Markdown (wikilinks, embeds, callouts, properties).
-
Develop or debug an Obsidian plugin or theme.
-
User asks or mentions this skill in English (e.g., "use /obsidian", "run obsidian").
-
O usuário pede ou menciona esta skill em português (ex.: "use /obsidian", "execute obsidian").
When NOT to Use
- Do not use for generic Markdown files or note-taking tools that are not Obsidian.
- Do not target a vault the user has not explicitly named.
- Do not auto-install the
mcp-obsidian-clipackage or run theobsidianbinary without user confirmation.
Security & Guardrails
- Human confirmation first: confirm the target vault and any
obsidiancommand with the user before execution. - No auto-execution: only run commands that read or modify the named vault; do not run system-wide commands or execute arbitrary plugins/themes without explicit consent.
- MCP fallback is opt-in: if the
obsidianCLI is missing, presentmcp-obsidian-clias an optional fallback and wait for the user to approve its installation. - Stay inside the vault: do not use Obsidian CLI to access files outside the vault root.
Three areas
1. CLI
Run obsidian against a running Obsidian instance — vault operations, plugin/theme dev, DOM/screenshot inspection.
See the full command reference and quick-start examples in references/obsidian-cli.md.
Before running any
obsidiancommand, verify which vault the user wants to target and confirm the command. Do not auto-installmcp-obsidian-clior any Obsidian plugin without explicit user consent.
2. Bases
.base files are valid YAML defining filters, formulas, and views (table/cards/list/map) over notes.
See references/obsidian-bases.md and the full function list in references/FUNCTIONS_REFERENCE.md.
filters:
and:
- file.hasTag("task")
- 'file.ext == "md"'
formulas:
days_until_due: 'if(due, (date(due) - today()).days, "")'
views:
- type: table
name: "Active Tasks"
order: [file.name, status, formula.days_until_due]
3. Markdown (Obsidian Flavored)
Wikilinks [[Note]], embeds ![[note.png|300]], callouts > [!warning], properties/frontmatter, highlights ==text==, Mermaid, math.
See references/obsidian-markdown.md, plus references/CALLOUTS.md, references/EMBEDS.md, references/PROPERTIES.md.
Workflows
Create an Obsidian note
- Add frontmatter/properties at the top (see
references/PROPERTIES.md). - Write content with standard Markdown + Obsidian syntax (wikilinks, embeds, callouts).
- Verify it renders in reading view.
Build a Base
- Create a
.basefile with valid YAML. - Define
filters(global/view) and optionalformulas. - Add one or more
views(table/cards/list/map). - Validate YAML (watch quoting rules); open in Obsidian to confirm rendering.
Register CLI / develop a plugin
- Guide the user to Settings → General → Command line interface → Register CLI; restart the terminal.
- After the user confirms code changes, run
obsidian plugin:reloadandobsidian dev:screenshotonly for the explicitly named plugin.
Common Mistakes
| Mistake | Symptom | Fix |
|---|---|---|
| Obsidian not running | CLI/MCP commands fail | Open the Obsidian app first |
Unquoted special chars in .base | YAML error | Quote strings with :, {, }, [, ], ,, &, *, #, ?, |, -, <, >, =, !, %, @ |
| Double quotes inside double quotes (formula) | Parse error | Wrap formula in single quotes: 'if(done, "Yes", "No")' |
| Duration without field access | (now()-file.ctime).round(0) errors | Access .days first: (now()-file.ctime).days.round(0) |
| Missing null checks in formulas | Crash on empty property | Guard with if(): if(due, (date(due)-today()).days, "") |
| Wikilink vs Markdown link | Broken external links | [[Note]] for vault notes; [text](url) for external only |
References
references/obsidian-cli.md— CLI install, syntax, commands, plugin dev.references/obsidian-bases.md— Bases schema, filters, formulas, views, examples.references/obsidian-markdown.md— Obsidian Flavored Markdown syntax.references/FUNCTIONS_REFERENCE.md— Complete Bases function reference.references/CALLOUTS.md— All callout types.references/EMBEDS.md— All embed types.references/PROPERTIES.md— All property types and tag rules.