Skip to main content

bases

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.

ソース情報

リポジトリ
laurigates/claude-plugins
ソースの最終更新活動
2026年9月22日 18:06
検出された SKILL.md の言語
英語
スター
60
フォーク
6

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
created
2026-04-30T00:00:00.000Z
modified
2026-09-22T00:00:00.000Z
reviewed
2026-09-22T00:00:00.000Z
name
bases
description
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.
user-invocable
false
allowed-tools
Bash(obsidian *), Read, Grep, Glob
# 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 view | Creating an arbitrary note — use `vault-files` | | Listing what `.base` files and views exist in the vault | Reading frontmatter on a single note — use `properties` | [Bases](https://help.obsidian.md/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 ```bash # 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. ```bash # 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): ```bash # 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" ```bash 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" ```bash 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 | Context | Command | |---------|---------| | List `.base` files | `obsidian bases` | | List views in a base | `obsidian base:views file=X` | | Query a view as JSON | `obsidian base:query file=X view=Y format=json` | | Get matching paths only | `obsidian base:query file=X view=Y format=paths` | | Markdown table for humans | `obsidian base:query file=X view=Y format=md` | | Create entry in a view | `obsidian 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
GitHubで見る