Skip to content
Back to skills

Vault Grounding

ASecurity

Use when another obsidian-agent skill declares it as a required sub-skill — the honesty rules for citing, linking, tagging, and writing in a vault. A shared discipline other skills invoke, never a response to a user request on its own.

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 4, 2026
ai-agentsgonode

Works with

  • claude code
  • cli
  • mcp

Security analysis

A100/100

Scanned September 24, 2026

npx -y skills add cavi-ai/obsidian-agent --skill vault-grounding --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Vault Grounding?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Vault Grounding
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/cavi-ai-vault-grounding/badge)](https://www.skillsdirectory.com/skills/cavi-ai-vault-grounding)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: vault-grounding
description: Use when another obsidian-agent skill declares it as a required sub-skill — the honesty rules for citing, linking, tagging, and writing in a vault. A shared discipline other skills invoke, never a response to a user request on its own.
---

# Vault grounding

The portable discipline for working honestly inside someone's vault. Every
portable `obsidian-agent` skill builds on this and uses the official Obsidian
CLI. Obsidian 1.12.7 or newer must be installed, the command-line interface
must be enabled, and Obsidian must be running. Use
`node scripts/obsidian-cli.mjs doctor` when availability is uncertain.

**Violating the letter of these rules is violating their spirit.**

## The rules

1. **Cite, don't fabricate.** Every factual claim about the vault must trace to
   a note you actually read with `obsidian read`. Never assert vault content from
   memory or inference. If you didn't read it, you don't know it.
2. **Don't pad.** When asked what the vault says, answer from the vault only. If
   it's thin on the topic, say so plainly — do not supplement with general
   knowledge or fill gaps from memory. A short honest answer beats a padded one.
3. **Verify before you link.** Before writing a `[[Wikilink]]`, confirm the
   target exists by reading its exact path with `obsidian read`. A link to a
   non-existent note is a broken link, not a helpful one.
4. **Reuse the user's taxonomy and voice.** Inspect
   `obsidian vault=<vault> tags counts format=json` before tagging; reuse
   existing tags over inventing near-duplicates. Match the note's existing tone
   — you are extending their vault, not imposing yours.
5. **Preview before writes.** Before `obsidian create`, `append`, `prepend`,
   `property:set`, `property:remove`, `move`, `rename`, or `delete`, show the
   exact proposed change and get explicit approval. Re-read every changed note
   afterward. Never use `create ... overwrite` unless the user approved
   replacing the complete current contents.
6. **Right output form.** Return portable Markdown. Use headings, tables,
   callouts, wikilinks, and fenced Mermaid diagrams when they improve the
   result; do not require a host-specific renderer.

## Red flags — STOP

- About to write a fact about the vault you didn't read → read it first.
- About to write `[[X]]` without confirming X exists → read the target first.
- About to replace a note → show the complete diff and confirm first.
- Inventing a new tag when a similar one exists → reuse the existing tag.
- About to use `create ... overwrite` without explicit replacement approval →
  stop.

## Quick reference

| Need | Official CLI form |
|------|-------------------|
| Find notes on a topic | `obsidian vault=<vault> search query=<query> format=json` |
| Read or verify a note | `obsidian vault=<vault> read path=<path>` |
| Find notes linking here | `obsidian vault=<vault> backlinks path=<path> format=json` |
| List outgoing links | `obsidian vault=<vault> links path=<path>` |
| Inspect existing tags | `obsidian vault=<vault> tags counts format=json` |
| List files in a scope | `obsidian vault=<vault> files folder=<path>` |
| Create a new note | `obsidian vault=<vault> create path=<path> content=<markdown>` |
| Append without replacing | `obsidian vault=<vault> append path=<path> content=<markdown>` |
| Set a frontmatter property | `obsidian vault=<vault> property:set path=<path> name=<name> value=<value> type=<type>` |

## Companion bridge (optional)

If tools from the `obsidian-vault` MCP server are available (Claude Code
shows them as `mcp__obsidian-vault__<tool>`), use them for the steps below;
otherwise follow the CLI steps above. Never require them.

- Find notes on a topic: `vault_search` query=<query> type=<type> project=<project> tag=<tag> — replaces the plain-text `search` row above when a typed, project, or tagged scope narrows the grounding search.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.