From skills
Compares stated intentions against actual vault behavior over the past 30 days, surfacing gaps and avoidance. Useful for Obsidian users wanting to align actions with priorities.
How this skill is triggered — by the user, by Claude, or both
Slash command
/skills:spot-driftThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Compare stated intentions against actual vault behavior over the past 30 days. Surface the gap
Compare stated intentions against actual vault behavior over the past 30 days. Surface the gap between what you say matters and where energy actually goes. Find what's being avoided.
Shared principle (canonical version in the vault skill): never guess, deduce, or fill gaps with
assumptions about the user's notes, priorities, or intent. If you don't know — a date range, what
counts as a win, which goals are active — ask. Before writing any synthesis or judgment into a
note, show your draft with its source and get explicit confirmation. Missing data is not permission
to invent.
Use Obsidian CLI via Bash. On failure: "Obsidian CLI isn't working — update Obsidian with CLI enabled."
obsidian files folder="2 - Areas/Goals/Quarterly/" format=json
obsidian files folder="2 - Areas/Goals/Monthly/" format=json
# Read the most recent quarterly and monthly goal notes
obsidian base:query path="2 - Areas/Goals/OKR Dashboard.base" format=json
Extract: stated priorities, self-commitments, items marked important/urgent, open questions flagged for investigation, projects in active/current status.
TODAY="2 - Areas/Daily Ops/$(date +%Y)/$(date +%Y-%m-%d).md" # then read backwards
obsidian read path="2 - Areas/Daily Ops/YYYY/YYYY-MM-DD.md"
obsidian property:read path="2 - Areas/Daily Ops/YYYY/YYYY-MM-DD.md" name="energy_sleep"
Look for: "I need to..." / "I should..." / "I want to..." statements, carry-forward items from reflections, recurring themes that keep appearing, things flagged as tomorrow's priority that never get done.
obsidian search:context query="<stated priority A>" format=json limit=10
obsidian search:context query="<stated priority B>" format=json limit=10
obsidian backlinks file="<priority project note>" counts
For each stated priority: measure how much vault activity it generated. Which projects have recent activity? Which are stale?
obsidian files folder="1 - Projects/" format=json
obsidian base:query path="MOCs/Active Projects.base" format=json
obsidian property:read path="1 - Projects/<project>.md" name="status"
For each stated priority, rate intention vs. action:
| Priority | Stated Importance | Actual Activity | Alignment | Drift |
|---|---|---|---|---|
| ... | High | Low | 3/10 | Significant |
Things consuming time not in any priority list. Where is energy leaking?
The uncomfortable list. For each avoided item:
Avoidance Decision Tree — run for each avoided item:
Tasks or intentions that appear, get pushed, reappear, get pushed again. For each: how many cycles? What breaks the loop?
Direct, compassionate summary — not judgmental, just clear. "Here's what you said mattered. Here's what you actually did. Here's where they don't match."
Important: Daily notes capture reflection, not everything done. When vault data is absent, use
AskUserQuestion to verify before concluding avoidance.
For each significant drift, exactly one of:
npx claudepluginhub kriscard/skillsProvides foundational Obsidian vault context including path, CLI commands, and PARA rules. Loads automatically when the user references their vault, notes, or personal knowledge system.
Local dashboard for Obsidian vault analytics: temporal insights, contextual suggestions via FSRS ranking, anomaly detection, and GitHub-style heatmap. 100% offline, privacy-first, anti-vigilante design.
Generates weekly and monthly insight reports from journal entries, including pattern recognition, floor trends, life coach feedback, therapist observations, and advisory panel thoughts.