agentleFS
tboome33tboome33/obsidian-mcp-router/skills/obsidian-markdown/SKILL.md

obsidian-markdown

Skill1 starsChanged 7 months agoApache-2.0View on GitHub

Reference for Obsidian Flavored Markdown — wikilinks, embeds, callouts, properties (frontmatter), tags, highlights, math, internal block references, and Obsidian-specific extensions. Consult this skill before writing any wiki page so the syntax renders correctly. Trigger on "obsidian markdown", "wikilink syntax", "callout syntax", "embed syntax", "how to write obsidian markdown", "obsidian formatting", or implicitly whenever the wiki/save/wiki-ingest skills are about to write a page.

86 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use knap, obsidian-cli and 4 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • lucasmaher-hashSkill

    knap

    Render Markdown from templates and structured data using Knap CLI. Use when the user asks to apply a Knap template, turn JSON or CSV data into notes, batch-generate Markdown files, or format Defuddle output into a note.

    Also in 4 projects that use this

  • jykimSkill

    obsidian-cli

    Interact with Obsidian using the official CLI to read, search, create, and manage notes, daily notes, tasks, properties, and more. Use when the user wants to query or manipulate vault content via the obsidian command.

    Also in 38 projects that use this

  • BCS1037Skill

    mermaid-visualizer

    Transform text content into professional Mermaid diagrams for presentations and documentation. Use when users ask to visualize concepts, create flowcharts, or make diagrams from text. Supports process flows, system architectures, comparisons, mindmaps, and more with built-in syntax error prevention.

    Also in 4 projects that use this

  • 0xHoneyJarSkill

    qmd

    Local markdown search engine for knowledge bases, notes, and documentation. Combines BM25 full-text search, vector semantic search, and LLM re-ranking. Use when searching through markdown notes, retrieving documents, or managing knowledge collections.

    Also in 3 projects that use this

  • MicrosoftSkill

    excalidraw-diagram

    Create Excalidraw diagram JSON files that make visual arguments. Use when the user wants to visualize workflows, architectures, or concepts.

    Also in 4 projects that use this

  • RoundTable02Skill

    tutor

    Interactive quiz tutor for Obsidian StudyVault learning. Use when the user wants to: (1) Take a diagnostic assessment of their knowledge, (2) Study or review specific sections/topics, (3) Drill weak areas identified in previous sessions, (4) Check their learning progress or dashboard, or says things like "quiz me", "test me", "let's study", "/tutor", "학습", "퀴즈", "평가".

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

1 rule. 0 are common, 0 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 81 edited versions we read keep these.

  • 0

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Use lowercase keys for system-recognized properties (tags, not Tags).

    line 51

“Common” is measured: kept by at least 6 in 10 of the 81 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

obsidian-markdown

Quick reference. No multi-step procedure — this is a knowledge skill that other skills consult.

Wikilinks

[[Page Name]]                  → link to "Page Name.md" in the vault
[[Page Name|Display Text]]     → link with custom display
[[Folder/Page Name]]           → fully qualified path (use when name is ambiguous)
[[Page#Heading]]               → link to a specific heading inside a page
[[Page^block-id]]              → link to a specific block (block ref)
[[Page#^block-id|Display]]     → block link with display text

Resolution: Obsidian resolves [[Foo]] against all pages in the vault, picking the first match. If two pages are named Foo, use the folder-prefixed form to disambiguate.

Embeds

Embeds inline content from another page or file:

![[Page Name]]                 → embed full page (renders as transclusion)
![[Page Name#Heading]]          → embed only that section
![[Page Name#^block-id]]        → embed only that block
![[image.png]]                  → embed image (alt: standard markdown ![](image.png))
![[image.png|400]]              → embed image with width 400
![[file.pdf]]                   → embed PDF (renders as PDF viewer)

Frontmatter (properties)

YAML at the top of the file. Obsidian's "Properties" feature reads/writes this:

---
title: "Page Title"
tags: [project, active]        # or single string: tags: project
created: 2026-05-03
status: in-progress
related: ["[[Other Page]]"]    # wikilinks inside frontmatter use quoted strings
---

Common pitfalls:

  • Use lowercase keys for system-recognized properties (tags, not Tags).
  • Wikilinks in frontmatter MUST be quoted strings — unquoted YAML interprets [[X]] as a list.
  • Date values without quotes parse as date type; with quotes, as string.

Tags

#tag                          → a tag (renders as link in body)
#nested/tag                   → nested tag (creates hierarchy in tag pane)

Tags inside frontmatter tags: array don't need the # prefix.

Callouts

> [!note] Optional title
> Body of the callout.
> Multi-line is fine.

> [!warning]
> No title is fine too.

> [!info]+ Foldable, default open
> Body...

> [!warning]- Foldable, default closed
> Body...

Common types: note, info, tip, success, warning, danger, bug, example, quote, abstract. Custom types render as note style if Obsidian doesn't recognize them.

Highlights

==highlighted text==          → renders with yellow background

Math

Inline: $E = mc^2$            → MathJax, renders inline
Block:
$$
\sum_{i=1}^n i = \frac{n(n+1)}{2}
$$

Block references

Tag a paragraph or block with an ID so other pages can link to it:

This is an important paragraph. ^my-id

Reference it: [[Page#^my-id]] or embed: ![[Page#^my-id]].

Block IDs must be alphanumeric (and hyphens). They can be auto-generated by Obsidian via right-click → "Copy block link".

Footnotes

Some claim.[^1]

[^1]: The footnote body, can span multiple lines.

Comments

%%This is an inline comment, not rendered.%%

%%
Block comment,
multi-line, not rendered.
%%

Useful for TODOs in wiki pages that you don't want to surface in views.

Internal links to headings

[[Page#Heading Name]]          → exact heading text
[[#Heading In This Same Page]] → without page name = same-page link

Heading text must match exactly (case-sensitive, including spaces).

Tables

Standard GFM tables work. For long content cells, use <br> for line breaks (markdown line breaks don't work inside table cells).

| Col A | Col B |
|---|---|
| Short cell | Multi<br>line<br>cell |

Code blocks

Standard fenced code blocks. Obsidian recognizes language hints for syntax highlighting:

```python ... ```

Special: dataviewjs, dataview, and meta-bind are plugin-specific and render as live queries/forms when those plugins are installed. Don't generate these unless explicitly asked.

Mermaid diagrams

```mermaid
graph LR
  A --> B
  B --> C

Renders as a flowchart. Useful for wiki pages that document processes.

## Obsidian-specific don'ts

- Don't use `<a href="...">` HTML when a markdown link will do. Obsidian renders both, but markdown is more portable.
- Don't put YAML frontmatter anywhere except the very top of the file (must start at line 1).
- Don't use raw HTML for headings — `# Heading` is parsed; `<h1>Heading</h1>` is rendered as text in some configs.
- Don't use `![](data:image/png;base64,...)` inline images in wiki pages — they bloat the file. Save the image to `_attachments/` and embed: `![[image.png]]`.

## Style guidance for wiki pages (when writing via wiki-ingest, save, etc.)

- Lead with a 1-paragraph definition or summary.
- Use `## See also` (not "Related" or "Links") at the bottom — this is the convention the wiki-lint skill assumes.
- Put cross-references as wikilinks, not raw URLs.
- Frontmatter `type:` is the most important property — every page should have it. Common values: `entity`, `concept`, `source`, `answer`, `decision`, `technique`, `idea`, `session`, `program`, `fold`.
- Date fields use ISO 8601 (`2026-05-03` or `2026-05-03T14:00:00Z`).

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.