From vault-mind
Use when the user wants their notes on objective subject matter (math, physics, CS, philosophy, etc.) checked for things that are actually wrong, e.g. "audit my MSM notes for errors", "fact-check my philosophy of mind notes", "is anything in my
How this skill is triggered — by the user, by Claude, or both
Slash command
/vault-mind:auditThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Sweep the *content* of objective-subject notes for claims that are actually **wrong**, and
Sweep the content of objective-subject notes for claims that are actually wrong, and
hand back a confidence-gated findings list. This is the passive correctness layer: feynman
and quiz only catch errors in notes you show up to engage with live; audit checks the notes
you'd never think to re-open.
Core rules:
audited stamp:
a hidden <!-- audited: YYYY-MM-DD --> HTML comment appended at the end of the note, which
you do by default (never prose); the user can opt out by saying so. It lives in a trailing
comment, not a frontmatter key, deliberately, so it stays out of Obsidian's Properties panel.claim → correction → source. No triple, no surface. "This looks
wrong" without the correct version and a citation is noise; suppress it.Read the vault profile (.vault-mind/profile.md) first if you haven't this session (paths +
frontmatter schema); run /vault-mind:init if missing. Run from the vault root and substitute
the profile's dir/key names below. The audited stamp is a trailing HTML comment, not a
frontmatter key (see step 6); the profile documents it as such.
From the user's prompt, build the list of notes to audit:
<notes_dir>. When in doubt, list the matched notes and confirm scope before spending tokens.#physics, area/ml) → notes carrying that tag (respect the profile's tag style).
rg -lN '^\s*-?\s*#?<tag>\b' <notes_dir>
fd -e md . <folder>.Pull in each target's wikilinked neighbors as context (so cross-note contradictions are visible) even though you only report on the target set itself.
Audit stamps a trailing <!-- audited: <date> --> comment (see step 6). Skip any note already
audited at or after its last edit, it hasn't changed since you last checked it. In bare/"since
last time" mode this is the selector: audit every note whose audited stamp is missing or older
than its file mtime.
# notes changed since their last audit stamp (mtime newer than the stamp, or no stamp)
for f in <notes_dir>/*.md; do
stamp=$(rg -oNPm1 'audited:\s*\K[0-9]{4}-[0-9]{2}-[0-9]{2}' "$f") # -P: \K needs PCRE2
mtime=$(date -r "$f" +%F)
{ [ -z "$stamp" ] || [ "$stamp" \< "$mtime" ]; } && echo "$f"
done
Tell the user how many notes are in scope and roughly the cost before grinding through a large set; offer to narrow. Web verification is the expensive part, so the skip matters.
For each target note: read the note and the source readings it cites (the profile's
source-readings key, e.g. resources) so you're checking against what the note was built from,
not just your own model. This is the same grounding move as /vault-mind:feynman.
Pull the note's checkable assertions (definitions, formulas, named results, attributions, causal/logical claims). Sort candidate problems into buckets, priority-ordered:
file:line · bucket · confidence · the wrong claim → the correct version → source.<!-- audited: <today> -->
If the note already has one, update its date in place rather than adding a second. Use an HTML
comment, not a frontmatter key, on purpose: it stays out of Obsidian's Properties panel and is
invisible in reading/live-preview. This is the only write. Do not edit note prose, even to
"just fix" an obvious typo in a claim; that's the user's to fix (and mechanical frontmatter
issues are /vault-mind:lint's job).npx claudepluginhub jeff7712/vault-mind --plugin vault-mindGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.
Dispatches multiple subagents concurrently for independent tasks without shared state. Use when facing 2+ unrelated failures or subsystems that can be investigated in parallel.