Skills (new): - skills/obsidian-markdown/ — full Obsidian Flavored Markdown syntax reference (wikilinks, embeds, callouts, properties, math, Mermaid) - skills/obsidian-bases/ — Obsidian Bases (.base files) with correct filters/views/ formulas syntax (sourced from kepano/obsidian-skills authoritative spec) - skills/defuddle/ — web page cleaner; strips ads/nav before URL ingestion, saves 40-60% tokens on web articles wiki-ingest upgrades: - URL ingestion: pass https:// directly, auto-fetches + runs defuddle if available - Image/vision ingestion: .png/.jpg/.gif etc → Claude reads → description saved to .raw/ → standard ingest pipeline - Delta tracking: .raw/.manifest.json tracks hash per source, skips unchanged files wiki-query upgrades: - Quick mode (query quick:) — hot.md + index only, ~1500 tokens - Standard mode — existing behaviour, 3-5 pages - Deep mode (query deep:) — full wiki + optional web search supplement hooks: - PostToolUse auto-commit: every Write/Edit to wiki/ or .raw/ triggers git add + commit automatically, vault always versioned fixes: - Removed invalid allowed-tools field from all 10 SKILL.md files (not a valid skill frontmatter attribute per spec; was silently ignored) - Canvas SKILL.md now references json-canvas open standard and kepano/obsidian-skills wiki research: - Ecosystem research: 16+ Claude+Obsidian projects mapped and filed - New pages: comparisons/claude-obsidian-ecosystem, concepts/cherry-picks, entities/ (6 new), sources/claude-obsidian-ecosystem-research - Cherry-picks roadmap filed at wiki/concepts/cherry-picks.md Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
227 lines
5.6 KiB
Markdown
227 lines
5.6 KiB
Markdown
---
|
|
name: obsidian-markdown
|
|
description: "Write correct Obsidian Flavored Markdown — wikilinks, embeds, callouts, properties, tags, highlights, math, and canvas syntax. Reference this when creating or editing any wiki page. Triggers on: write obsidian note, obsidian syntax, wikilink, callout, embed, obsidian markdown."
|
|
---
|
|
|
|
# obsidian-markdown — Obsidian Flavored Markdown
|
|
|
|
Reference this skill when writing any wiki page. Obsidian extends standard Markdown with wikilinks, embeds, callouts, and properties. Getting syntax wrong causes broken links, invisible callouts, or malformed frontmatter.
|
|
|
|
**Cross-reference**: `kepano/obsidian-skills` publishes the authoritative cross-platform version of this skill at [github.com/kepano/obsidian-skills](https://github.com/kepano/obsidian-skills). If installed, that skill is the canonical reference — use it alongside this one.
|
|
|
|
---
|
|
|
|
## Wikilinks
|
|
|
|
Internal links use double brackets. The filename without extension.
|
|
|
|
```markdown
|
|
[[Note Name]] — basic link
|
|
[[Note Name|Display Text]] — aliased link (shows "Display Text")
|
|
[[Note Name#Heading]] — link to a specific heading
|
|
[[Note Name#^block-id]] — link to a specific block
|
|
```
|
|
|
|
Rules:
|
|
- Case-sensitive on some systems. Match the exact filename.
|
|
- No path needed — Obsidian resolves by filename uniqueness.
|
|
- If two files have the same name, use `[[Folder/Note Name]]` to disambiguate.
|
|
|
|
---
|
|
|
|
## Embeds
|
|
|
|
Embeds use `!` before the wikilink. They display the content inline.
|
|
|
|
```markdown
|
|
![[Note Name]] — embed a full note
|
|
![[Note Name#Heading]] — embed a section
|
|
![[image.png]] — embed an image
|
|
![[image.png|300]] — embed image with width 300px
|
|
![[document.pdf]] — embed a PDF (Obsidian renders natively)
|
|
![[audio.mp3]] — embed audio
|
|
```
|
|
|
|
---
|
|
|
|
## Callouts
|
|
|
|
Callouts are blockquotes with a type keyword. They render as styled alert boxes.
|
|
|
|
```markdown
|
|
> [!note]
|
|
> Default informational callout.
|
|
|
|
> [!note] Custom Title
|
|
> Callout with a custom title.
|
|
|
|
> [!note]- Collapsible (closed by default)
|
|
> Click to expand.
|
|
|
|
> [!note]+ Collapsible (open by default)
|
|
> Click to collapse.
|
|
```
|
|
|
|
### All callout types
|
|
|
|
| Type | Aliases | Use for |
|
|
|------|---------|---------|
|
|
| `note` | — | General notes |
|
|
| `abstract` | `summary`, `tldr` | Summaries |
|
|
| `info` | — | Information |
|
|
| `todo` | — | Action items |
|
|
| `tip` | `hint`, `important` | Tips and highlights |
|
|
| `success` | `check`, `done` | Positive outcomes |
|
|
| `question` | `help`, `faq` | Open questions |
|
|
| `warning` | `caution`, `attention` | Warnings |
|
|
| `failure` | `fail`, `missing` | Errors or failures |
|
|
| `danger` | `error` | Critical issues |
|
|
| `bug` | — | Known bugs |
|
|
| `example` | — | Examples |
|
|
| `quote` | `cite` | Quotations |
|
|
| `contradiction` | — | Conflicting information (wiki convention) |
|
|
|
|
---
|
|
|
|
## Properties (Frontmatter)
|
|
|
|
Obsidian renders YAML frontmatter as a Properties panel. Rules:
|
|
|
|
```yaml
|
|
---
|
|
type: concept # plain string
|
|
title: "Note Title" # quoted if it contains special chars
|
|
created: 2026-04-08 # date as YYYY-MM-DD (not ISO datetime)
|
|
updated: 2026-04-08
|
|
tags:
|
|
- tag-one # list items use - format
|
|
- tag-two
|
|
status: developing
|
|
related:
|
|
- "[[Other Note]]" # wikilinks must be quoted in YAML
|
|
sources:
|
|
- "[[source-page]]"
|
|
---
|
|
```
|
|
|
|
Rules:
|
|
- Flat YAML only. Never nest objects.
|
|
- Dates as `YYYY-MM-DD`, not `2026-04-08T00:00:00`.
|
|
- Lists as `- item`, not inline `[a, b, c]`.
|
|
- Wikilinks in YAML must be quoted: `"[[Page]]"`.
|
|
- `tags` field: Obsidian reads this as the tag list, searchable in vault.
|
|
|
|
---
|
|
|
|
## Tags
|
|
|
|
Two valid forms:
|
|
|
|
```markdown
|
|
#tag-name — inline tag anywhere in the body
|
|
#parent/child-tag — nested tag (shows hierarchy in tag pane)
|
|
```
|
|
|
|
In frontmatter:
|
|
```yaml
|
|
tags:
|
|
- research
|
|
- ai/obsidian
|
|
```
|
|
|
|
Do not use `#` inside frontmatter tag lists — just the tag name.
|
|
|
|
---
|
|
|
|
## Text Formatting
|
|
|
|
Standard Markdown plus Obsidian extensions:
|
|
|
|
```markdown
|
|
**bold** — bold
|
|
*italic* — italic
|
|
~~strikethrough~~ — strikethrough
|
|
==highlight== — highlighted text (yellow in Obsidian)
|
|
`inline code` — inline code
|
|
```
|
|
|
|
---
|
|
|
|
## Math
|
|
|
|
Obsidian uses MathJax/KaTeX:
|
|
|
|
```markdown
|
|
$E = mc^2$ — inline math
|
|
|
|
$$
|
|
\int_0^\infty e^{-x} dx = 1
|
|
$$ — block math
|
|
```
|
|
|
|
---
|
|
|
|
## Code Blocks
|
|
|
|
Standard fenced code blocks. Obsidian highlights all common languages:
|
|
|
|
````markdown
|
|
```python
|
|
def hello():
|
|
return "world"
|
|
```
|
|
````
|
|
|
|
---
|
|
|
|
## Tables
|
|
|
|
Standard Markdown tables:
|
|
|
|
```markdown
|
|
| Column A | Column B | Column C |
|
|
|----------|----------|----------|
|
|
| Value | Value | Value |
|
|
| Value | Value | Value |
|
|
```
|
|
|
|
Obsidian renders tables natively. No plugin needed.
|
|
|
|
---
|
|
|
|
## Mermaid Diagrams
|
|
|
|
Obsidian renders Mermaid natively:
|
|
|
|
````markdown
|
|
```mermaid
|
|
graph TD
|
|
A[Start] --> B{Decision}
|
|
B -->|Yes| C[End]
|
|
B -->|No| D[Loop]
|
|
D --> A
|
|
```
|
|
````
|
|
|
|
Supported: `graph`, `sequenceDiagram`, `gantt`, `classDiagram`, `pie`, `flowchart`.
|
|
|
|
---
|
|
|
|
## Footnotes
|
|
|
|
```markdown
|
|
This sentence has a footnote.[^1]
|
|
|
|
[^1]: The footnote text goes here.
|
|
```
|
|
|
|
---
|
|
|
|
## What NOT to Do
|
|
|
|
- Do not use `[link text](path/to/note.md)` for internal links — use `[[Note Name]]` instead.
|
|
- Do not use HTML inside callouts — stick to Markdown.
|
|
- Do not use `##` inside a callout body — headings don't render inside callouts.
|
|
- Do not write `tags: [a, b, c]` inline in frontmatter — Obsidian prefers the list format.
|
|
- Do not write ISO datetimes in frontmatter (`2026-04-08T00:00:00Z`) — use `2026-04-08`.
|