obsidian-bases

Generates valid Obsidian Bases .base files with filters, formulas, views, and summaries.

2|Updated Apr 4, 2026
One-click install
npx skills add https://github.com/DoctorMozg/claude-pipelines --skill obsidian-bases-doctormozg
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: obsidian-bases
Source: https://github.com/DoctorMozg/claude-pipelines/tree/main/plugins/mz-knowledge/skills/obsidian-bases
Command: npx skills add https://github.com/DoctorMozg/claude-pipelines --skill obsidian-bases-doctormozg

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Writing Obsidian Bases (.base) files by hand is error-prone: the YAML structure, filter functions, property namespaces, and Duration handling have strict rules that are easy to get wrong, producing broken database views. This Skill provides authoritative Bases syntax so edits to .base files produce valid, working queries. ## Core Features & Use Cases - Filter construction: Translates intent into file.hasTag, file.inFolder, file.hasLink, regex matches, and compound and/or/not blocks. - Formulas and views: Defines computed properties, table/cards/list/map views, sorting, grouping, and built-in summaries like Count, Sum, and Median. - Pitfall prevention: Catches common errors such as treating a Duration as a Number, mixing in Dataview DQL syntax, and YAML quoting mistakes. - Use Case: Ask for a base that lists all notes tagged 'project' grouped by status and sorted by last modified, and receive a valid .base YAML snippet ready to save in your vault. ## Quick Start Ask the assistant to create an Obsidian .base file that shows all notes tagged project in a table view sorted by file.mtime descending with name and status columns.

Frequently Asked Questions about obsidian-bases

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create an Obsidian Bases .base file?

A .base file is a YAML document with optional top-level keys: filters, formulas, properties, summaries, and views. Define filters with functions like file.hasTag('project'), then add a view of type table, cards, list, or map with the properties to display.

How do I filter notes by tag or folder in Obsidian Bases?

Use filter functions such as file.hasTag('project'), file.inFolder('02 - Areas'), or file.hasLink(note). Combine multiple conditions with and, or, and not blocks, or use &&, ||, and ! inside a single filter string.

What is the difference between Obsidian Bases and Dataview?

Bases is a native Obsidian feature using YAML with filter functions like file.hasTag, while Dataview is a community plugin using DQL keywords such as TABLE, FROM, WHERE, and SORT. DQL syntax does not work inside .base files.

Why does my date subtraction formula fail in Obsidian Bases?

Subtracting two dates, such as date.now() - file.mtime, returns a Duration, not a Number. You must access .days, .hours, or .minutes on the result before using it in numeric functions, rounding, or comparisons.

How do I reference frontmatter properties in Bases formulas?

Frontmatter properties are referenced directly by name without any prefix, such as status. The file. prefix is reserved for file metadata like file.name, file.mtime, and file.tags, so file.status is incorrect.

Why does my Bases formula cause a YAML parse error?

YAML parse errors usually occur when a formula string containing double quotes is itself wrapped in double quotes. Wrap the outer string in single quotes instead, for example: 'if(status == "done", "done", "open")'.