agentsclimarketplace

Frontmatter parser

Skill yixin0829/semantic-obsidian/skills/frontmatter-parser

Parse YAML frontmatter from markdown notes into structured data. Use when searching, filtering, or querying notes by their metadata properties (created, tags, author, summary, TOPIC, PRIOR, NEXT, RELATED_TO, etc.). Enables quick property-based searches across the vault.From its SKILL.md

Install
npx -y skills add yixin0829/semantic-obsidian --skill frontmatter-parser

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.3 KB, as published. Nobody here has run it

Frontmatter Parser

Parse and query YAML frontmatter metadata from Obsidian vault markdown files.

Instructions

  1. Single File Parsing: Use Read tool to view a markdown file, then extract YAML between opening --- and closing --- delimiters at the start of the file.

  2. Batch Parsing: Use the Python helper script at .claude/skills/frontmatter-parser/scripts/parse_frontmatter.py for efficient batch operations:

    uv run --with pyyaml .claude/skills/frontmatter-parser/scripts/parse_frontmatter.py <command> [args]
    
  3. Property Search: To find notes with specific property values, use the helper script's search capabilities or combine Grep with Read.

Helper Script Commands

# Parse single file and output JSON
uv run --with pyyaml .claude/skills/frontmatter-parser/scripts/parse_frontmatter.py parse <file_path>

# Search for notes with specific property value
uv run --with pyyaml .claude/skills/frontmatter-parser/scripts/parse_frontmatter.py search <directory> <property> <value>

# List all unique values for a property across directory
uv run --with pyyaml .claude/skills/frontmatter-parser/scripts/parse_frontmatter.py values <directory> <property>

Vault Property Schema

Based on 02-SlipBox/Obsidian Property.md, these are the standard properties:

Core Properties (Universal)

PropertyTypeDescription
createdDate (YYYY-MM-DD)Note creation date
last_updatedDate (YYYY-MM-DD)Last modification date
authorArray of stringsNote authors/contributors
tagsArray of stringsHierarchical structural tags
aliasesArray of stringsAlternative names for linking
summaryStringBrief description of content

Zettelkasten Properties

PropertyTypeDescription
TOPICArray of wikilinksMain topic categorization
PRIORArray of wikilinksPrerequisite/previous notes
NEXTArray of wikilinksFollow-up notes
RELATED_TOArray of wikilinksCross-references

Project-Specific Properties

PropertyTypeDescription
start_dtDateProject start date
end_dtDate or nullProject completion date
cloud_driveURLExternal storage link
projectArray of wikilinksAssociated projects

Reference-Specific Properties

PropertyTypeDescription
titleStringOriginal title of work
urlURLLink to original source
yearNumberPublication year
zotero_uriURIZotero item link
publishedDatePublication date

Examples

Find all notes by a specific author

uv run --with pyyaml .claude/skills/frontmatter-parser/scripts/parse_frontmatter.py search "02-SlipBox" author "Yixin Tian"

List all unique tags in the vault

uv run --with pyyaml .claude/skills/frontmatter-parser/scripts/parse_frontmatter.py values "." tags

Find notes created after a specific date

uv run --with pyyaml .claude/skills/frontmatter-parser/scripts/parse_frontmatter.py search "." created "2025-01-01" --operator gte

Find notes with specific tag

uv run --with pyyaml .claude/skills/frontmatter-parser/scripts/parse_frontmatter.py search "." tags "slip-box/concept"

YAML Frontmatter Format

---
created: 2025-09-27
last_updated: 2025-12-08
author:
  - Yixin Tian
tags:
  - slip-box/concept
aliases:
  - Alternative Name
summary: Brief description of note content
TOPIC:
  - "[[Parent Topic]]"
PRIOR:
  - "[[Prerequisite Note]]"
NEXT:
  - "[[Follow-up Note]]"
RELATED_TO:
  - "[[Related Concept 1]]"
  - "[[Related Concept 2]]"
---

Notes

  • Wikilinks in frontmatter use format: "[[Note Name]]" (quoted)
  • Arrays use multi-line YAML format with - prefix
  • Empty arrays use []
  • Null/empty values leave the property with no value after colon
  • Tags are hierarchical using / separator (e.g., ref/media/books)

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.