bases

v2026.09.24

Obsidian Bases (database-over-notes): list base files/views, create items, run view queries with json/csv/tsv/md output. Use when user mentions Bases or .base files.

GitHub
安装命令
npx skhub add laurigates/bases
Markdown
SKILL.md

Obsidian Bases

When to Use This Skill

Use this skill when...Use the alternative instead when...
Querying notes that share a Base view (status board, reading list, project tracker)Doing a free-text search across the vault — use search-discovery
Creating a new entry that should land in a specific Base viewCreating an arbitrary note — use vault-files
Listing what .base files and views exist in the vaultReading frontmatter on a single note — use properties

Bases turn note collections into queryable views with frontmatter-driven filters and columns. The CLI exposes those views as structured data — JSON for the agent, CSV/TSV for piping, markdown for rendering.

Prerequisites

  • Obsidian desktop 1.12.7+ installer with CLI enabled
  • Obsidian must be running
  • At least one .base file in the vault

List Bases and Views

# List all .base files in the vault
obsidian bases

# List the views defined in a base (default: active base)
obsidian base:views file=Reading
obsidian base:views path="Bases/Reading.base"

Query a View

base:query runs a view and returns rows. Default format is JSON, which is the right choice for agentic consumption.

# Query the active view of the active base
obsidian base:query

# Specific base + view, JSON for parsing
obsidian base:query file=Reading view="To read" format=json

# Markdown table for human consumption
obsidian base:query file=Reading view="To read" format=md

# Just the matching note paths (one per line, useful with xargs)
obsidian base:query file=Projects view=Active format=paths

# CSV for spreadsheet workflows
obsidian base:query file=Tasks view=Open format=csv

The format=paths mode is the agentic-friendly equivalent of a vault search that already understands base filters — pipe the output into obsidian read or any file-level skill.

Create an Entry in a Base

Create a new note that automatically lands in a base view (the base's filter must match the new note's frontmatter for it to actually appear):

# Add to the active base view
obsidian base:create name="Untitled Book"

# Specific base + view, with starting content
obsidian base:create file=Reading view="To read" name="The Mythical Man-Month" content="# The Mythical Man-Month\n\n"

# Open the new note in a new tab after creating
obsidian base:create file=Reading view="To read" name="New entry" newtab open

Common Patterns

"Find every active project and append a status update"

obsidian base:query file=Projects view=Active format=paths \
  | while read -r path; do
      obsidian append path="$path" content="\n## $(date +%F) update\n- "
    done

"Show me a markdown table of incomplete reading"

obsidian base:query file=Reading view="To read" format=md

"Bulk-create entries from a CSV"

Read each row, then call base:create per row with the desired name= and content=. Avoid embedding shell operators inside the CLI invocation — build values in shell variables first, then pass them.

Agentic Optimizations

ContextCommand
List .base filesobsidian bases
List views in a baseobsidian base:views file=X
Query a view as JSONobsidian base:query file=X view=Y format=json
Get matching paths onlyobsidian base:query file=X view=Y format=paths
Markdown table for humansobsidian base:query file=X view=Y format=md
Create entry in a viewobsidian base:create file=X view=Y name="…"

Related Skills

  • vault-files — Read/write notes returned by a base query
  • properties — Edit frontmatter that drives base filters
  • search-discovery — Free-text and tag search when no base exists
发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

2026年9月24日

分类

未分类

许可证

MIT

源路径

obsidian-plugin/skills/bases

默认分支

main

最新提交

1668324

Tree SHA

b2d4cc3