are-we-done
[Adam''s Skills] Deterministic close-out gate for a session or work tree. Sweeps a fixed set of sources — the todo list, this…
[Adam''s Skills] Audit Claude''s per-user memory for this project and produce a report. Asks at the start whether the user wants a non-technical summary or a full technical audit. Never edits memory — produces a report only. Usage: /memory-audit
Claude Code
$ npx -y skills add adamlinscott/claude-skills --skill memory-audit --agent claude-code
Codex
$ npx skills add adamlinscott/claude-skills --skill memory-audit -a codex -y
Cursor
$ npx skills add adamlinscott/claude-skills --skill memory-audit -a cursor -y
Gemini CLI
$ npx skills add adamlinscott/claude-skills --skill memory-audit -a gemini-cli -y
GitHub Copilot
$ npx skills add adamlinscott/claude-skills --skill memory-audit -a github-copilot -y
OpenCode
$ npx skills add adamlinscott/claude-skills --skill memory-audit -a opencode -y
Windsurf
$ npx skills add adamlinscott/claude-skills --skill memory-audit -a windsurf -y
name: memory-audit description: '[Adam''s Skills] Audit Claude''s per-user memory for this project and produce a report. Asks at the start whether the user wants a non-technical summary or a full technical audit. Never edits memory — produces a report only. Usage: /memory-audit' allowed-tools: Read, Grep, Glob, Bash, AskUserQuestion, Agent
You are running a memory audit for the user's per-user Claude memory in this project.
**Hard rule: this skill produces a report only. Do not edit, rename, move, or delete any memory file. If the user wants to act on findings, that is a separate follow-up turn after they review the report.**
This skill focuses on the internal health of the memory directory itself. For how memory interacts with the wider repo — conflicts with CLAUDE.md, rules that never reach subagent prompts, broken doc links — see `/context-audit`.
Before reading anything, call `AskUserQuestion` with:
**description:** "Plain-English overview for project management or non-engineering review. Each remembered item is described in everyday language with a clear recommendation."
**description:** "Full engineering audit: classification, stale-reference checks, orphaned files, and structural smells. For engineers maintaining the memory."
Wait for the answer before continuing. The user's choice determines the report format in Step 5.
The memory directory lives at `~/.claude/projects/<encoded-cwd>/memory/`, where the encoded form replaces drive colons and path separators with `-`.
Reliable way to find it: list `~/.claude/projects/` and pick the directory whose decoded name corresponds to the current working directory. On Windows the path will look like `C:\Users\<user>\.claude\projects\C--Users-<user>-...\memory\`.
If the directory does not exist, stop and tell the user: "No memory has been recorded for this project yet — there is nothing to audit."
memory you have not read.
For any memory entry that names a specific file path, class, function, or directory in the codebase, **read the current code to check the reference still resolves**. If a class has been renamed, a file deleted, or a path moved, treat that entry as a candidate for refresh or removal.
Do not guess. If the entry says "the `XyzService` does …", actually search the code for `XyzService`.
Hand these checks to the `scout` agent in one call (Agent tool, `subagent_type: scout`; `general-purpose` if it is not installed, and say so in a line): every path, class, function and directory the memories name, and the memory file each came from. It returns which still resolve, with `path:line`. Deciding what a missing reference means for the entry stays with you.
Write for a non-engineer reading this for project-management purposes. No jargon, no file paths, no markdown class names in backticks.
For each memory, produce a short block in this shape:
#: Memory number **Memory:** One plain-English sentence describing the rule or fact. **Why it was added:** The original reason, in everyday language. If the entry says it was added after a specific incident, say so simply ("Claude was told this after it ran a series of slow git commands the user had to approve one by one"). **Still useful?:** One of: *Yes*, *Probably*, *Maybe not*, *No longer*. Add one short sentence explaining your judgment. **Recommendation:** One of: *Keep* / *Discuss with the team* / *Remove*. ────────────────────────────────────────
After all entries, write a short overall summary covering:
covering the same situation)
End the report with this exact line on its own:
> *Want the full engineering breakdown — code verification, classification rules, and structural analysis? Run `/memory-audit` again and choose "Technical audit".*
Produce a full audit. For each memory entry, classify it as exactly one of:
`CLAUDE.md` rather than in always-on memory
For each entry include:
After the per-entry list, report:
that still resolves (verify the URL or path); a `project` entry should use absolute dates, not "last week" / "re
Each skill lives under skills//SKILL.md, and each agent under agents//.md. These are the single source of truth: an install script links them into ~/.claude/skills/ and ~/.claude/agents/ so Claude loads them in every session, on every machine.
[Adam''s Skills] Deterministic close-out gate for a session or work tree. Sweeps a fixed set of sources — the todo list, this…
[Adam''s Skills] DEPRECATED — superseded by /build-it. Do not use for new work. Surfaced the load-bearing assumptions behind a…
[Adam''s Skills] DEPRECATED — superseded by /where-are-we. Do not use for new work. Printed a plain-English re-entry briefing for…
[Adam''s Skills] Build a piece of work, from wherever it is written down — a ticket number or URL, a plan or spec file, the plan…
[Adam''s Skills] Check whether the installed copy of this skills collection is behind its remote, and offer to update it. Runs a…
[Adam''s Skills] Audits a repository''s Claude context-injection setup — CLAUDE.md, CONTEXT.md, docs/, .claude/agents/, and the…
Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…
Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…