From claude-superskills
Generates Obsidian Flavored Markdown with wikilinks, callouts, embeds, frontmatter properties, tags, and block references for creating/editing notes in Obsidian vaults.
npx claudepluginhub ericgandrade/claude-superskills --plugin claude-superskillsThis skill uses the workspace's default tool permissions.
This skill teaches agents the complete Obsidian Flavored Markdown specification — the set of syntax extensions that Obsidian adds on top of standard CommonMark and GitHub Flavored Markdown. These extensions are not valid in plain Markdown editors and must be written correctly to work in Obsidian.
Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, block IDs, and syntax extensions for Obsidian .md files.
Creates and edits Obsidian Markdown with wikilinks, embeds for notes/images/PDFs/audio/video, callouts, YAML frontmatter/properties, tags, and block references. For .md files in Obsidian vaults.
Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, frontmatter properties, and Obsidian-specific syntax. Useful for .md files in Obsidian vaults or when those features are mentioned.
Share bugs, ideas, or general feedback.
This skill teaches agents the complete Obsidian Flavored Markdown specification — the set of syntax extensions that Obsidian adds on top of standard CommonMark and GitHub Flavored Markdown. These extensions are not valid in plain Markdown editors and must be written correctly to work in Obsidian.
Standard Markdown knowledge is assumed. This skill covers only the Obsidian-specific additions: wikilinks, embeds, callouts, properties (frontmatter), block IDs, comments, and Obsidian-specific formatting. Agents that generate Markdown without this skill will produce notes that look correct in a plain editor but break Obsidian's linking, embedding, and graph features.
This skill is the foundation of all Obsidian-related work in this repository. Other skills such as obsidian-links, obsidian-frontmatter, and obsidian-note-builder build on top of the syntax defined here.
Invoke this skill when:
[[wikilink]] format.md file that will live inside an Obsidian vaultDo NOT use this skill when:
obsidian-links insteadobsidian-frontmatter insteadBefore writing, identify what kind of note the user needs:
| Note type | Syntax features likely needed |
|---|---|
| Meeting note | Frontmatter, wikilinks to people/projects, tasks |
| Daily note | Frontmatter, embeds, inline tags |
| MOC (Map of Content) | Wikilinks, headings, embedded notes |
| Atomic concept note | Frontmatter, block IDs, wikilinks |
| Reference/resource note | Frontmatter with source, tags, wikilinks |
| Canvas-linked note | Frontmatter, block IDs for precise embeds |
Always place a YAML frontmatter block at the very top of the file, before any other content:
---
title: My Note
date: 2024-01-15
tags:
- project
- active
aliases:
- Alternative Title
cssclasses:
- custom-class
---
Frontmatter rules:
--- delimiters must be the very first and last characters of the block with no blank lines before the opening ---tags must be a YAML list (one tag per line with - prefix) — never use inline format [tag1, tag2]aliases defines alternative note names for Obsidian's link suggestion systemcssclasses applies custom CSS classes to the note in reading viewstatus: active) are valid and appear in the Properties panelUse wikilinks for all internal vault connections:
[[Note Name]] Link to note by name
[[Note Name|Display Text]] Custom display text
[[Note Name#Heading]] Link to a specific heading
[[Note Name#^block-id]] Link to a specific block
[[#Heading in same note]] Link to heading in the current note
Key rules:
[[wikilinks]] for internal notes — Obsidian tracks renames automatically[text](url) Markdown links for all external URLs[[Note]] displays the note name as the link textPrefix any wikilink with ! to embed its content inline:
![[Note Name]] Embed the full note
![[Note Name#Heading]] Embed only a section of a note
![[Note Name#^block-id]] Embed a specific block
![[image.png]] Embed an image
![[image.png|300]] Embed an image with fixed width (pixels)
![[document.pdf]] Embed a PDF
![[document.pdf#page=3]] Embed a specific PDF page
Callouts are highlighted info blocks built on top of Markdown blockquotes:
> [!note]
> This is a standard note callout.
> [!warning] Custom Title
> Callout with a custom title overriding the type name.
> [!tip]+ Expanded by default
> The + makes this callout expanded. Use - to make it collapsed by default.
> [!faq]- Collapsed by default
> This callout starts collapsed. Click the title to expand.
Common callout types: note, tip, warning, info, example, quote, bug, danger, success, failure, question, abstract, todo.
Callouts can be nested:
> [!info]
> Outer callout.
> > [!warning]
> > Nested callout inside the outer one.
A block is any paragraph, list item, heading, or code block. Add a unique block ID to make it linkable:
This paragraph can be embedded or linked to from anywhere in the vault.
^my-block-id
For lists and blockquotes, place the ID on the line immediately following the block:
> A quoted passage that needs to be linkable.
^quote-block-id
Block IDs must contain only letters, numbers, and hyphens. They must be unique within the vault.
Inline tags can appear anywhere in the body of a note:
#tag Inline tag
#nested/tag Nested tag hierarchy
#project/alpha/milestone-1 Deep nesting is supported
Tag naming rules: tags may contain letters, numbers, underscores, hyphens, and forward slashes. They must not start with a number. Tags defined in frontmatter and inline tags both appear in Obsidian's tag panel.
Comments are completely hidden in reading view:
This text is visible. %%This comment is hidden in reading view.%%
%%
This entire multi-line block
is hidden in reading view.
%%
Highlight syntax (not standard Markdown):
==Highlighted text==
Math blocks (LaTeX, rendered by MathJax):
Inline: $e^{i\pi} + 1 = 0$
Block:
$$
\frac{a}{b} = c
$$
Diagrams (Mermaid, rendered natively in Obsidian):
```mermaid
graph TD
A[Start] --> B{Decision}
B -->|Yes| C[Action]
B -->|No| D[Skip]
```
To link Mermaid node IDs to vault notes, append: class NodeName internal-link;
Footnotes:
Text with a footnote[^1].
[^1]: Footnote content here.
Inline footnote^[This footnote is defined inline].
NEVER:
tags: [tag1, tag2] — always use the list format with dashes--- of frontmatter — it must be the absolute first line of the fileobsidian-links to validate targets[[wikilinks]] to link to external URLs — they will not work as expectedALWAYS:
[[wikilinks]] for all internal vault note references---tags, aliases, cssclassesobsidian-links when creating notes with links==highlight== for Obsidian-specific highlights — the <mark> HTML tag also works but is less portableUser: Create a meeting note for my call with Sarah about the Q3 roadmap
Output:
---
date: 2026-04-03
type: meeting
tags:
- meeting
- q3
- roadmap
attendees:
- "[[Sarah Johnson]]"
status: inbox
---
# Meeting with Sarah — Q3 Roadmap
## Context
> [!info] Related
> See [[Q3 Roadmap MOC]] and [[Sarah Johnson]] for background.
## Key Points
- Discussed scope for Q3 delivery milestones
- Alignment needed on [[Product Strategy 2026]]
- Sarah raised concerns about timeline for [[Feature Alpha]]
## Action Items
- [ ] Share updated roadmap draft — due [[2026-04-07]]
- [ ] Schedule follow-up with engineering
## Open Questions
- What is the budget approved for Q3?
^meeting-sarah-q3-2026
User: Add a warning callout to this note and embed the risks section from another note
Output:
> [!warning] Review Before Proceeding
> This section depends on decisions logged in [[Decision Log#Architecture Choices]].
![[Risk Register#Current Risks]]
User: Write a note about event sourcing that other notes can link to specific sections
Output:
---
tags:
- architecture
- event-sourcing
aliases:
- Event Sourcing Pattern
---
# Event Sourcing
Event sourcing captures all state changes as a sequence of immutable events.
^event-sourcing-definition
## When to Use
Apply event sourcing when the audit trail of state changes is as important as the current state.
^event-sourcing-when-to-use
## Trade-offs
Higher complexity in query patterns; enables full replay and temporal queries.
^event-sourcing-tradeoffs
Other notes can now embed ![[Event Sourcing#^event-sourcing-definition]] to pull exactly the definition paragraph.