obsidian-bases
Skill0 starsChanged 3 months agoMITView on GitHub
Create and edit Obsidian Bases (.base files): Obsidian's native database layer for dynamic tables, card views, list views, filters, formulas, and summaries over vault notes. Triggers on: create a base, add a base file, obsidian bases, base view, filter notes, formula, database view, dynamic table, task tracker base, reading list base.
80 other projects use a version of this, 2 of them edited.
Adopted by
Most recently taken up by
- tboome33/obsidian-mcp-routertheir own version, first seen Nov 15, 2026
- synthetic-recon/atlas-obsidian-vaulttheir own version, first seen Nov 15, 2026
- Bruno-Cunha-Souza/ValarMindSkillstheir own version, first seen Nov 8, 2026
- levi-qiao/obsidian-llm-wikitheir own version, first seen Nov 8, 2026
- shkodnik1917/claude-brainlabtheir own version, first seen Nov 8, 2026
- lingengyuan/my-skillstheir own version, first seen Nov 5, 2026
Used with
Projects with it also use obsidian-cli, knap and 9 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
jykimSkillobsidian-cli
Interact with Obsidian using the official CLI to read, search, create, and manage notes, daily notes, tasks, properties, and more. Use when the user wants to query or manipulate vault content via the obsidian command.
Also in 48 projects that use this
lucasmaher-hashSkillknap
Render Markdown from templates and structured data using Knap CLI. Use when the user asks to apply a Knap template, turn JSON or CSV data into notes, batch-generate Markdown files, or format Defuddle output into a note.
Also in 4 projects that use this
BCS1037Skillmermaid-visualizer
Transform text content into professional Mermaid diagrams for presentations and documentation. Use when users ask to visualize concepts, create flowcharts, or make diagrams from text. Supports process flows, system architectures, comparisons, mindmaps, and more with built-in syntax error prevention.
Also in 5 projects that use this
pedronauckSkillalex-hormozi-pitch
Create irresistible offers and pitches using Alex Hormozi's methodology from $100M Offers. Guides through value equation, guarantee frameworks, pricing psychology, and creating offers "too good not to take" for any product or service.
Also in 3 projects that use this
dqtx760Skillcreate-project
Scaffold a complete, runnable project from scratch with proper structure and best practices. Use when building new apps, games, tools, scripts, or any project from zero.
Also in 4 projects that use this
az9713Skillvault-health
Audit vault health: unresolved links, orphan notes, dead-end files, missing frontmatter, structural gaps. Produces an actionable report note with prioritized fix suggestions. Use when wanting to clean up, organize, or assess the current state of the vault.
Also in 3 projects that use this
Other versions80 projects use a version of this.
Word for word · 0
None found.
Edited · 2
- CarbeneAI/Forge★ 996% same
- matvej-melikhov/karpathy-llm-wiki★ 212% same
Wrote their own version · 78
- AgriciDaniel/claude-obsidian★ 16ksame name
- anbeime/skill★ 7.9ksame name
- breferrari/obsidian-mind★ 5.4ksame name
- Atmosphere/atmosphere★ 3.8ksame name
- heyitsnoah/claudesidian★ 2.6ksame name
- pedronauck/skills★ 649same name
- freestylefly/canghe-skills★ 461same name
- edrickleong/obsidian-calendar-bases★ 186same name
- benoror/obsidianos_work★ 166same name
- bozhouDev/video-skills-toolkit★ 147same name
68 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository18 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- .cursor/rules/maz-works-knowledge-vault.mdcCursor rule
- autoresearchSkill
- canvasSkill
- defuddleSkill
- obsidian-markdownSkill
- saveSkill
- thinkSkill
- wiki-cliSkill
- wiki-foldSkill
- wiki-ingestSkill
- wiki-lintSkill
- wiki-modeSkill
- wiki-querySkill
- wiki-retrieveSkill
- wikiSkill
The file
We split this skill into the rules it gives an agent
5 rules. 0 are common, 0 are distinctive, and 5 are very specific to this project.
0
Common
Most of the 78 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 290
Do not use from: or where:: those are Dataview syntax, not Obsidian Bases
- Very specific: line 291
Do not use sort: at the root level: sorting is per-view via order: and groupBy:
- Very specific: line 292
Do not put .base files outside the vault: they only render inside Obsidian
- Very specific: line 293
Do not reference formula.X in order: without defining X in formulas:
- Very specific: line 299
When working on this skill, apply the 10-principle loop.
“Common” is measured: kept by at least 6 in 10 of the 78 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
obsidian-bases: Obsidian's Database Layer
Obsidian Bases (launched 2025) turns vault notes into queryable, dynamic views. Tables, cards, lists, maps. Defined in .base files. No plugin required; it is a core Obsidian feature.
Substrate preference (v1.7+): This skill is a self-contained fallback. Prefer kepano/obsidian-skills as the authoritative substrate — its obsidian-bases skill is the canonical reference for Bases YAML, formulas, and view definitions. If that separate skill is available, use it. The reference below keeps Maz Works Knowledge Vault functional when kepano's marketplace is not installed. Install: claude plugin marketplace add kepano/obsidian-skills. Official Bases docs: https://help.obsidian.md/bases/syntax
File Format
.base files contain valid YAML. The root keys are filters, formulas, properties, summaries, and views.
# Global filters: apply to ALL views
filters:
and:
- file.hasTag("wiki")
- 'status != "archived"'
# Computed properties
formulas:
age_days: '(now() - file.ctime).days.round(0)'
status_icon: 'if(status == "mature", "✅", "🔄")'
# Display name overrides for properties panel
properties:
status:
displayName: "Status"
formula.age_days:
displayName: "Age (days)"
# One or more views
views:
- type: table
name: "All Pages"
order:
- file.name
- type
- status
- updated
- formula.age_daysFilters
Filters select which notes appear. Applied globally or per-view.
# Single string filter
filters: 'status == "current"'
# AND: all must be true
filters:
and:
- 'status != "archived"'
- file.hasTag("wiki")
# OR: any can be true
filters:
or:
- file.hasTag("concept")
- file.hasTag("entity")
# NOT: exclude matches
filters:
not:
- file.inFolder("wiki/meta")
# Nested
filters:
and:
- file.inFolder("wiki/")
- or:
- 'type == "concept"'
- 'type == "entity"'Filter operators
== != > < >= <=
Useful filter functions
| Function | Example |
file.hasTag("x") | Notes with tag x |
file.inFolder("path/") | Notes in folder |
file.hasLink("Note") | Notes linking to Note |
Properties
Three types:
- Note properties: from frontmatter:
status,type,updated - File properties: metadata:
file.name,file.mtime,file.size,file.ctime,file.tags,file.folder - Formula properties: computed:
formula.age_days
Formulas
Defined in formulas:. Referenced as formula.name in order: and properties:.
formulas:
# Days since created
age_days: '(now() - file.ctime).days.round(0)'
# Days until a date property
days_until: 'if(due_date, (date(due_date) - today()).days, "")'
# Conditional label
status_icon: 'if(status == "mature", "✅", if(status == "developing", "🔄", "🌱"))'
# Word count estimate
word_est: '(file.size / 5).round(0)'Key rule: Subtracting two dates returns a Duration. Not a number. Always access .days first:
# CORRECT
age: '(now() - file.ctime).days'
# WRONG: crashes
age: '(now() - file.ctime).round(0)'Always guard nullable properties with if():
# CORRECT
days_left: 'if(due_date, (date(due_date) - today()).days, "")'View Types
Table
views:
- type: table
name: "Wiki Index"
limit: 100
order:
- file.name
- type
- status
- updated
groupBy:
property: type
direction: ASCCards
views:
- type: cards
name: "Gallery"
order:
- file.name
- tags
- statusList
views:
- type: list
name: "Quick List"
order:
- file.name
- statusWiki Vault Templates
Wiki content dashboard (all non-meta pages)
filters:
and:
- file.inFolder("wiki/")
- not:
- file.inFolder("wiki/meta")
formulas:
age: '(now() - file.ctime).days.round(0)'
properties:
formula.age:
displayName: "Age (days)"
views:
- type: table
name: "All Wiki Pages"
order:
- file.name
- type
- status
- updated
- formula.age
groupBy:
property: type
direction: ASCEntity index (people, orgs, repos)
filters:
and:
- file.inFolder("wiki/entities/")
- 'file.ext == "md"'
views:
- type: table
name: "Entities"
order:
- file.name
- entity_type
- status
- updated
groupBy:
property: entity_type
direction: ASCRecent ingests
filters:
and:
- file.inFolder("wiki/sources/")
views:
- type: table
name: "Sources"
order:
- file.name
- source_type
- created
- status
groupBy:
property: source_type
direction: ASCEmbedding in Notes
![[MyBase.base]]
![[MyBase.base#View Name]]Where to Save
Store .base files in wiki/meta/ for vault dashboards:
wiki/meta/dashboard.base: main content viewwiki/meta/entities.base: entity trackerwiki/meta/sources.base: ingestion log
YAML Quoting Rules
- Formulas with double quotes → wrap in single quotes:
'if(done, "Yes", "No")' - Strings with colons or special chars → wrap in double quotes:
"Status: Active" - Unquoted strings with
:break YAML parsing
What Not to Do
- Do not use
from:orwhere:: those are Dataview syntax, not Obsidian Bases - Do not use
sort:at the root level: sorting is per-view viaorder:andgroupBy: - Do not put
.basefiles outside the vault: they only render inside Obsidian - Do not reference
formula.Xinorder:without definingXinformulas:
How to think (10-principle mapping)
When working on this skill, apply the 10-principle loop. See skills/think/SKILL.md for the canonical framework.
| # | Principle | Application here |
| 1 | OBSERVE (ext) | The .base YAML the user is composing — read it carefully before suggesting changes. |
| 2 | OBSERVE (int) | Am I documenting yesterday's spec or today's? Bases evolves fast post-GA. |
| 3 | LISTEN | The user's specific Bases use-case (dashboard, filter chain, computed property). |
| 4 | THINK | Which filter operators, formula syntax, view types apply? Validate against the current spec. |
| 5 | CONNECT (lat) | How do Bases relate to Dataview queries? Properties? Canvas overlays? Map the deltas. |
| 6 | CONNECT (sys) | Obsidian Bases is post-1.10 GA; substrate-defer to kepano/obsidian-skills when present. |
| 7 | FEEL | Examples that actually parse and render. Pseudo-syntax wastes the user. |
| 8 | ACCEPT | Bases spec evolves; some features in this doc may have changed. Keep the version note current. |
| 9 | CREATE | Schema docs + worked examples that render in the user's actual Obsidian version. |
| 10 | GROW | As Bases features ship, refresh the reference. Track upstream releases. |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

