obsidian-plugin/skills/properties/SKILL.md
Obsidian YAML frontmatter properties: read, set, remove on notes. Use when user mentions frontmatter, metadata, tags, aliases, status, or dates.
npx skillsauth add laurigates/claude-plugins propertiesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
| Use this skill when... | Use the alternative instead when... |
|---|---|
| Reading, setting, or removing a single YAML property on a live note via the running CLI | Doing offline bulk frontmatter rewrites across many files — use vault-frontmatter |
| Updating status:, tags:, or aliases: on a note Obsidian currently has open | Editing note body content rather than frontmatter — use vault-files |
| Confirming a property change is reflected in Obsidian's metadata cache | Repairing broken wikilinks after a rename — use vault-wikilinks |
Read, set, and remove YAML frontmatter properties on Obsidian notes using the official CLI.
Use this skill automatically when:
# Read all properties from a note
obsidian properties file="Project Spec"
# JSON output for parsing
obsidian properties file="Project Spec" format=json
# Set a text property
obsidian properties:set file="Note" status=active
# Set a date property
obsidian properties:set file="Note" due=2026-03-15 type=date
# Set multiple properties
obsidian properties:set file="Note" status=draft priority=high
# Set tags property
obsidian properties:set file="Note" tags="blog,publish" type=tags
# Remove a single property
obsidian properties:remove file="Note" key=draft
# Remove multiple properties
obsidian properties:remove file="Note" key=old_field
| Type | Example | Notes |
|------|---------|-------|
| Text | status=active | Default type |
| Date | due=2026-03-15 type=date | ISO 8601 format |
| Tags | tags="a,b" type=tags | Comma-separated |
| Number | priority=1 | Numeric values |
| Boolean | published=true | true/false |
| List | aliases="Name1,Name2" type=tags | Comma-separated |
# Set draft status
obsidian properties:set file="Post" status=draft
# Move to review
obsidian properties:set file="Post" status=review
# Mark published
obsidian properties:set file="Post" status=published published=true
# Add aliases for wikilink resolution
obsidian properties:set file="JavaScript" aliases="JS,js,ECMAScript" type=tags
| Context | Command |
|---------|---------|
| Read properties (structured) | obsidian properties file="X" format=json |
| Set property | obsidian properties:set file="X" key=value |
| Remove property | obsidian properties:remove file="X" key=field |
| Typed property | obsidian properties:set file="X" field=val type=date |
[key:value] syntaxtesting
Verify accumulated bug claims at upstream HEAD and dedup against trackers before filing issues. Use when filing upstream reports from backlogs, audit docs, or git-history findings.
documentation
Gate outward-bound text (upstream issues, docs, PR bodies) through isolated haiku fresh-reader critique before publishing. Use when an artifact must survive a reader with zero project context.
tools
Suggest improvements to SKILL.md content, descriptions, or tool config from eval results. Use when raising pass rates, fixing triggering, or iterating on a skill after evaluation.
tools
deadbranch CLI for stale-branch cleanup — dry-run preview, TUI or non-interactive delete, protects main/develop/WIP. Use when asked to clean up branches, prune branches, or remove stale branches.