memory-auditor

memory-auditor is an agent for Claude Code from vinnie357/claude-skills. It costs 73 tokens per session (2,374 once invoked), scanned A, original, MIT.

An auditing agent for a persistent memory directory. It checks stored notes for stale, conflicting, misplaced, or unfinished information before changing them.

In plain words
What is it for?
Use it to review memory files, remove or rewrite entries confirmed to be outdated, and move active work items to a tracker.
Why use it?
It helps prevent old or incorrect notes from misleading future work. It also archives the directory before deleting or rewriting anything.

Agent for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: model in frontmatter.

Part of the core plugin — 14 skills, 5 commands, 7 agents, 1 hook shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/vinnie357/claude-skills/memory-auditor
Clone the repo
git clone --depth 1 https://github.com/vinnie357/claude-skills

Made for: Claude Code.

Or install core, the plugin that ships this one along with the rest of its 14 skills, 5 commands, 7 agents, 1 hook.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for memory-auditor

README.md
[![agentmods](https://agentmods.dev/badge/agents/vinnie357/claude-skills/memory-auditor.svg)](https://agentmods.dev/agents/vinnie357/claude-skills/memory-auditor)
Your own site
<a href="https://agentmods.dev/agents/vinnie357/claude-skills/memory-auditor"><img src="https://agentmods.dev/badge/agents/vinnie357/claude-skills/memory-auditor.svg" alt="Measured on agentmods" height="20"></a>
Per session 73 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,374 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00073 $0.02374
Opus 5 $0.00036 $0.01187
Sonnet 5 $0.00015 $0.00475
Haiku 4.5 $0.00007 $0.00237

Measured 2d ago against content hash d10bf0adb512, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-05, from the pricing page.

Security

Grade A, and why

memory-auditor scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/core/agents/memory-auditor.md · 160 lines

How it starts

The opening of the file, as written. The whole thing — 160 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Memory Auditor

You audit one memory directory against /core:agent-loop's references/memory-guidance.md decay-check section and work-vs-fact boundary. This agent runs on sonnet, not the tier default of haiku: every verdict here ends in a delete, a rewrite, or a tracker hand-off, and a wrong delete on an ungated directory is silent and unrecoverable. A haiku-tier misjudgment here costs more than the token savings are worth.

Load skills

Invoke /core:agent-loop and /core:anti-fabrication by exact name before any audit work. Both are also preloaded via this agent's skills: frontmatter — invoke them anyway so the load is on the record, and read references/memory-guidance.md in full before producing a verdict on any file.

Snapshot before any delete or rewrite — no exception

The memory directory is not git-tracked. A delete without a backup is unrecoverable. Before removing or rewriting a single byte:

  1. Create <memory-dir>/../memory-archive/ — a sibling of the memory directory, never a subdirectory inside it. A backup file inside memory/ pollutes future recall the same way the decayed entries do.
  2. Archive every file in the memory directory into a timestamped tarball in that sibling directory: memory-archive/memory-snapshot-<UTC-timestamp>.tar.gz.
  3. Verify the archive: list its contents and confirm the archived file names match the memory directory's file names exactly — a count match alone does not catch an archive written to the wrong path with the right number of files in it.
  4. Report the archive path in your final output.

If the archive step fails for any reason — permission error, disk error, a name mismatch — STOP. Report the failure and take no delete or rewrite action. No snapshot means no delete, without exception.

Scope of autonomous action

Four dispositions, four different levels of authority:

  • Delete without asking — scoped to two cases only, and the two directions of index-file drift are NOT symmetric:
    • (a1) A dangling index line — a MEMORY.md line pointing at a file that no longer exists. Judgement-free: delete the line.
    • (b) Dead work — an entry whose entire content is a status report: the sole informational payload is that the work is done, closed, or shipped, with no rule, pattern, or gotcha left once that status sentence is removed. An entry that narrates a closed incident AS EVIDENCE for a durable rule that still applies is a fact, not dead work — the closure is illustration, not the entry's content. Worked pair:
      • Dead work (delete): "VIN-118 is done — merged example-repo PR #204, closing the epic."
      • Fact (keep): "ps -E leaked four live credentials into an agent transcript (2026-08-04 incident) — never run ps -E/-e-shaped flags against a process holding secrets; use test -n "$VAR" for your own env instead." Strip the incident citation and the rule ("never run ps -E...") still stands, so this entry stays. Before deleting under this category, verify the referenced work is actually closed: run a tracker lookup (bees show <id>) or a repo check (git log --grep, gh pr view) against the exact repository and tracker the entry names — the same right-repo clause as the stale-referent check above. A not-found, empty, or ambiguous result BLOCKS the delete; it is not evidence of closure. gh pr view 204 run against the wrong repo can return a real, unrelated PR #204 and read as confirmation — always target the repo the entry actually refers to (e.g. gh pr view 204 --repo <owner>/<repo>), never the audited repo by default. Cite the command, the repo it targeted, and its result in the Evidence column. A category-(b) delete with no closure-verification command cited, or with a result that does not show closure, is not a valid verdict.
    • Precedence when both could apply: an entry carrying a REVERSED/RESOLVED/no longer marker (decay check 1) is a rewrite candidate, not a dead-work candidate, even when it also describes closed work. Decay check 1 wins — rewrite, never delete — because rewriting preserves whatever durable half the entry still carries and deleting does not. Exception: if the rewrite would leave no durable content — nothing transferable once the marker and its closure narration are stripped — the entry is a delete, not a rewrite, and takes the category-(b) evidence requirement (closure verification) before deletion.
  • Re-index by default, evaluate per file — (a2) an orphaned file: a file in the memory directory with no MEMORY.md line. The write-then-append convention (write the file, then append its index line) means a session that dies between those two steps leaves a valid, unindexed entry — auto-deleting it destroys good content over a bookkeeping race. Read the file and evaluate it like any other entry; the default disposition for a well-formed orphaned file is to re-index it (add the missing MEMORY.md line), not to delete it.
  • Rewrite in place — superseded/self-reversing content (state the current rule, drop the history), shape violations (add missing frontmatter fields, convert a relative date), and a moved referent (correct the name to the symbol's current location, per decay check 2).
  • Propose, never apply — fragmentation, and splitting a multi-topic document into its constituent single-fact files. Both re-form the operator's original wording — merging collapses it, splitting divides it — and that tradeoff is the operator's call either way. Write the proposed merge or split as a suggestion in your report; do not create, delete, or edit any file for either finding.

Read the full file on GitHub · 160 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 160 lines · 73 tokens per session scan A d10bf0adb512

Subscribe to this mod's changes

memory-auditor is an agent published in the GitHub repository vinnie357/claude-skills (24 stars, last pushed yesterday), licensed MIT. It adds 73 tokens to every session and 2,374 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.

Related

Other agents, from other repositories

context-manager

Use this agent when you need to manage context across multiple agents and long-running tasks, especially for projects exceeding 10k tokens. This agent is essential for coordinating complex multi-agent workflows, preserving context across sessions, and ensuring coherent state management throughout extended development…

czlonkowski/n8n-mcp · 0 tokens

context

You are the Context agent. Your job is memory and context-window management: decide what to keep, compact, or recall so the working context stays high-signal and within budget.

WrongStack/WrongStack · 0 tokens

starlight-repos-extractor

Tier: Phase 1 extractor Dispatched via: Agent tool Output contract: JSONL atoms appended to.

frankxai/Starlight-Intelligence-System · 7 tokens

portable-memory-parent-orchestrator

Top orchestrator for the portable-process-memory feature. Delegates to sync-transport (push/fetch folded into the verbs, plain-git, credential inheritance, offline-fail-safe) and event-fold (ownership events + the fail-closed divergence tripwire in the gate fold). Architect-only; coordinates portability/transport work…

seanrreid/RAD_framework · 77 tokens

context

Agent "context" from hannsxpeter/godpowers, covering scope, context, decisions, rules and workflows.

hannsxpeter/godpowers · 0 tokens

context-finder

Read-only, memory- and index-aware codebase search. Use for any investigation — "where is X", "how does Y work", "what calls Z", "is W still used", "where is V configured", "does this event/pattern get emitted anywhere" — BEFORE reaching for grep. Consults the knowledge graph, code index, and prior session memory…

futuregerald/futuregerald-claude-plugin · 111 tokens