Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries. Use when working with .base files, creating database-like views of notes, or when the user mentions Bases, table views, card views, filters, or formulas in Obsidian.
Obsidian Bases Skill
This skill enables skills-compatible agents to create and edit valid Obsidian Bases (.base files) including views, filters, formulas, and all related configurations.
Overview
Obsidian Bases are YAML-based files that define dynamic views of notes in an Obsidian vault. A Base file can contain multiple views, global filters, formulas, property configurations, and custom summaries.
File Format
Base files use the .base extension and contain valid YAML. They can also be embedded in Markdown code blocks.
Complete Schema
# Global filters apply to ALL views in the basefilters:# Can be a single filter string# OR a recursive filter object with and/or/notand:[]or:[]not:[]# Define formula properties that can be used across all viewsformulas:formula_name:'expression'# Configure display names and settings for propertiesproperties:property_name:displayName:"Display Name"formula.formula_name:displayName:"Formula Display Name"file.ext:displayName:"Extension"# Define custom summary formulassummaries:custom_summary_name:'values.mean().round(3)'# Define one or more viewsviews:- type:table | cards | list | mapname:"View Name"limit: 10 # Optional:limit resultsgroupBy: # Optional:group resultsproperty:property_namedirection:ASC | DESCfilters:# View-specific filtersand:[]order:# Properties to display in order- file.name- property_name- formula.formula_namesummaries:# Map properties to summary formulasproperty_name:Average
Filter Syntax
Filters narrow down results. They can be applied globally or per-view.
Filter Structure
# Single filterfilters:'status == "done"'# AND - all conditions must be truefilters:and:- 'status == "done"'- 'priority > 3'# OR - any condition can be truefilters:or:- 'file.hasTag("book")'- 'file.hasTag("article")'# NOT - exclude matching itemsfilters:not:- 'file.hasTag("archived")'# Nested filtersfilters:or:- file.hasTag("tag")- and:- file.hasTag("book")- file.hasLink("Textbook")- not:- file.hasTag("book")- file.inFolder("Required Reading")
Filter Operators
Operator
Description
==
equals
!=
not equal
>
greater than
<
less than
>=
greater than or equal
<=
less than or equal
&&
logical and
||
logical or
!
logical not
Properties
Three Types of Properties
Note properties - From frontmatter: note.author or just author
File properties - File metadata: file.name, file.mtime, etc.
Formula properties - Computed values: formula.my_formula
File Properties Reference
Property
Type
Description
file.name
String
File name
file.basename
String
File name without extension
file.path
String
Full path to file
file.folder
String
Parent folder path
file.ext
String
File extension
file.size
Number
File size in bytes
file.ctime
Date
Created time
file.mtime
Date
Modified time
file.tags
List
All tags in file
file.links
List
Internal links in file
file.backlinks
List
Files linking to this file
file.embeds
List
Embeds in the note
file.properties
Object
All frontmatter properties
The this Keyword
In main content area: refers to the base file itself
When embedded: refers to the embedding file
In sidebar: refers to the active file in main content
Formula Syntax
Formulas compute values from properties. Defined in the formulas section.