obsidian-plugin/skills/bases/SKILL.md
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.
npx skillsauth add laurigates/claude-plugins basesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
| 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 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.
.base file in the vault# 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"
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 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
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
obsidian base:query file=Reading view="To read" format=md
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.
| 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="…" |
tools
Scaffold a new ComfyUI custom-node repo (pyproject, CI, release-please, vitest+pytest, JS extension skeleton) in the picker/gesture vein. Use when bootstrapping or init-ing a comfyui node pack.
tools
Orchestrate a ComfyUI node pack from idea to registry: scaffold, create + seed the repo, open the gitops adoption PR. Use when releasing or spinning up a new comfyui node pack.
testing
macOS EndpointSecurity/EDR high CPU & battery drain. Use when Kandji ESF / XProtect pegs a core; trace the exec storm via powermetrics + eslogger.
development
odiff pixel-by-pixel image diffing. Use when comparing screenshots, detecting visual regressions, diffing before/after PNGs, asserting golden images.