| name | obsidian-markdown |
| description | 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. |
Obsidian Flavored Markdown Skill
This skill enables skills-compatible agents to create and edit valid Obsidian Flavored Markdown, including all Obsidian-specific syntax extensions.
Overview
Obsidian uses a combination of Markdown flavors:
Basic Formatting
Paragraphs and Line Breaks
```markdown
This 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.
```
Headings
```markdown
Heading 1
Heading 2
Heading 3
Heading 4
Heading 5
Heading 6
```
Text Formatting
| 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 |
Escaping Formatting
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: \\\*, \\\_, \\\#, \`, \\\|, \\\~
Internal Links (Wikilinks)
Basic Links
```markdown
[[Note Name]]
[[Note Name.md]]
[[Note Name|Display Text]]
```
Link to Headings
```markdown
[[Note Name#Heading]]
[[Note Name#Heading|Custom Text]]
[[#Heading in same note]]
[[##Search all headings in vault]]
```
Link to Blocks
```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:
```markdown
This 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
```
Search Links
```markdown
[[##heading]] Search for headings containing "heading"
[[^^block]] Search for blocks containing "block"
```
Markdown-Style Links
```markdown
Display Text
Display Text
Display Text
Note
```
Note: Spaces must be URL-encoded as %20 in Markdown links.
Embeds
Embed Notes
```markdown
![[Note Name]]
![[Note Name#Heading]]
![[Note Name#^block-id]]
```
Embed Images
```markdown
![[image.png]]
![[image.png|640x480]] Width x Height
![[image.png|300]] Width only (maintains aspect ratio)
```
External Images
```markdown
```
Embed Audio
```markdown
![[audio.mp3]]
![[audio.ogg]]
```
Embed PDF
```markdown
![[document.pdf]]
![[document.pdf#page=3]]
![[document.pdf#height=400]]
```
Embed Lists
```markdown
![[Note#^list-id]]
```
Where the list has been defined with a block ID:
```markdown
- Item 1
- Item 2
- Item 3
^list-id
```
Embed Search Results
```markdown
```query
tag:#project status:done
```
```
Callouts
Basic Callout
```markdown
[!note]
This is a note callout.
[!info] Custom Title
This callout has a custom title.
[!tip] Title Only
```
Foldable Callouts
```markdown
[!faq]- Collapsed by default
This content is hidden until expanded.
[!faq]+ Expanded by default
This content is visible but can be collapsed.
```
Nested Callouts
```markdown
[!question] Outer callout
[!note] Inner callout
Nested content
```
Supported Callout Types
| 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 |
Custom Callouts (CSS)
```css
.callout[data-callout="custom-type"] {
--callout-color: 255, 0, 0;
--callout-icon: lucide-alert-circle;
}
```
Lists
Unordered Lists
```markdown
- Item 1
- Item 2
- Nested item
- Another nested
- Item 3
* Also works with asterisks
Ordered Lists
```markdown
- First item
- Second item
- Nested numbered
- Another nested
- Third item
- Alternative syntax
- With parentheses
```
Task Lists
```markdown
- [ ] Incomplete task
- [x] Completed task
- [ ] Task with sub-tasks
- [ ] Subtask 1
- [x] Subtask 2
```
Quotes
```markdown
This is a blockquote.
It can span multiple lines.
And include multiple paragraphs.
Nested quotes work too.
```
Code
Inline Code
```markdown
Use backticks for inline code.
Use double backticks for `code with a ` backtick inside`.
```
Code Blocks
```markdown
```
Plain code block
```
```javascript
// Syntax highlighted code block
function hello() {
console.log("Hello, world!");
}
```
```python
Python example
def greet(name):
print(f"Hello, {name}!")
```
```
Nesting Code Blocks
Use more backticks or tildes for the outer block:
`````markdown
Here's how to create a code block:
```js
console.log("Hello")
```
`````
Tables
```markdown
| Header 1 | Header 2 | Header 3 |
|---|
| Cell 1 | Cell 2 | Cell 3 |
| Cell 4 | Cell 5 | Cell 6 |
| ``` | | |
Alignment
```markdown
| Left | Center | Right |
|---|
| Left | Center | Right |
| ``` | | |
Using Pipes in Tables
Escape pipes with backslash:
```markdown
| Column 1 | Column 2 |
|---|
| [[Link\|Display]] | ![[Image\|100]] |
| ``` | |
Math (LaTeX)
Inline Math
```markdown
This is inline math: $e^{i\pi} + 1 = 0$
```
Block Math
```markdown
$$
\begin{vmatrix}
a & b \\
c & d
\end{vmatrix} = ad - bc
$$
```
Common Math Syntax
```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
```
Diagrams (Mermaid)
```markdown
```mermaid
graph TD
A[Start] --> B{Decision}
B -->|Yes| C[Do this]
B -->|No| D[Do that]
C --> E[End]
D --> E
```
```
Sequence Diagrams
```markdown
```mermaid
sequenceDiagram
Alice->>Bob: Hello Bob
Bob-->>Alice: Hi Alice
```
```
Linking in Diagrams
```markdown
```mermaid
graph TD
A[Biology]
B[Chemistry]
A --> B
class A,B internal-link;
```
```
Footnotes
```markdown
This 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.]
```
Comments
```markdown
This is visible %%but this is hidden%% text.
%%
This entire block is hidden.
It won't appear in reading view.
%%
```
Horizontal Rules
```markdown
***
___
* * *
```
Properties (Frontmatter)
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
```
Property Types
| 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\]\]" |
Default Properties
tags - Note tags
aliases - Alternative names for the note
cssclasses - CSS classes applied to the note
Tags
```markdown
#tag
#nested/tag
#tag-with-dashes
#tag_with_underscores
In frontmatter:
tags:
```
Tags can contain:
- Letters (any language)
- Numbers (not as first character)
- Underscores
\_
- Hyphens
-
- Forward slashes
/ (for nesting)
HTML Content
Obsidian supports HTML within Markdown:
```markdown
Colored text
Click to expand
Hidden content here.
kbd>Ctrl + C
```
Complete Example
```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.
```python
def process_data(items):
return sorted(items, key=lambda x: x.priority)
```
Architecture
```mermaid
graph LR
A[Input] --> B[Process]
B --> C[Output]
B --> D[Cache]
```
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
%%
```
References