add-frontmatter
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
# If single file
Read the specified file
# If folder
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→tagsalias→aliasescssclass→cssclasses
- Ensure valid YAML syntax
Step 5: Update File
# Format:
---
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.
More from heyitsnoah/claudesidian
systematic-debugging
ALWAYS use before attempting any fix. Never jump to solutions - investigate root cause first. Use when encountering any technical issue, bug, test failure, or unexpected behavior.
13skill-creator
Guide for creating effective skills and commands. Use when users want to create a new skill or command, when updating an existing one, or when asking "how do I make a skill" or "create a command for X".
12obsidian-markdown
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.
12json-canvas
Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections. Use when working with .canvas files, creating visual canvases, mind maps, flowcharts, or when the user mentions Canvas files in Obsidian.
7git-worktrees
Work with git worktrees for isolated parallel development. Use when starting feature work in isolation, when need separate workspace without branch switching, or when cleaning up worktrees after PR merge.
7obsidian-bases
Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries. Use when working with .base files, creating database-like views of notes, or when the user mentions Bases, table views, card views, filters, or formulas in Obsidian.
6