Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax. Use when working with .md files in Obsidian, or when the user mentions wikilinks, callouts, frontmatter, tags, embeds, or Obsidian notes.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-11 | ✗→✓ | ▲ Improved | 440% | 0% |
| case-07 | ✓→✗ | ▼ Worse | 511% | 0% |
| case-01 | ✓→✓ | = Same ✓ | 592% | 0% |
| case-02 | ✓→✓ | = Same ✓ | 830% | 0% |
| case-03 | ✓→✓ | = Same ✓ | 311% | 0% |
This skill enables skills-compatible agents to create and edit valid Obsidian Flavored Markdown, including all Obsidian-specific syntax extensions.
Obsidian uses a combination of Markdown flavors:
markdownThis is a paragraph. This is another paragraph (blank line between creates separate paragraphs). For a line break within a paragraph, add two spaces at the end or use Shift+Enter.
markdown# Heading 1 ## Heading 2 ### Heading 3 #### Heading 4 ##### Heading 5 ###### Heading 6
| Style | Syntax | Example | Output | |-------|--------|---------|--------| | Bold | **text** or __text__ | **Bold** | Bold | | Italic | *text* or _text_ | *Italic* | Italic | | Bold + Italic | ***text*** | ***Both*** | Both | | Strikethrough | ~~text~~ | ~~Striked~~ | ~~Striked~~ | | Highlight | ==text== | ==Highlighted== | ==Highlighted== | | Inline code | code | code | code |
Use backslash to escape special characters:
markdown\*This won't be italic\* \#This won't be a heading 1\. This won't be a list item
Common characters to escape: \*, \_, \#, \ , \|, \~
markdown[[Note Name]] [[Note Name.md]] [[Note Name|Display Text]]
markdown[[Note Name#Heading]] [[Note Name#Heading|Custom Text]] [[#Heading in same note]] [[##Search all headings in vault]]
markdown[[Note Name#^block-id]] [[Note Name#^block-id|Custom Text]]
Define a block ID by adding ^block-id at the end of a paragraph:
markdownThis is a paragraph that can be linked to. ^my-block-id
For lists and quotes, add the block ID on a separate line:
markdown> This is a quote > With multiple lines ^quote-id
markdown[[##heading]] Search for headings containing "heading" [[^^block]] Search for blocks containing "block"
markdown[Display Text](Note%20Name.md) [Display Text](Note%20Name.md#Heading) [Display Text](https://example.com) [Note](obsidian://open?vault=VaultName&file=Note.md)
Note: Spaces must be URL-encoded as %20 in Markdown links.
markdown![[Note Name]] ![[Note Name#Heading]] ![[Note Name#^block-id]]
markdown![[image.png]] ![[image.png|640x480]] Width x Height ![[image.png|300]] Width only (maintains aspect ratio)
markdown 
markdown![[audio.mp3]] ![[audio.ogg]]
markdown![[document.pdf]] ![[document.pdf#page=3]] ![[document.pdf#height=400]]
markdown![[Note#^list-id]]
Where the list has been defined with a block ID:
markdown- Item 1 - Item 2 - Item 3 ^list-id
`markdown
tag:#project status:done
markdown> [!note] > This is a note callout. > [!info] Custom Title > This callout has a custom title. > [!tip] Title Only
markdown> [!faq]- Collapsed by default > This content is hidden until expanded. > [!faq]+ Expanded by default > This content is visible but can be collapsed.
markdown> [!question] Outer callout > > [!note] Inner callout > > Nested content
| Type | Aliases | Description | |------|---------|-------------| | note | - | Blue, pencil icon | | abstract | summary, tldr | Teal, clipboard icon | | info | - | Blue, info icon | | todo | - | Blue, checkbox icon | | tip | hint, important | Cyan, flame icon | | success | check, done | Green, checkmark icon | | question | help, faq | Yellow, question mark | | warning | caution, attention | Orange, warning icon | | failure | fail, missing | Red, X icon | | danger | error | Red, zap icon | | bug | - | Red, bug icon | | example | - | Purple, list icon | | quote | cite | Gray, quote icon |
css.callout[data-callout="custom-type"] { --callout-color: 255, 0, 0; --callout-icon: lucide-alert-circle; }
markdown- Item 1 - Item 2 - Nested item - Another nested - Item 3 * Also works with asterisks + Or plus signs
markdown1. First item 2. Second item 1. Nested numbered 2. Another nested 3. Third item 1) Alternative syntax 2) With parentheses
markdown- [ ] Incomplete task - [x] Completed task - [ ] Task with sub-tasks - [ ] Subtask 1 - [x] Subtask 2
markdown> This is a blockquote. > It can span multiple lines. > > And include multiple paragraphs. > > > Nested quotes work too.
markdownUse `backticks` for inline code. Use double backticks for ``code with a ` backtick inside``.
`markdown
Plain code block
// Syntax highlighted code block function hello() { console.log("Hello, world!"); }
def greet(name): print(f"Hello, {name}!")
Use more backticks or tildes for the outer block:
``markdown
Here's how to create a code block:
jsconsole.log("Hello")
`
markdown| Header 1 | Header 2 | Header 3 | |----------|----------|----------| | Cell 1 | Cell 2 | Cell 3 | | Cell 4 | Cell 5 | Cell 6 |
markdown| Left | Center | Right | |:---------|:--------:|---------:| | Left | Center | Right |
Escape pipes with backslash:
markdown| Column 1 | Column 2 | |----------|----------| | [[Link\|Display]] | ![[Image\|100]] |
markdownThis is inline math: $e^{i\pi} + 1 = 0$
markdown$$ \begin{vmatrix} a & b \\ c & d \end{vmatrix} = ad - bc $$
markdown$x^2$ Superscript $x_i$ Subscript $\frac{a}{b}$ Fraction $\sqrt{x}$ Square root $\sum_{i=1}^{n}$ Summation $\int_a^b$ Integral $\alpha, \beta$ Greek letters
`markdown
graph TD AStart] --> B{Decision} B -->|Yes| CDo this] B -->|No| DDo that] C --> EEnd] D --> E
`markdown
sequenceDiagram Alice->>Bob: Hello Bob Bob-->>Alice: Hi Alice
`markdown
graph TD ABiology] BChemistry] A --> B class A,B internal-link;
markdownThis sentence has a footnote[^1]. [^1]: This is the footnote content. You can also use named footnotes[^note]. [^note]: Named footnotes still appear as numbers. Inline footnotes are also supported.^[This is an inline footnote.]
markdownThis is visible %%but this is hidden%% text. %% This entire block is hidden. It won't appear in reading view. %%
markdown--- *** ___ - - - * * *
Properties use YAML frontmatter at the start of a note:
yaml--- title: My Note Title date: 2024-01-15 tags: - project - important aliases: - My Note - Alternative Name cssclasses: - custom-class status: in-progress rating: 4.5 completed: false due: 2024-02-01T14:30:00 ---
| Type | Example | |------|---------| | Text | title: My Title | | Number | rating: 4.5 | | Checkbox | completed: true | | Date | date: 2024-01-15 | | Date & Time | due: 2024-01-15T14:30:00 | | List | tags: [one, two] or YAML list | | Links | related: "[[Other Note]]" |
tags - Note tagsaliases - Alternative names for the notecssclasses - CSS classes applied to the notemarkdown#tag #nested/tag #tag-with-dashes #tag_with_underscores In frontmatter: --- tags: - tag1 - nested/tag2 ---
Tags can contain:
_-/ (for nesting)Obsidian supports HTML within Markdown:
markdown<div class="custom-container"> <span style="color: red;">Colored text</span> </div> <details> <summary>Click to expand</summary> Hidden content here. </details> <kbd>Ctrl</kbd> + <kbd>C</kbd>
`markdown--- title: Project Alpha date: 2024-01-15 tags: - project - active status: in-progress priority: high --- # Project Alpha ## Overview This project aims to [[improve workflow]] using modern techniques. > [!important] Key Deadline > The first milestone is due on ==January 30th==. ## Tasks - [x] Initial planning - [x] Resource allocation - [ ] Development phase - [ ] Backend implementation - [ ] Frontend design - [ ] Testing - [ ] Deployment ## Technical Notes The main algorithm uses the formula $O(n \log n)$ for sorting.
def process_data(items): return sorted(items, key=lambda x: x.priority)
## Architecture
graph LR AInput] --> BProcess] B --> COutput] B --> DCache]
## Related Documents
- ![[Meeting Notes 2024-01-10#Decisions]]
- [[Budget Allocation|Budget]]
- [[Team Members]]
## References
For more details, see the official documentation[^1].
[^1]: https://example.com/docs
%%
Internal notes:
- Review with team on Friday
- Consider alternative approaches
%%Other measured skills in the registry, with their headline benchmark lift.