obsidian-bases
Explain, draft, and validate Obsidian Bases .base files with filters, formulas, properties, summaries, and table, card, or list views. Use for Obsidian Bases, database-like vault views, dynamic tables, reading lists, task trackers, filters, formulas, summaries, and .base file edits.
Install / Use
npx skills add AgriciDaniel/claude-obsidian --skill obsidian-basesInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
AutomationSupported Platforms
Our assessment of obsidian-bases
obsidian-bases scores 89/100 on our quality scale, 738th of 1,943 Automation skills we index (top 38%).
Its SKILL.md is 4.6 KB long, split into 4 sections with 6 code examples: a solid amount of guidance for an agent.
With 15,217 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 17 days ago, so obsidian-bases is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
obsidian-bases compared with similar skills
All 4 of these similar skills score higher than obsidian-bases; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| obsidian-bases (this skill)by AgriciDaniel | 89 | 15.2k | 17d ago | SKILL.md |
| Agent-Reachby Panniantong | 100 | 85.8k | 12d ago | CLAUDE.md |
| rufloby ruvnet | 100 | 73.4k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 84.1k | today | MCP Server |
| algorithmic-artby anthropics | 100 | 177.9k | 5d ago | SKILL.md |
Frequently asked questions
- How do I install obsidian-bases?
- Run
npx skills add AgriciDaniel/claude-obsidian --skill obsidian-bases. The install tabs above show the steps for each supported agent. - Which AI agents does obsidian-bases work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is obsidian-bases safe to use?
- It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is obsidian-bases still maintained?
- The repository was last updated 17 days ago, so obsidian-bases is actively maintained.
Skill content
View source on GitHubname: obsidian-bases description: Explain, draft, and validate Obsidian Bases .base files with filters, formulas, properties, summaries, and table, card, or list views. Use for Obsidian Bases, database-like vault views, dynamic tables, reading lists, task trackers, filters, formulas, summaries, and .base file edits.
Obsidian Bases
Use this as a compact workflow and fallback syntax reference. Prefer a
separately installed kepano/obsidian-skills obsidian-bases skill, then the
current official Bases syntax, for
detailed or version-sensitive fields and functions.
Answer design and syntax questions read-only. For a requested .base edit,
resolve the user vault and use one inspected transaction; never write the file
directly.
Resolve the installed product root from this skill's own location, not from the vault or current working directory:
PRODUCT_ROOT=/absolute/path/to/installed/claude-obsidian
CORE="$PRODUCT_ROOT/scripts/claude-obsidian.py"
test -f "$CORE"
Every ../wiki/references/ link in this file resolves the same way, relative
to this skill's own directory under $PRODUCT_ROOT, never relative to the
selected vault's wiki/ directory.
Workflow
-
Inspect representative note properties and any existing
.basefile. -
Define the smallest filter that selects the intended notes.
-
Add formulas only for values that must be computed.
-
Choose views and display order. Do not assume a view type or option is supported by the user's Obsidian version or installed plugins.
-
Validate YAML, expression quoting, property names, formula references, and null handling.
-
Preview the complete file and expected result set before a mutation.
-
If an edit was requested, read operation-transactions.md, keep the
.basefile underwiki/, and build oneclaude-obsidian.transaction.v1bundle withoperation_type: base. Inspect it, then setAPPROVAL_SHA256to the returnedapproval_sha256only after review and apply once:python3 "$CORE" transaction inspect "$BUNDLE" --vault "$VAULT" python3 "$CORE" transaction apply "$BUNDLE" --vault "$VAULT" \ --approved-plan-sha256 "$APPROVAL_SHA256" -
Ask the user to render the Base in Obsidian when application-level behavior cannot be verified locally.
Compact schema
.base files are YAML. Common top-level keys are filters, formulas,
properties, summaries, and views.
filters:
and:
- file.inFolder("wiki")
- 'status != "archived"'
formulas:
age_days: '((now() - file.ctime) / 86400000).round(0)'
status_label: 'if(status == "mature", "Ready", "Review")'
properties:
status:
displayName: "Status"
formula.age_days:
displayName: "Age (days)"
views:
- type: table
name: "Wiki pages"
order:
- file.name
- type
- status
- updated
- formula.age_days
Global filters apply to every view. A view may also define its own filters.
Recursive filter objects use one of and, or, or not at each level.
filters:
or:
- file.hasTag("concept")
- and:
- file.hasTag("source")
- 'status == "active"'
Use note properties by name, file metadata as file.name, file.path,
file.folder, file.ext, file.ctime, file.mtime, or file.tags, and
computed properties as formula.<name>.
Formula and YAML rules
- Quote expressions that contain operators, colons, or nested string quotes.
- Guard nullable properties with
if(). - Subtracting two dates returns a millisecond number. Divide by
86400000before rounding when a whole-day count is intended. - Define every
formula.<name>before referencing it in a view or property display configuration. - Do not transplant Dataview-only keys such as
fromorwhereinto a Base. - Do not invent properties absent from the selected notes without explaining that the resulting column will be empty.
formulas:
days_until: 'if(due_date, ((date(due_date) - today()) / 86400000).round(0), "")'
Table, cards, and list views are common:
views:
- type: cards
name: "Reading list"
order:
- file.name
- author
- status
- type: list
name: "Quick list"
order:
- file.name
- status
Embed a Base or one named view in a Markdown note:
![[Dashboard.base]]
![[Dashboard.base#Wiki pages]]
After an applied edit, report the operation ID, exact changed path, validation performed, and anything that still requires rendering in Obsidian. Do not commit Git.
Related Skills
Agent-Reach
85.8kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
ruflo
73.4k🌊 The original agent harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, federation, vector RAG integration, and native Claude Code / Codex / Hermes and many more Integrated
Scrapling
84.1k🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
