properties

v2026.09.24

Obsidian YAML frontmatter properties and aliases: read, set, remove on notes. Use when user mentions frontmatter, metadata, aliases, status, or dates.

GitHub
安装命令
npx skhub add laurigates/properties
Markdown
SKILL.md

Obsidian Properties Management

When to Use This Skill

Use this skill when...Use the alternative instead when...
Reading, setting, or removing a single YAML property on a live note via the running CLIDoing offline bulk frontmatter rewrites across many files — use vault-frontmatter
Updating status:, aliases:, or a date property on a note Obsidian currently has openEditing note body content rather than frontmatter — use vault-files
Auditing which property names exist across the vault, and how oftenListing or counting tags — use search-discovery (tags, tag)
Confirming a property change is reflected in Obsidian's metadata cacheRepairing broken wikilinks after a rename — use vault-wikilinks

Read, set, and remove YAML frontmatter properties on Obsidian notes using the official CLI.

Prerequisites

  • Obsidian desktop 1.12.7+ installer with CLI enabled
  • Obsidian must be running

Command Shape

Property commands are singular (property:set, property:remove, property:read) and address the property by name=, not by a key=value pair. The plural properties command is the vault-wide listing/inspection view.

CommandPurpose
propertiesList property names across the vault, or on one file
property:readRead one property's value
property:setSet one property (optionally typed)
property:removeRemove one property
aliasesList aliases across the vault, or on one file

All four file-scoped commands default to the active file when neither file= nor path= is given.

List / Inspect Properties

# Every property name used in the vault (default format: yaml)
obsidian properties

# With occurrence counts, sorted by frequency
obsidian properties counts sort=count

# Count of distinct property names
obsidian properties total

# Occurrence count for one property name
obsidian properties name=status

# Properties on a specific file, or the active file
obsidian properties file="Project Spec"
obsidian properties path="Projects/Spec.md"
obsidian properties active

# Structured output
obsidian properties file="Project Spec" format=json
obsidian properties format=tsv

Read a Property

obsidian property:read name=status
obsidian property:read name=status file="Project Spec"
obsidian property:read name=due path="Projects/Spec.md"

Set a Property

name= and value= are both required; type= is optional and tells Obsidian how to store the value.

# Text (default type) on the active file
obsidian property:set name=status value=active

# On a specific file
obsidian property:set name=status value=draft file="Post"

# Typed values
obsidian property:set name=due value=2026-03-15 type=date
obsidian property:set name=reviewed value="2026-03-15T09:00" type=datetime
obsidian property:set name=priority value=1 type=number
obsidian property:set name=published value=true type=checkbox
obsidian property:set name=aliases value="JS,ECMAScript" type=list

Setting multiple properties is one invocation per property — there is no multi-property form.

Remove a Property

obsidian property:remove name=draft
obsidian property:remove name=old_field file="Note"

Aliases

# All aliases in the vault
obsidian aliases

# Count, or with the owning file paths
obsidian aliases total
obsidian aliases verbose

# Aliases on the active file, or a specific one
obsidian aliases active
obsidian aliases file="JavaScript"

To add an alias, set the aliases property as a list:

obsidian property:set name=aliases value="JS,js,ECMAScript" type=list file="JavaScript"

Property Types

type=Example valueNotes
textactiveDefault when type= is omitted
list"a,b,c"Comma-separated; use for aliases, tags
number1Numeric
checkboxtrueBoolean
date2026-03-15ISO 8601 date
datetime2026-03-15T09:00ISO 8601 date + time

Common Patterns

Status workflow

obsidian property:set name=status value=draft file="Post"
obsidian property:set name=status value=review file="Post"
obsidian property:set name=status value=published file="Post"
obsidian property:set name=published value=true type=checkbox file="Post"

Audit property usage before a schema change

# Which property names exist, and how heavily used
obsidian properties counts sort=count

# How many notes carry the one you're about to rename
obsidian properties name=status

Confirm a write landed

obsidian property:set name=status value=active file="Note"
obsidian property:read name=status file="Note"

Agentic Optimizations

ContextCommand
Property names + countsobsidian properties counts sort=count
Properties on one file (structured)obsidian properties file=X format=json
Read one propertyobsidian property:read name=K file=X
Set a propertyobsidian property:set name=K value=V file=X
Set a typed propertyobsidian property:set name=K value=V type=date
Remove a propertyobsidian property:remove name=K file=X
Usage count for a nameobsidian properties name=K
List aliases with pathsobsidian aliases verbose

Related Skills

  • vault-files — Read and create notes
  • search-discovery — Search by property values with [key:value] syntax; tag listing (tags, tag)
  • bases — Base views filter on the properties set here
发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

2026年9月24日

分类

未分类

许可证

MIT

源路径

obsidian-plugin/skills/properties

默认分支

main

最新提交

1668324

Tree SHA

b2d4cc3