AGENT SKILL

obsidian-bases

Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries. Use when working with .base files, creating database-like views of notes, or when the user mentions Bases, table views, card views, filters, or formulas in Obsidian.

License 许可
MIT
最近更新
2026-11-09
Stars
★ 15
Forks
1

01 前言 Front Matter

name
obsidian-bases
description
Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries. Use when working with .base files, creating database-like views of notes, or when the user mentions Bases, table views, card views, filters, or formulas in Obsidian.

03 SKILL.md 正文

Obsidian Bases Skill

Workflow

  1. Create the file: Create a .base file in the vault with valid YAML content
  2. Define scope: Add filters to select which notes appear (by tag, folder, property, or date)
  3. Add formulas (optional): Define computed properties in the formulas section
  4. Configure views: Add one or more views (table, cards, list, or map) with order specifying which properties to display
  5. Validate: Verify the file is valid YAML with no syntax errors. Check that all referenced properties and formulas exist.
  6. Test in Obsidian: Open the .base file in Obsidian to confirm the view renders correctly.

Schema

Base files use the .base extension and contain valid YAML.

# Global filters apply to ALL views in the base
filters:
  and: []
  or: []
  not: []

# Define formula properties that can be used across all views
formulas:
  formula_name: 'expression'

# Configure display names and settings for properties
properties:
  property_name:
    displayName: "Display Name"
  formula.formula_name:
    displayName: "Formula Display Name"

# Define one or more views
views:
  - type: table | cards | list | map
    name: "View Name"
    limit: 10
    groupBy:
      property: property_name
      direction: ASC | DESC
    filters:
      and: []
    order:
      - file.name
      - property_name
      - formula.formula_name

Filter Syntax

# Single filter
filters: 'status == "done"'

# AND - all conditions must be true
filters:
  and:
    - 'status == "done"'
    - 'priority > 3'

# OR - any condition can be true
filters:
  or:
    - 'file.hasTag("book")'
    - 'file.hasTag("article")'

Formula Syntax

formulas:
  status_icon: 'if(done, "✅", "⏳")'
  days_old: '(now() - file.ctime).days'
  days_until_due: 'if(due_date, (date(due_date) - today()).days, "")'

YAML Quoting Rules

  • Use single quotes for formulas containing double quotes: 'if(done, "Yes", "No")'
  • Use double quotes for simple strings: "My View Name"

Troubleshooting

Duration math: Subtracting dates returns a Duration, not a number. Always access .days, .hours, etc.

# CORRECT
"(now() - file.ctime).days.round(0)"

Missing null checks: Use if() to guard optional properties.

References

04 同仓库更多 Skills

JayJiangCT
JayJiangCT/knowlery

vault-conventions

Use when creating or modifying notes in a Knowlery-structured vault. Enforces frontmatter requirements, wikilinks, and naming conventions.

★ 15
JayJiangCT
JayJiangCT/knowlery

organize

Directory organization based on frontmatter metadata. Suggests and applies file moves to keep the vault structured. Use when the user wants to reorganize notes, fix directory placement, clean up the vault structure, or says anything like "organize my notes", "clean up the vault", "move files to the right folders", "tidy up", or "restructure my notes".

★ 15
JayJiangCT
JayJiangCT/knowlery

obsidian-markdown

Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax. Use when working with .md files in Obsidian, or when the user mentions wikilinks, callouts, frontmatter, tags, embeds, or Obsidian notes.

文档处理
★ 15
JayJiangCT
JayJiangCT/knowlery

obsidian-cli

Interact with Obsidian vaults using the Obsidian CLI to read, create, search, and manage notes, tasks, properties, and more. Also supports plugin and theme development with commands to reload plugins, run JavaScript, capture errors, take screenshots, and inspect the DOM. Use when the user asks to interact with their Obsidian vault, manage notes, search vault content, perform vault operations from the command line, or develop and debug Obsidian plugins and themes.

开发工程师内容创作者
★ 15
JayJiangCT
JayJiangCT/knowlery

knowlery-mcp

Work a Knowlery knowledge base through its MCP tools — choose the right tool for the job, run the capture-to-cook loop, and behave well while doing it. Use when Knowlery MCP tools (query, capture, stale, health, init_kb, register_kb, sync, list_kbs, list_bundles) are available in the session, especially in clients without a shell.

Skill与智能体开发
★ 15
JayJiangCT
JayJiangCT/knowlery

knowlery-cli

Manage a Knowlery knowledge base from the command line with the standalone knowlery CLI — initialize and sync workspaces, run health checks, query knowledge, detect stale pages, and install, export, and review knowledge bundles. Use when the user asks to operate their knowledge base headlessly (without Obsidian), share knowledge as a bundle, install a bundle someone shared, or verify the workspace after bulk changes.

★ 15