Skip to content

/obsidian-markdown

Explain, draft, or validate Obsidian Flavored Markdown syntax: properties, wikilinks, embeds, callouts, tags, comments, highlights, block references, math, and Mermaid. Use when the user explicitly requests Obsidian note formatting or syntax help, not for general Markdown or

From plugin
claude-obsidian
16k15 skills3 agents2 hooks

Claude Code

$ npx -y skills add AgriciDaniel/claude-obsidian --skill obsidian-markdown --agent claude-code

SKILL.md

obsidian-markdown.SKILL.md
name: obsidian-markdown
description: "Explain, draft, or validate Obsidian Flavored Markdown syntax: properties, wikilinks, embeds, callouts, tags, comments, highlights, block references, math, and Mermaid. Use when the user explicitly requests Obsidian note formatting or syntax help, not for general Markdown or broad vault operations."

Obsidian Flavored Markdown

Use this as a compact fallback for Obsidian-specific syntax. Prefer a separately installed `kepano/obsidian-skills` `obsidian-markdown` skill when available, then current [Obsidian Help](https://help.obsidian.md/), for detailed or version-sensitive questions.

Resolve the installed product root from this skill's own location, not from the vault or current working directory:

PRODUCT_ROOT=/absolute/path/to/installed/claude-obsidian
CORE="$PRODUCT_ROOT/scripts/claude-obsidian.py"
test -f "$CORE"

Every `../wiki/references/` link in this file resolves the same way, relative to this skill's own directory under `$PRODUCT_ROOT`, never relative to the selected vault's `wiki/` directory.

Answer syntax questions read-only. If the user requests a vault edit, draft the complete note, read [operation-transactions.md](../wiki/references/operation-transactions.md), and build one `claude-obsidian.transaction.v1` bundle with `operation_type: markdown` and only `wiki/` targets. Inspect it, then set `APPROVAL_SHA256` to the returned `approval_sha256` after review and apply it through the same vault-bound plan. A canonical page create or removal includes an active index or MOC update in that bundle; update the overview only when its stable high-level synthesis changed:

python3 "$CORE" transaction inspect "$BUNDLE" --vault "$VAULT"
python3 "$CORE" transaction apply "$BUNDLE" --vault "$VAULT" \
  --approved-plan-sha256 "$APPROVAL_SHA256"

Never write a note directly.

Properties

Use flat YAML properties and `YYYY-MM-DD` dates. Quote wikilinks inside YAML.

---
type: concept
title: "Contextual Retrieval"
created: 2026-07-11
updated: 2026-07-11
status: developing
tags:
  - retrieval
  - ai/knowledge
aliases:
  - Context-aware retrieval
related:
  - "[[Retrieval]]"
sources:
  - "[[Anthropic Contextual Retrieval]]"
---

Do not nest objects in generated wiki properties. Use block lists rather than inline YAML arrays. A numeric-only tag is invalid in Obsidian even when quoted as a YAML string. Use `year/2026` or `y2026`, or store a number in a `year` property. Tags need at least one non-numeric character; valid Unicode tags remain supported. See [Tags](https://obsidian.md/help/tags), checked 2026-10-17. Keep unknown existing properties unless the requested edit changes them.

Wikilinks and embeds

[[Note Name]]
[[Note Name|Display text]]
[[Note Name#Heading]]
[[Note Name#^block-id]]
[[Folder/Note Name]]

This paragraph is addressable. ^evidence-block

![[Note Name#Summary]]
![[diagram.png|480]]
![[paper.pdf#page=3]]

Match the target filename exactly. Use a vault-relative folder path when a basename is ambiguous. Use standard Markdown links for external URLs; use wikilinks for this vault's notes.

Callouts

> [!note]
> Supporting context.

> [!warning] Review required
> This claim has contradictory evidence.

> [!question]- Open question
> What evidence would resolve this?

`-` starts collapsed and `+` starts expanded. Common built-in types include `note`, `abstract`, `info`, `todo`, `tip`, `success`, `question`, `warning`, `failure`, `danger`, `bug`, `example`, and `quote`. Preserve custom vault callout types rather than rewriting them.

Other Obsidian syntax

#inline-tag #nested/tag

==Highlighted text==

Visible text %%hidden comment%%

Inline math: $E = mc^2$

$$
\int_0^1 x^2\,dx = \frac{1}{3}
$$

```mermaid
flowchart LR
  Source --> Claim

Standard CommonMark/GFM headings, lists, tasks, tables, code fences, and
footnotes remain valid. Avoid HTML when native Markdown is sufficient.

## Validate a drafted note

- Parse the YAML boundary and keep property types consistent.
- Verify every internal target, heading, and block reference that can be
  checked locally; never fabricate a target to make a link look complete.
- Keep evidence wording distinct from inference and preserve source locators.
- Ensure code fences and callout quoting are balanced.
- Run deterministic wiki lint after a requested mutation and report remaining
  findings without silently repairing them.

For source-cited pages, also follow
[provenance.md](../wiki/references/provenance.md). Report the transaction
operation ID and exact changed paths after an applied edit.
Read more
@agricidaniel
Ships withclaude-obsidian

Self-organizing AI second brain for Obsidian + Claude Code. Drop any source and Claude reads, links, and files it into one connected knowledge graph of plain Markdown you own. AI note-taking, personal knowledge management (PKM), and an open-source Notion alternative. Based on Karpathy's LLM Wiki pattern.

Stars on GitHub

Momentum

stars in total
16.3k
Star history of AgriciDaniel/claude-obsidian on GitHub, a chart by star-history.com

Other skills on claude-obsidian.

autoresearch
Auto-invoked

autoresearch

Run a bounded, source-grounded research loop, draft a cited dossier, and optionally propose a separately reviewed canonical vault…

canvas
Auto-invoked

canvas

Create, inspect, and update Obsidian JSON Canvas boards with text, file, link, group, and edge nodes. Use for canvas status,…

defuddle
Auto-invoked

defuddle

Plan optional Defuddle extraction and retain already available local source files through reviewed filesystem capture. Use for…

obsidian-bases
Auto-invoked

obsidian-bases

Explain, draft, and validate Obsidian Bases .base files with filters, formulas, properties, summaries, and table, card, list, or…

save
Auto-invoked

save

Save a user-selected answer, decision, insight, or session summary into an Obsidian vault as one reviewed transaction. Use only…

think
Auto-invoked

think

Apply the Fable-derived 10-stage OBSERVE, OBSERVE, LISTEN, THINK, CONNECT, CONNECT, FEEL, ACCEPT, CREATE, GROW loop to…

More skills from other plugins.

i-have-adhd

i-have-adhd

Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…

@ayghri@ayghriInstall Skill
ab-test-analysis

ab-test-analysis

Analyze A/B test results with statistical significance, sample size validation, confidence intervals, and ship/extend/stop…

@phuryn@phurynInstall Skill
distilly

distilly

Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…

Questions about obsidian-markdown.

Which coding agents can use obsidian-markdown?
obsidian-markdown installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.