Skill

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.

Works with obsidian

79
Spark score
out of 100
Updated today
Version 15.7.0

Add to Favorites

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

01

Define filters to precisely select notes based on tags, folders, properties, or dates.

02

Create computed properties using formulas for dynamic data manipulation.

03

Configure various view types (table, cards, list, map) to visualize your data.

04

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.