CtrlK
BlogDocsLog inGet started
Tessl Logo

pantheon-ai/obsidian-toolkit

Skills for working with Obsidian vaults and related formats: Obsidian Flavored Markdown, JSON Canvas files, the Obsidian CLI, and Defuddle for clean web content extraction.

96

Quality

96%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

SKILL.mdobsidian-markdown/

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

Create and edit valid Obsidian Flavored Markdown. Obsidian extends CommonMark and GFM with wikilinks, embeds, callouts, properties, comments, and other syntax. This skill covers only Obsidian-specific extensions -- standard Markdown (headings, bold, italic, lists, quotes, code blocks, tables) is assumed knowledge.

Mindset

Obsidian's core principle: use vault-native syntax (wikilinks, embeds, callouts) for anything that lives inside the vault, and standard Markdown only for external references or content that must render outside Obsidian.

When to apply: Working with .md files in an Obsidian vault, creating notes with wikilinks, using callouts, defining frontmatter properties, or embedding content from other notes. When NOT to apply: Plain Markdown files outside a vault, GitHub READMEs, or documentation sites — Obsidian-specific syntax renders as raw text outside Obsidian.

Workflow: Creating an Obsidian Note

  1. Add frontmatter with properties (title, tags, aliases) at the top of the file. See PROPERTIES.md for all property types.
  2. Write content using standard Markdown for structure, plus Obsidian-specific syntax below.
  3. Link related notes using wikilinks ([[Note]]) for internal vault connections, or standard Markdown links for external URLs.
  4. Embed content from other notes, images, or PDFs using the ![[embed]] syntax. See EMBEDS.md for all embed types.
  5. Add callouts for highlighted information using > [!type] syntax. See CALLOUTS.md for all callout types.
  6. Verify the note renders correctly in Obsidian's reading view.

When choosing between wikilinks and Markdown links: use [[wikilinks]] for notes within the vault (Obsidian tracks renames automatically) and [text](url) for external URLs only.

Internal Links (Wikilinks)

[[Note Name]]                          Link to note
[[Note Name|Display Text]]             Custom display text
[[Note Name#Heading]]                  Link to heading
[[Note Name#^block-id]]                Link to block
[[#Heading in same note]]              Same-note heading link

Define a block ID by appending ^block-id to any paragraph:

This paragraph can be linked to. ^my-block-id

For lists and quotes, place the block ID on a separate line after the block:

> A quote block

^quote-id

Embeds

Prefix any wikilink with ! to embed its content inline:

![[Note Name]]                         Embed full note
![[Note Name#Heading]]                 Embed section
![[image.png]]                         Embed image
![[image.png|300]]                     Embed image with width
![[document.pdf#page=3]]               Embed PDF page

See EMBEDS.md for audio, video, search embeds, and external images.

Callouts

> [!note]
> Basic callout.

> [!warning] Custom Title
> Callout with a custom title.

> [!faq]- Collapsed by default
> Foldable callout (- collapsed, + expanded).

Common types: note, tip, warning, info, example, quote, bug, danger, success, failure, question, abstract, todo.

See CALLOUTS.md for the full list with aliases, nesting, and custom CSS callouts.

Properties (Frontmatter)

---
title: My Note
date: 2024-01-15
tags:
  - project
  - active
aliases:
  - Alternative Name
cssclasses:
  - custom-class
---

Default properties: tags (searchable labels), aliases (alternative note names for link suggestions), cssclasses (CSS classes for styling).

See PROPERTIES.md for all property types, tag syntax rules, and advanced usage.

Tags

#tag                    Inline tag
#nested/tag             Nested tag with hierarchy

Tags can contain letters, numbers (not first character), underscores, hyphens, and forward slashes. Tags can also be defined in frontmatter under the tags property.

Comments

This is visible %%but this is hidden%% text.

%%
This entire block is hidden in reading view.
%%

Obsidian-Specific Formatting

==Highlighted text==                   Highlight syntax

Math (LaTeX)

Inline: $e^{i\pi} + 1 = 0$

Block:
$$
\frac{a}{b} = c
$$

Diagrams (Mermaid)

```mermaid
graph TD
    A[Start] --> B{Decision}
    B -->|Yes| C[Do this]
    B -->|No| D[Do that]
```

To link Mermaid nodes to Obsidian notes, add class NodeName internal-link;.

Footnotes

Text with a footnote[^1].

[^1]: Footnote content.

Inline footnote.^[This is inline.]

Complete Example

See EXAMPLES.md for a full annotated note combining all Obsidian-specific syntax.

Common Mistakes

NEVER use standard Markdown links ([text](file.md)) for notes inside the vault — renames silently break them. Use [[wikilinks]] instead. NEVER wrap external URLs in [[...]] wikilink syntax — creates unresolvable vault references instead of hyperlinks. NEVER place block IDs on the same line as list items or quotes — they require a separate trailing line after the block. NEVER embed full notes with ![[Note]] when only a section is relevant — use ![[Note#Heading]]. NEVER include spaces in tag names — a space terminates the tag and the rest becomes unindexed plain text. NEVER place YAML frontmatter anywhere except the very first line of the file.

WHY: Obsidian-specific syntax fails silently — broken wikilinks, unindexed tags, and ignored properties produce no errors but corrupt the vault graph invisibly.

See COMMON-MISTAKES.md for full BAD/GOOD examples.

References

  • Obsidian Flavored Markdown
  • Internal links
  • Embed files
  • Callouts
  • Properties

tile.json