2026-06-24 Proactive Vault Capture Directive
What I set out to do
Started as a /session-analysis question: how do I actually use Obsidian tools and skills across my Claude Code sessions, so I could codify recurring directives instead of repeating them. Turned into adding a standing instruction that makes the agent use the vault proactively.
What I actually did
- Measured the usage. Across 659 sessions: ~1,380 Obsidian tool calls in 90 sessions (14%), peaking in the March–April vault build-out (430 then 705 calls/mo) and settling to ~120/mo since.
search_notesis the most widespread tool (62 sessions),write_notethe most widespread write (70),patch_notethe heaviest and only meaningfully-erroring one (298 calls, ~7% errors, mostly People-note string-match misses). - Found the real answer to the original question. All ~12 conventions a content-mining subagent extracted (routing, append-don’t-duplicate, tags 0–3, citations, status frontmatter, MCP-only) are already codified in the
knowledge-managementskill, and the skill loads in 527/567 recent vault messages. The directive density I remembered was me defining the system in March–April, not correcting it. So: nothing to add for conventions. - Reframed to the actual gap. The missing piece wasn’t the how (conventions) but the when (proactive triggers): consult the vault for context before deciding, and capture meaningful work after. That can’t live in the skill, because the trigger fires in code repos where the skill never loads.
- Designed and shipped it. Added a
# Knowledge Capture (Obsidian vault)section tonix/home-manager/modules/coding-agents/common/context/AGENTS.md(thehome.mutableFilesource for~/.claude/CLAUDE.md). Consult half (people/project/decisions) + capture half (journal auto, project/people notes confirm-on-first-create then auto-update, link everything). Applied viahm switch, committed asff64317.
What was striking
- The system was already built; I’d just never told it to act on its own. The honest finding inverted the request: I came in to write down conventions and left having written down initiative. The conventions were never the bottleneck.
- Global is the only home that works. Tempting to put vault rules in the vault skill, but “a meaningful piece of work” happens in code repos, and skills only load on vault intent. A cross-cutting behavior needs cross-cutting placement, even at the cost of tokens in every session.
- The chosen design has a known hole. Standing-instruction-only (no Stop hook) means journaling fires at work-completion by judgment, not at session end. If a session just goes quiet, the entry can be missed. The mitigation is a line in the directive; the real fix, if it bites, is a thin Stop hook.
- This entry is the first dogfood of the new directive: meaningful work (a global-behavior change), so it gets captured.
Related
- 2026-06-24 Remote MCP Migration Complete — same-day, the vault plumbing this capture workflow now rides on