| name | add-frontmatter |
| description | Add or update YAML frontmatter properties to enhance Obsidian note organization. Use when the user asks to add, fix, normalize, or improve frontmatter, properties, metadata, tags, or YAML on a note or folder of notes. |
You will analyze Obsidian notes and add intelligent YAML frontmatter properties
to enhance organization and discoverability.
Input
- Path: file or folder to process
- Current date: use the system date
Your Task
Step 1: Identify Notes to Process
Read the specified file
Find all .md files in folder
Step 2: Analyze Note Content
For each note, examine:
- Main topics and themes
- Note type (meeting, daily, reference, project)
- Key entities (people, projects, dates)
- Existing properties (preserve valid ones)
- Title quality (add/improve if needed)
Step 3: Generate Appropriate Properties
Standard Properties by Note Type
Meeting Notes:
---
title: [Descriptive meeting title]
date: YYYY-MM-DD
type: meeting
attendees: ['Person 1', 'Person 2']
project: Project Name
tags: [meeting, project-name]
action_items:
- 'Action item 1'
- 'Action item 2'
status: complete
---
Daily Notes:
---
title: Daily Note - YYYY-MM-DD
date: YYYY-MM-DD
type: daily-note
tags: [daily]
highlights:
- 'Key event or thought'
mood: productive
---
Reference/Article Notes:
---
title: [Article or concept title]
type: reference
source: "[[Source Note]]" or URL
author: Author Name
date_saved: YYYY-MM-DD
tags: [topic1, topic2]
key_concepts: [concept1, concept2]
---
Project Notes:
---
title: [Project Name - Component]
type: project
status: in-progress
deadline: YYYY-MM-DD
stakeholders: ['Person 1', 'Team 2']
tags: [project, area]
priority: high
---
Step 4: Apply Properties
For each note:
- Check for existing frontmatter
- Merge new properties (don't duplicate)
- Fix any deprecated formats:
tag → tags
alias → aliases
cssclass → cssclasses
- Ensure valid YAML syntax
Step 5: Update File
---
property: value
list_property: ['item1', 'item2']
date_property: YYYY-MM-DD
linked_property: '[[Note Name]]'
---
[Original content]
Property Guidelines
Naming Conventions
- Use lowercase with underscores:
date_created, action_items
- Be consistent with existing vault patterns
- Prefer clear over clever names
Value Types
- Text: Simple strings, use quotes for links
- List: Arrays for multiple values
- Date: ISO format (YYYY-MM-DD)
- Number: For counts, ratings, priorities
- Checkbox: For boolean states
Quality Checks
- ✅ Valid YAML syntax
- ✅ No duplicate properties
- ✅ Appropriate property types
- ✅ Quoted internal links
- ✅ Meaningful values (not empty)
Special Cases
Untitled Notes
Generate title from:
- First heading if exists
- First paragraph summary
- Main topic/concept discussed
Bulk Processing
When processing folders:
- Maintain consistency across similar notes
- Use same property names for same concepts
- Report summary of changes made
Existing Properties
- Preserve valid existing properties
- Update deprecated formats
- Merge new properties carefully
- Never delete without reason
Examples
Before:
Had a great meeting with the team about Q1 planning...
After:
---
title: Q1 Planning Team Meeting
date: 2025-09-02
type: meeting
attendees: ['Team']
project: Q1 Planning
tags: [meeting, planning, q1-2025]
status: complete
---
Had a great meeting with the team about Q1 planning...
Remember: Properties should enhance organization, not clutter. Only add what
provides value for finding and connecting notes.