skills/obsidian-frontmatter/SKILL.md
This skill should be used when the user needs to create, validate, standardize, or repair YAML frontmatter properties in Obsidian notes. Use when the user wants to add or update tags, aliases, dates, custom properties, or any metadata fields in the Properties panel of an Obsidian note.
npx skillsauth add ericgandrade/claude-superskills obsidian-frontmatterInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill manages YAML frontmatter — the metadata block at the top of every Obsidian note, delimited by ---. Obsidian calls these "Properties" and displays them in a structured panel. This skill covers the complete lifecycle of frontmatter: writing it correctly the first time, enforcing consistent schema across notes, updating stale properties, and repairing malformed YAML that causes Obsidian to show parsing errors.
Frontmatter is how Obsidian notes become queryable. Without consistent, well-formed properties, Dataview queries fail, searches return incomplete results, and the vault's metadata structure erodes over time. This skill treats frontmatter as the schema layer of your knowledge base.
Invoke this skill when:
tags or aliases)Do NOT use this skill when:
obsidian-links insteadobsidian-note-builder insteadFrontmatter must be the very first content in a file, with the opening --- on line 1:
---
title: My Note Title
date: 2024-01-15
tags:
- project
- active
aliases:
- Alternative Title
status: in-progress
---
Critical YAML rules:
--- must be on line 1 with no preceding blank lines or characters- (dash + space) prefixtags: [tag1, tag2] is invalid in Obsidian Propertiestitle: "My Note: A Subtitle"true / false (lowercase, no quotes)YYYY-MM-DD — Obsidian stores them as date objects| Property | Type | Description |
|---------|------|-------------|
| title | Text | Human-readable title (often matches filename) |
| date | Date | Creation or primary date |
| tags | List | Topics and categories for filtering |
| aliases | List | Alternative names for link suggestions |
| status | Text | Current state (e.g., draft, active, done) |
Meeting notes:
attendees:
- Name One
- Name Two
date: 2024-01-15
project: "[[Project Alpha]]"
action_items:
- Task assigned to [[Person]]
Project notes:
status: active
start_date: 2024-01-01
due_date: 2024-03-31
stakeholders:
- "[[Alice Chen]]"
priority: high
Reference / resource notes:
source: "https://example.com/article"
author: Author Name
read_date: 2024-01-15
rating: 4
Daily notes:
date: 2024-01-15
mood: 7
energy: 6
focus_areas:
- Deep Work
- Exercise
Read the note to determine its current state:
--- on line 1?)If the note has a malformed frontmatter block, identify the specific error:
tags: [a, b] to multiline list:, #, or [Ask the user which note type this is if not clear from context. Use the appropriate template from the standard schema above. If the user has provided custom fields, include them.
If updating an existing frontmatter block:
Generate the complete updated frontmatter block. Rules:
Tags must be a YAML list — never inline:
tags:
- project
- active
tags: [project, active]Aliases must be a YAML list:
aliases:
- My Alternative Name
aliases: My Alternative NameDates must be unquoted ISO 8601:
date: 2024-01-15date: "January 15, 2024"Wikilinks in frontmatter must be quoted:
project: "[[Project Alpha]]"project: [[Project Alpha]]No extra blank lines inside the frontmatter block
When editing an existing note:
--- pair)--- delimiters--- exactly as writtenWhen adding frontmatter to a note that has none:
After generating the frontmatter, verify:
--- is on line 1tags and aliases are multiline YAML lists[[...]]) — they must be quoted stringsYYYY-MM-DD formatTags in Obsidian support hierarchy via /:
#project/active — nested tag for active projects#area/work — area of life tag#resource/book — resource typeIn frontmatter, tags are written without the # prefix:
tags:
- project/active
- area/work
- resource/book
Recommended tag categories:
inbox, draft, active, done, archivedmeeting, project, concept, reference, daily, mocwork, personal, learning, healthWhen the user wants to standardize frontmatter across multiple notes:
Updated 12 notes:
✅ Added tags to: Meeting 2024-01-15.md, Project Alpha.md, ...
✅ Fixed inline tags format in: Book Notes.md, Resource List.md
⚠️ Skipped: Archive/Old Note.md (no changes needed)
NEVER:
tags: [a, b] — always use the multiline list format--- and the first property---ALWAYS:
YYYY-MM-DD)aliases property if the note's title has common abbreviations or alternative names:, #, or [Example 1: Add frontmatter to a new meeting note
User: "Add metadata to this meeting note: attendees Alice Chen and Bob Martinez, project Project Alpha, date January 15 2024."
Output:
---
title: Q2 Planning Kickoff
date: 2024-01-15
tags:
- meeting
- project/active
attendees:
- "[[Alice Chen]]"
- "[[Bob Martinez]]"
project: "[[Project Alpha]]"
status: done
---
Example 2: Fix malformed frontmatter
User: "Obsidian is showing a YAML error in this note. Here is the current frontmatter:"
---
title: Strategy Note
tags: [product, strategy, q2]
date: March 2024
project: [[Initiative X]]
---
Issues found:
tags uses inline list format — must be multilinedate is not ISO 8601 format — should be 2024-03-01project has an unquoted wikilink — must be quotedFixed output:
---
title: Strategy Note
tags:
- product
- strategy
- q2
date: 2024-03-01
project: "[[Initiative X]]"
---
Example 3: Add a custom property to multiple notes
User: "Add priority: high to all my notes tagged with project/active."
Response: Lists matching notes, confirms, then outputs the changes for each, preserving all existing properties.
Example 4: Build a project note template
User: "Create a frontmatter template for all my project notes."
Output:
---
title: Project Name
date: YYYY-MM-DD
status: planning
priority: medium
tags:
- project
- status/planning
stakeholders:
- "[[Person Name]]"
due_date: YYYY-MM-DD
---
Example 5: Add tags to an existing note without touching the body
User: "Add tags 'area/work' and 'type/reference' to this note."
tags list (or create the tags field if absent)development
This skill should be used when the user needs to create or edit an Obsidian Canvas — a freeform visual workspace that arranges notes, cards, links, images, and web content on an infinite canvas. Use when the user wants to map ideas spatially, build a knowledge dashboard, sketch a concept cluster, or create a visual workspace linking multiple Obsidian notes.
tools
This skill should be used when the user wants to automate repetitive Obsidian tasks using the Obsidian CLI, shell commands, or scripted workflows. Use when the user needs to batch-create notes, bulk-update frontmatter, run vault maintenance tasks, open specific notes in Obsidian, navigate the vault programmatically, or integrate Obsidian with external tools.
development
This skill should be used when the user needs to create, edit, or convert a diagram into Mermaid syntax. Use when the user asks for a flowchart, sequence diagram, class diagram, state diagram, entity-relationship diagram, mindmap, Gantt chart, or any other diagram type that Mermaid supports. Outputs a ready-to-render Mermaid code block.
research
This skill should be used when the user needs structured strategic analysis and high-impact executive recommendations for complex business problems.