Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries.
SkillScore91Maintained
Automatic
◆Knowledge Management pack
Last verified 8/20/2026
What it changes
Passed 20 of 22 test cases with the skill, and 12 of 22 without it.
Without skill55%
With skill91%
Checks it passed that the model alone missed
Uses category.title() in formula definitions
Includes file.ext == "md" in the filters block
Filters files using file.inFolder("Daily Notes")
and 11 more in the full report
10 fixed10 passed either way0 still failing2 broke
Pass-rate lift
+36 pp
Tokens
+237%
Agent turns
0%
Response time
-51%
Model gemini-3.6-flashMeasured 8/20/2026v120 of 22 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 10 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 10
Prompt
Design an Obsidian Base global filter configuration using YAML that matches notes that EITHER have tag 'urgent' OR meet both conditions: in folder 'Projects' AND NOT having tag 'archived'.
What was checked, without and with the skill
Checked
Without skill
With skill
Uses an outer or block in the filter YAML
Passed
Passed
Nests an and block containing file.inFolder and file.hasTag
Missed
Passed
case-14 · gemini-3.6-flash · 8/20/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md613 linessingle file
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 base
filters:
# Can be a single filter string
# OR a recursive filter object with and/or/not
and: []
or: []
not: []
# Define formula properties that can be used across all views
formulas:
formula_name: 'expression'
# Configure display names and settings for properties
properties:
property_name:
displayName: "Display Name"
formula.formula_name:
displayName: "Formula Display Name"
file.ext:
displayName: "Extension"
# Define custom summary formulas
summaries:
custom_summary_name: 'values.mean().round(3)'