$npx -y skills add AgriciDaniel/claude-obsidian --skill obsidian-markdownWrite 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, wik
| 1 | # obsidian-markdown: Obsidian Flavored Markdown |
| 2 | |
| 3 | 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. |
| 4 | |
| 5 | **Substrate preference (v1.7+)**: This skill is a self-contained fallback. **Prefer `kepano/obsidian-skills`** (by Steph Ango, Obsidian CEO) as the authoritative substrate — its `obsidian-markdown` skill is the canonical Obsidian syntax reference for any Agent-Skills runtime. If you see an `obsidian-markdown` skill available without the `claude-obsidian:` namespace, that is kepano's version: use it. The reference below is provided so the plugin remains functional when kepano's marketplace is not installed. Install: `claude plugin marketplace add kepano/obsidian-skills`. Repo: [github.com/kepano/obsidian-skills](https://github.com/kepano/obsidian-skills). |
| 6 | |
| 7 | --- |
| 8 | |
| 9 | ## Wikilinks |
| 10 | |
| 11 | Internal links use double brackets. The filename without extension. |
| 12 | |
| 13 | | Syntax | What it does | |
| 14 | |---|---| |
| 15 | | `[[Note Name]]` | Basic link | |
| 16 | | `[[Note Name\|Display Text]]` | Aliased link (shows "Display Text") | |
| 17 | | `[[Note Name#Heading]]` | Link to a specific heading | |
| 18 | | `[[Note Name#^block-id]]` | Link to a specific block | |
| 19 | |
| 20 | Rules: |
| 21 | - Case-sensitive on some systems. Match the exact filename. |
| 22 | - No path needed: Obsidian resolves by filename uniqueness. |
| 23 | - If two files have the same name, use `[[Folder/Note Name]]` to disambiguate. |
| 24 | |
| 25 | --- |
| 26 | |
| 27 | ## Embeds |
| 28 | |
| 29 | Embeds use `!` before the wikilink. They display the content inline. |
| 30 | |
| 31 | | Syntax | What it does | |
| 32 | |---|---| |
| 33 | | `![[Note Name]]` | Embed a full note | |
| 34 | | `![[Note Name#Heading]]` | Embed a section | |
| 35 | | `![[image.png]]` | Embed an image | |
| 36 | | `![[image.png\|300]]` | Embed image with width 300px | |
| 37 | | `![[document.pdf]]` | Embed a PDF (Obsidian renders natively) | |
| 38 | | `![[audio.mp3]]` | Embed audio | |
| 39 | |
| 40 | --- |
| 41 | |
| 42 | ## Callouts |
| 43 | |
| 44 | Callouts are blockquotes with a type keyword. They render as styled alert boxes. |
| 45 | |
| 46 | ```markdown |
| 47 | > [!note] |
| 48 | > Default informational callout. |
| 49 | |
| 50 | > [!note] Custom Title |
| 51 | > Callout with a custom title. |
| 52 | |
| 53 | > [!note]- Collapsible (closed by default) |
| 54 | > Click to expand. |
| 55 | |
| 56 | > [!note]+ Collapsible (open by default) |
| 57 | > Click to collapse. |
| 58 | ``` |
| 59 | |
| 60 | ### All callout types |
| 61 | |
| 62 | | Type | Aliases | Use for | |
| 63 | |------|---------|---------| |
| 64 | | `note` |: | General notes | |
| 65 | | `abstract` | `summary`, `tldr` | Summaries | |
| 66 | | `info` |: | Information | |
| 67 | | `todo` |: | Action items | |
| 68 | | `tip` | `hint`, `important` | Tips and highlights | |
| 69 | | `success` | `check`, `done` | Positive outcomes | |
| 70 | | `question` | `help`, `faq` | Open questions | |
| 71 | | `warning` | `caution`, `attention` | Warnings | |
| 72 | | `failure` | `fail`, `missing` | Errors or failures | |
| 73 | | `danger` | `error` | Critical issues | |
| 74 | | `bug` |: | Known bugs | |
| 75 | | `example` |: | Examples | |
| 76 | | `quote` | `cite` | Quotations | |
| 77 | | `contradiction` |: | Conflicting information (wiki convention) | |
| 78 | |
| 79 | --- |
| 80 | |
| 81 | ## Properties (Frontmatter) |
| 82 | |
| 83 | Obsidian renders YAML frontmatter as a Properties panel. Rules: |
| 84 | |
| 85 | ```yaml |
| 86 | --- |
| 87 | type: concept # plain string |
| 88 | title: "Note Title" # quoted if it contains special chars |
| 89 | created: 2026-04-08 # date as YYYY-MM-DD (not ISO datetime) |
| 90 | updated: 2026-04-08 |
| 91 | tags: |
| 92 | - tag-one # list items use - format |
| 93 | - tag-two |
| 94 | status: developing |
| 95 | related: |
| 96 | - "[[Other Note]]" # wikilinks must be quoted in YAML |
| 97 | sources: |
| 98 | - "[[source-page]]" |
| 99 | --- |
| 100 | ``` |
| 101 | |
| 102 | Rules: |
| 103 | - Flat YAML only. Never nest objects. |
| 104 | - Dates as `YYYY-MM-DD`, not `2026-04-08T00:00:00`. |
| 105 | - Lists as `- item`, not inline `[a, b, c]`. |
| 106 | - Wikilinks in YAML must be quoted: `"[[Page]]"`. |
| 107 | - `tags` field: Obsidian reads this as the tag list, searchable in vault. |
| 108 | |
| 109 | --- |
| 110 | |
| 111 | ## Tags |
| 112 | |
| 113 | Two valid forms: |
| 114 | |
| 115 | ```markdown |
| 116 | #tag-name : inline tag anywhere in the body |
| 117 | #parent/child-tag : nested tag (shows hierarchy in tag pane) |
| 118 | ``` |
| 119 | |
| 120 | In frontmatter: |
| 121 | ```yaml |
| 122 | tags: |
| 123 | - research |
| 124 | - ai/obsidian |
| 125 | ``` |
| 126 | |
| 127 | Do not use `#` inside frontmatter tag lists. Just the tag name. |
| 128 | |
| 129 | --- |
| 130 | |
| 131 | ## Text Formatting |
| 132 | |
| 133 | Standard Markdown plus Obsidian extensions: |
| 134 | |
| 135 | | Syntax | Result | |
| 136 | |---|---| |
| 137 | | `**bold**` | Bold | |
| 138 | | `*italic*` | Italic | |
| 139 | | `~~strikethrough~~` | Strikethrough | |
| 140 | | `==highlight==` | Highlighted text (yellow in Obsidian) | |
| 141 | | `` `inline code` `` | Inline code | |
| 142 | |
| 143 | --- |
| 144 | |
| 145 | ## Math |
| 146 | |
| 147 | Obsidian uses MathJax/KaTeX: |
| 148 | |
| 149 | Inline math: |
| 150 | ```markdown |
| 151 | $E = mc^2$ |
| 152 | ``` |
| 153 | |
| 154 | Block math: |
| 155 | ```markdown |
| 156 | $$ |
| 157 | \int_0^\infty e^{-x} dx = 1 |
| 158 | $$ |
| 159 | ``` |
| 160 | |
| 161 | --- |
| 162 | |
| 163 | ## Code Blocks |
| 164 | |
| 165 | Standard fenced code blocks. Obsidian highlights all common languages: |
| 166 | |
| 167 | ````markdo |