Obsidian Bases Skill
Workflow
- Create the file: Create a
.basefile in the vault with valid YAML content - Define scope: Add
filtersto select which notes appear (by tag, folder, property, or date) - Add formulas (optional): Define computed properties in the
formulassection - Configure views: Add one or more views (
table,cards,list, ormap) withorderspecifying which properties to display - Validate: Verify the file is valid YAML with no syntax errors. Check that all referenced properties and formulas exist. Common issues: unquoted strings containing special YAML characters, mismatched quotes in formula expressions, referencing
formula.Xwithout definingXinformulas - Test in Obsidian: Open the
.basefile in Obsidian to confirm the view renders correctly. If it shows a YAML error, check quoting rules below
Schema
Base files use the .base extension and contain valid YAML.
Filter Syntax
Filters narrow down results. They can be applied globally or per-view.
Filter Structure
Filter Operators
Properties
Three Types of Properties
- Note properties - From frontmatter:
note.authoror justauthor - File properties - File metadata:
file.name,file.mtime, etc. - Formula properties - Computed values:
formula.my_formula
File Properties Reference
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.
Key Functions
Most commonly used functions. For the complete reference of all types (Date, String, Number, List, File, Link, Object, RegExp), see FUNCTIONS_REFERENCE.md [blocked].
Duration Type
When subtracting two dates, the result is a Duration type (not a number).
Duration Fields: duration.days, duration.hours, duration.minutes, duration.seconds, duration.milliseconds
IMPORTANT: Duration does NOT support .round(), .floor(), .ceil() directly. Access a numeric field first (like .days), then apply number functions.
Date Arithmetic
View Types
Table View
Cards View
List View
Map View
Requires latitude/longitude properties and the Maps community plugin.
Default Summary Formulas
Complete Examples
Task Tracker Base
Reading List Base
Daily Notes Index
Embedding Bases
Embed in Markdown files:
YAML Quoting Rules
- Use single quotes for formulas containing double quotes:
'if(done, "Yes", "No")' - Use double quotes for simple strings:
"My View Name" - Escape nested quotes properly in complex expressions
Troubleshooting
YAML Syntax Errors
Unquoted special characters: Strings containing :, {, }, [, ], ,, &, *, #, ?, |, -, <, >, =, !, %, @, ` must be quoted.
Mismatched quotes in formulas: When a formula contains double quotes, wrap the entire formula in single quotes.
Common Formula Errors
Duration math without field access: Subtracting dates returns a Duration, not a number. Always access .days, .hours, etc.
Missing null checks: Properties may not exist on all notes. Use if() to guard.
Referencing undefined formulas: Ensure every formula.X in order or properties has a matching entry in formulas.
References
- Bases Syntax
- Functions
- Views
- Formulas
- Complete Functions Reference [blocked]


