jykim / obsidian-yaml-frontmatter
Install for your project team
Run this command in your project directory to install the skill for your entire team:
mkdir -p .claude/skills/obsidian-yaml-frontmatter && curl -L -o skill.zip "https://fastmcp.me/Skills/Download/390" && unzip -o skill.zip -d .claude/skills/obsidian-yaml-frontmatter && rm skill.zip
Project Skills
This skill will be saved in .claude/skills/obsidian-yaml-frontmatter/ and checked into git. All team members will have access to it automatically.
Important: Please verify the skill by reviewing its instructions before using it.
Manage YAML frontmatter properties with consistent formatting, property names, and value types. Use when creating or updating frontmatter in markdown files.
0 views
0 installs
Skill Content
--- name: obsidian-yaml-frontmatter description: Manage YAML frontmatter properties with consistent formatting, property names, and value types. Use when creating or updating frontmatter in markdown files. allowed-tools: - Read - Edit license: MIT --- # YAML Frontmatter Management Standardize YAML frontmatter properties across all vault content. ## When to Use This Skill Activate when you need to: - Add or update frontmatter in markdown files - Ensure consistent property naming and formatting - Format tags, dates, or other property values - Validate frontmatter structure > **Note**: This skill manages frontmatter **PROPERTIES** (keys, values, types, formatting). > For document **STRUCTURE** (heading hierarchy, section order, frontmatter position), use `obsidian-markdown-structure` skill. ## Core Frontmatter Rules ### 1. Single YAML Block at Top **Structure**: ```yaml --- property: value --- ## First Section Header ``` **Critical Rules**: - One YAML block at top of file - Blank line after closing `---` - No content before first heading (after frontmatter) ### 2. Standard Property Names **Use lowercase, consistent keys**: ```yaml ✅ CORRECT: title: Document Title created: 2025-10-31 tags: - tag1 source: https://example.com author: Author Name ❌ INCORRECT: Title: Document Title (capitalized) date: 2025-10-31 (use "created" not "date") tag: tag1 (use "tags" plural) ``` **No Duplicate Properties**: - Use `created` (not both `date` and `created`) - Use `tags` (not both `tag` and `tags`) ### 3. Tag Formatting **CRITICAL: Plain text in YAML, NO hashtags**: ```yaml ✅ CORRECT: tags: - journal - daily - reflection ❌ INCORRECT: tags: - #journal - #daily ``` **Always use list format with dashes**: ```yaml ✅ CORRECT (list format): tags: - tag1 - tag2 ❌ INCORRECT (inline): tags: [tag1, tag2] ``` ### 4. Date Format **Use YYYY-MM-DD consistently**: ```yaml ✅ CORRECT: created: 2025-10-31 updated: 2025-11-01 ❌ INCORRECT: created: 10/31/2025 created: 2025-10-31T10:30:00 ``` ### 5. Link Lists **Wrap wiki links in quotes**: ```yaml ✅ CORRECT: sources: - "[[Lifelog/2025-10-31 Lifelog - Codex]]" - "[[Limitless/2025-10-31]]" links: - "[[Roundup/2025-10-31]]" attendees: - "[[진영]]" - 민성 ❌ INCORRECT: sources: - [[Lifelog/2025-10-31 Lifelog - Codex]] (missing quotes) ``` ### 6. Quote Values with Special Characters **Quote values containing**: `:` `#` or numeric-looking strings ```yaml ✅ CORRECT: title: "AI Era: Thriving Framework" source: "https://example.com" version: "2.0" ❌ INCORRECT: title: AI Era: Thriving Framework (unquoted colon) version: 2.0 (parsed as number, not string) ``` ## Standard Property Set ### Core Properties (All Content) ```yaml --- title: Document Title created: YYYY-MM-DD tags: - category - type --- ``` ### Content with Sources ```yaml --- title: Article Title created: YYYY-MM-DD source: https://url or file path author: Author Name tags: - clipping - topic --- ``` ### Relational Content ```yaml --- title: Document Title created: YYYY-MM-DD tags: - category sources: - "[[Source File 1]]" - "[[Source File 2]]" links: - "[[Related Topic]]" --- ``` ### Events/Meetings ```yaml --- title: Meeting Name created: YYYY-MM-DD event_date: YYYY-MM-DD attendees: - "[[Person 1]]" - Person 2 sources: - "[[Limitless/YYYY-MM-DD#Section]]" tags: - meeting - event --- ``` ## Workflow ### Step 1: Determine Content Type - Daily content (Journal, Lifelog, Roundup) - Ingested content (Clippings, Articles) - Created content (Analysis, Tasks, Events) - Topic/Project pages ### Step 2: Select Property Set - Core properties (title, created, tags) - Add source/author if applicable - Add relational links (sources, links, attendees) - Add content-specific properties ### Step 3: Format Values - Dates: YYYY-MM-DD format - Tags: Plain text list (no #) - Links: Quoted wiki links - Special chars: Quote values with `:` or `#` ### Step 4: Structure Check - Single YAML block at top - Blank line after `---` - Consistent property names (lowercase) - No duplicate properties ## Reference Documentation For detailed property definitions and examples: - `reference/standard-properties.md` - All property definitions - `reference/examples.md` - Frontmatter by content type ## Quality Checklist Before completing frontmatter: - [ ] Single YAML block at top with blank line after - [ ] All property keys lowercase and consistent - [ ] Tags are plain text (NO hashtags) - [ ] Dates in YYYY-MM-DD format - [ ] Wiki links wrapped in quotes - [ ] Special characters quoted appropriately - [ ] No duplicate properties (created vs date, tags vs tag)