Organize Obsidian Notes with Custom Database Views
This skill creates and debugs Obsidian .base files - database-like note views with YAML filters, formulas, and table/cards/list/map view types.
Why it matters
Transform your Obsidian vault into a dynamic, queryable database. This skill allows you to create custom views of your notes with advanced filtering, sorting, and summarization capabilities, making complex information easily accessible and manageable.
Outcomes
What it gets done
Define filters to precisely select notes based on tags, folders, properties, or dates.
Create computed properties using formulas for dynamic data manipulation.
Configure various view types (table, cards, list, map) to visualize your data.
Generate summaries and aggregate data across your note collection.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/ag-obsidian-bases | bash Overview
Obsidian Bases Skill
This skill creates and debugs Obsidian .base files, covering YAML filter syntax (and/or/not), computed formula properties, four view types (table/cards/list/map), and common syntax error fixes (quoting, Duration handling, undefined formula references). Use it when creating or debugging Obsidian .base files - database-like note views with filters, formulas, and summaries. Specific to Obsidian's Bases feature, not general Obsidian usage.
What it does
This skill covers creating and editing Obsidian .base files - database-like note views with filters, formulas, summaries, and cards/table/list/map layouts. The workflow: create the .base file with valid YAML, define filters to scope which notes appear (by tag, folder, property, or date), optionally define computed formulas, configure one or more views (table/cards/list/map) with an order of properties to display, validate the YAML syntax and that all referenced properties/formulas exist, then confirm the view renders correctly in Obsidian.
filters:
and:
- 'status == "done"'
- 'priority > 3'
formulas:
days_old: '(now() - file.ctime).days'
views:
- type: table
name: "My View"
order: [file.name, status, formula.days_old]
Filter syntax supports single filters, and/or/not logic (recursively nestable), and standard comparison/logical operators (==, !=, >, &&, ||, !). Three property types exist: note properties from frontmatter, file properties (file.name, file.mtime, file.tags, file.backlinks, etc.), and formula properties (formula.my_formula) - plus the context-sensitive this keyword referring to the base file, the embedding file, or the active sidebar file depending on context. Formulas compute values via arithmetic, conditionals (if(done, "done_icon", "pending_icon")), string formatting, and date arithmetic - with a documented Duration-type gotcha (a date difference like (date(due) - today()) is a Duration, not a number, so you must access .days before rounding, not divide it directly). Four view types are covered (table, cards, list, map) along with default summary formulas, complete worked examples (a task tracker, a reading list, a daily notes index), and embedding bases into other notes.
A troubleshooting section documents recurring YAML and formula errors with fixes: unquoted strings containing a colon breaking YAML parsing, double quotes nested inside double-quoted formula expressions (fix: wrap in single quotes instead), treating a Duration as a plain number, formulas that crash on empty/null values (fix: guard with if()), and referencing an undefined formula name (formula.total failing silently if total isn't defined in the formulas section).
When to use - and when NOT to
Use it when creating or editing .base files in Obsidian, building database-like note views with filters/formulas/summaries, or debugging a .base file that shows a YAML error or renders incorrectly. It's specific to Obsidian's Bases feature and its formula language - not a general Obsidian plugin or Markdown-note guide.
Inputs and outputs
Input is a requirement for a filtered, computed, or summarized note view (e.g. a task tracker or reading list) or an existing .base file with a rendering error. Output is valid .base YAML with correctly scoped filters, working formulas, and configured views, or a diagnosed fix for a YAML/formula syntax error.
Integrations
Specific to Obsidian's .base file format and formula language, with a companion references/FUNCTIONS_REFERENCE.md covering the complete function reference (Date, String, Number, List, File, Link, Object, RegExp types).
Who it's for
Obsidian users building database-like note views (task trackers, reading lists, indexes) with Bases who need correct filter/formula YAML syntax and help debugging common syntax errors.
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.