Agent skill
obsidian-markdown
Write correct Obsidian Flavored Markdown: wikilinks, embeds, callouts, properties, tags, highlights, math, and canvas syntax. Reference this when creating or editing any wiki page. Triggers on: write obsidian note, obsidian syntax, wikilink, callout, embed, obsidian markdown, wikilink format, callout syntax, embed syntax, obsidian formatting, how to write obsidian markdown.
Install this agent skill to your Project
npx add-skill https://github.com/AgriciDaniel/claude-obsidian/tree/main/skills/obsidian-markdown
SKILL.md
obsidian-markdown: Obsidian Flavored Markdown
Reference this skill when writing any wiki page. Obsidian extends standard Markdown with wikilinks, embeds, callouts, and properties. Getting syntax wrong causes broken links, invisible callouts, or malformed frontmatter.
Cross-reference: If the kepano/obsidian-skills plugin is installed, prefer its canonical obsidian-markdown skill for authoritative Obsidian syntax reference. Otherwise, use the reference below. See also github.com/kepano/obsidian-skills.
Wikilinks
Internal links use double brackets. The filename without extension.
| Syntax | What it does |
|---|---|
[[Note Name]] |
Basic link |
[[Note Name|Display Text]] |
Aliased link (shows "Display Text") |
[[Note Name#Heading]] |
Link to a specific heading |
[[Note Name#^block-id]] |
Link to a specific block |
Rules:
- Case-sensitive on some systems. Match the exact filename.
- No path needed: Obsidian resolves by filename uniqueness.
- If two files have the same name, use
[[Folder/Note Name]]to disambiguate.
Embeds
Embeds use ! before the wikilink. They display the content inline.
| Syntax | What it does |
|---|---|
![[Note Name]] |
Embed a full note |
![[Note Name#Heading]] |
Embed a section |
![[image.png]] |
Embed an image |
![[image.png|300]] |
Embed image with width 300px |
![[document.pdf]] |
Embed a PDF (Obsidian renders natively) |
![[audio.mp3]] |
Embed audio |
Callouts
Callouts are blockquotes with a type keyword. They render as styled alert boxes.
> [!note]
> Default informational callout.
> [!note] Custom Title
> Callout with a custom title.
> [!note]- Collapsible (closed by default)
> Click to expand.
> [!note]+ Collapsible (open by default)
> Click to collapse.
All callout types
| Type | Aliases | Use for |
|---|---|---|
note |
: | General notes |
abstract |
summary, tldr |
Summaries |
info |
: | Information |
todo |
: | Action items |
tip |
hint, important |
Tips and highlights |
success |
check, done |
Positive outcomes |
question |
help, faq |
Open questions |
warning |
caution, attention |
Warnings |
failure |
fail, missing |
Errors or failures |
danger |
error |
Critical issues |
bug |
: | Known bugs |
example |
: | Examples |
quote |
cite |
Quotations |
contradiction |
: | Conflicting information (wiki convention) |
Properties (Frontmatter)
Obsidian renders YAML frontmatter as a Properties panel. Rules:
---
type: concept # plain string
title: "Note Title" # quoted if it contains special chars
created: 2026-04-08 # date as YYYY-MM-DD (not ISO datetime)
updated: 2026-04-08
tags:
- tag-one # list items use - format
- tag-two
status: developing
related:
- "[[Other Note]]" # wikilinks must be quoted in YAML
sources:
- "[[source-page]]"
---
Rules:
- Flat YAML only. Never nest objects.
- Dates as
YYYY-MM-DD, not2026-04-08T00:00:00. - Lists as
- item, not inline[a, b, c]. - Wikilinks in YAML must be quoted:
"[[Page]]". tagsfield: Obsidian reads this as the tag list, searchable in vault.
Tags
Two valid forms:
#tag-name : inline tag anywhere in the body
#parent/child-tag : nested tag (shows hierarchy in tag pane)
In frontmatter:
tags:
- research
- ai/obsidian
Do not use # inside frontmatter tag lists. Just the tag name.
Text Formatting
Standard Markdown plus Obsidian extensions:
| Syntax | Result |
|---|---|
**bold** |
Bold |
*italic* |
Italic |
~~strikethrough~~ |
Strikethrough |
==highlight== |
Highlighted text (yellow in Obsidian) |
`inline code` |
Inline code |
Math
Obsidian uses MathJax/KaTeX:
Inline math:
$E = mc^2$
Block math:
$$
\int_0^\infty e^{-x} dx = 1
$$
Code Blocks
Standard fenced code blocks. Obsidian highlights all common languages:
```python
def hello():
return "world"
```
Tables
Standard Markdown tables:
| Column A | Column B | Column C |
|----------|----------|----------|
| Value | Value | Value |
| Value | Value | Value |
Obsidian renders tables natively. No plugin needed.
Mermaid Diagrams
Obsidian renders Mermaid natively:
```mermaid
graph TD
A[Start] --> B{Decision}
B -->|Yes| C[End]
B -->|No| D[Loop]
D --> A
```
Supported: graph, sequenceDiagram, gantt, classDiagram, pie, flowchart.
Footnotes
This sentence has a footnote.[^1]
[^1]: The footnote text goes here.
What NOT to Do
- Do not use
[link text](path/to/note.md)for internal links: use[[Note Name]]instead. - Do not use HTML inside callouts: stick to Markdown.
- Do not use
##inside a callout body: headings don't render inside callouts. - Do not write
tags: [a, b, c]inline in frontmatter: Obsidian prefers the list format. - Do not write ISO datetimes in frontmatter (
2026-04-08T00:00:00Z): use2026-04-08.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
defuddle
Strip clutter from web pages before ingesting into the wiki. Removes ads, navigation, headers, footers, and boilerplate: leaving clean readable markdown that saves 40-60% tokens. Triggers on: defuddle, clean this page, strip this url, fetch and clean, clean web content before ingesting, strip ads, remove clutter, clean URL content, readable markdown from URL.
wiki-ingest
Ingest sources into the Obsidian wiki vault. Reads a source, extracts entities and concepts, creates or updates wiki pages, cross-references, and logs the operation. Supports files, URLs, and batch mode. Triggers on: ingest, process this source, add this to the wiki, read and file this, batch ingest, ingest all of these, ingest this url.
obsidian-bases
Create and edit Obsidian Bases (.base files): Obsidian's native database layer for dynamic tables, card views, list views, filters, formulas, and summaries over vault notes. Triggers on: create a base, add a base file, obsidian bases, base view, filter notes, formula, database view, dynamic table, task tracker base, reading list base.
canvas
Visual layer of the wiki. Add images, text cards, PDFs, and wiki pages to Obsidian canvas files with auto-positioning inside zones. Integrates with /banana for image capture. Triggers on: /canvas, canvas new, canvas add image, canvas add text, canvas add pdf, canvas add note, canvas zone, canvas list, canvas from banana, add to canvas, put this on the canvas, open canvas, create canvas.
save
Save the current conversation, answer, or insight into the Obsidian wiki vault as a structured note. Analyzes the chat, determines the right note type, creates frontmatter, files it in the correct wiki folder, and updates index, log, and hot cache. Triggers on: "save this", "save that answer", "/save", "file this", "save to wiki", "save this session", "file this conversation", "keep this", "save this analysis", "add this to the wiki".
autoresearch
Autonomous iterative research loop. Takes a topic, runs web searches, fetches sources, synthesizes findings, and files everything into the wiki as structured pages. Based on Karpathy's autoresearch pattern: program.md configures objectives and constraints, the loop runs until depth is reached, output goes directly into the knowledge base. Triggers on: "/autoresearch", "autoresearch", "research [topic]", "deep dive into [topic]", "investigate [topic]", "find everything about [topic]", "research and file", "go research", "build a wiki on".
Didn't find tool you were looking for?