From semantic-skills
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.
npx claudepluginhub yixin0829/semantic-obsidian --plugin semantic-skillsThis skill is limited to using the following tools:
Parse and query YAML frontmatter metadata from Obsidian vault markdown files.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
Share bugs, ideas, or general feedback.
Parse and query YAML frontmatter metadata from Obsidian vault markdown files.
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.
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]
Property Search: To find notes with specific property values, use the helper script's search capabilities or combine Grep with Read.
# 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>
Based on 02-SlipBox/Obsidian Property.md, these are the standard properties:
| Property | Type | Description |
|---|---|---|
created | Date (YYYY-MM-DD) | Note creation date |
last_updated | Date (YYYY-MM-DD) | Last modification date |
author | Array of strings | Note authors/contributors |
tags | Array of strings | Hierarchical structural tags |
aliases | Array of strings | Alternative names for linking |
summary | String | Brief description of content |
| Property | Type | Description |
|---|---|---|
TOPIC | Array of wikilinks | Main topic categorization |
PRIOR | Array of wikilinks | Prerequisite/previous notes |
NEXT | Array of wikilinks | Follow-up notes |
RELATED_TO | Array of wikilinks | Cross-references |
| Property | Type | Description |
|---|---|---|
start_dt | Date | Project start date |
end_dt | Date or null | Project completion date |
cloud_drive | URL | External storage link |
project | Array of wikilinks | Associated projects |
| Property | Type | Description |
|---|---|---|
title | String | Original title of work |
url | URL | Link to original source |
year | Number | Publication year |
zotero_uri | URI | Zotero item link |
published | Date | Publication date |
uv run --with pyyaml .claude/skills/frontmatter-parser/scripts/parse_frontmatter.py search "02-SlipBox" author "Yixin Tian"
uv run --with pyyaml .claude/skills/frontmatter-parser/scripts/parse_frontmatter.py values "." tags
uv run --with pyyaml .claude/skills/frontmatter-parser/scripts/parse_frontmatter.py search "." created "2025-01-01" --operator gte
uv run --with pyyaml .claude/skills/frontmatter-parser/scripts/parse_frontmatter.py search "." tags "slip-box/concept"
---
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]]"
---
"[[Note Name]]" (quoted)- prefix[]/ separator (e.g., ref/media/books)