tzurot-doc-audit
Reviews docs and Claude's memory to ensure everything is current and correctly categorized.
Install
mkdir -p .claude/skills/tzurot-doc-audit && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/12014" && unzip -o skill.zip -d .claude/skills/tzurot-doc-audit && rm skill.zipInstalls to .claude/skills/tzurot-doc-audit
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Documentation and auto-memory freshness audit. Invoke with /tzurot-doc-audit to review docs and Claude auto-memory for staleness, items in the wrong layer, and missing-tool drift.Key capabilities
- →Audit auto-memory for staleness and incorrect placement
- →Identify memory files that should migrate to rules, docs, or skills
- →Verify documentation freshness across the project
- →Check for broken internal references in documentation
- →Perform cross-reference checks between docs and code
How it works
This skill provides a checklist to audit documentation and auto-memory for staleness, incorrect layering, and missing-tool drift. It guides the user to classify memory files and verify various documentation aspects against project standards.
Inputs & outputs
When to use tzurot-doc-audit
- →Audit documentation freshness
- →Review auto-memory entries
- →Verify structural integrity of docs
About this skill
Documentation Audit Procedure
Invoke with /tzurot-doc-audit to audit documentation freshness across the project.
Run this periodically (e.g., after adding new tools, after major refactors) to ensure docs stay accurate.
Standards live in .claude/rules/07-documentation.md. This skill is the verification procedure.
Quick Scan
Fast triage before a full audit:
# What docs exist?
find docs/ -name '*.md' | sort
# What auto-memory entries exist? (Section 0 covers these — skip if
# this returns "No such file or directory" on a fresh install)
ls ~/.claude/projects/*tzurot*/memory/
# Recent changes (last 30 days)?
git log --since="30 days ago" --name-only --pretty=format: -- docs/ .claude/rules/ .claude/skills/ | sort -u | grep .
# Proposals that might be stale? (project uses backlog/ — no active/ dir by design)
ls docs/proposals/backlog/
# Orphan proposals (structural check — fails CI on any unlinked proposal)
pnpm ops guard:proposal-links
# Skills lastUpdated dates
grep -r 'lastUpdated' .claude/skills/*/SKILL.md
Audit Checklist
Work through each section. For each item, verify accuracy and fix inline or note for follow-up.
Section 0 runs FIRST because memory entries that migrate to other layers (rules, docs, skills) will affect those sections' audits later.
0. Auto-Memory Audit (run FIRST)
Claude's auto-memory in ~/.claude/projects/*tzurot*/memory/ accumulates per-session knowledge that may belong in more durable, team-visible layers. Each memory file is catalogued in ~/.claude/projects/*tzurot*/memory/MEMORY.md (the index Claude reads at session start). Audit all entries before moving on — items that migrate to rules/docs/skills affect those layers' audits in later sections.
# Skip this section if the memory directory doesn't exist (fresh install,
# different machine) — there's nothing to audit. The 2>/dev/null + ||
# fallback turns the bash glob-expansion error into a friendly skip
# signal so a copy-paster sees clean output.
ls ~/.claude/projects/*tzurot*/memory/ 2>/dev/null \
|| echo "(no memory directory found — skip Section 0)"
# If the glob silently expands to nothing (different checkout path),
# find the project directory manually:
ls ~/.claude/projects/ 2>/dev/null | grep -i tzurot \
|| echo "(no tzurot project directory found in ~/.claude/projects/)"
How to classify each memory file
Read each file and pick the matching trigger first — these are the heuristics for choosing a verdict in the table below:
- Memory content already exists verbatim in a rule/doc/skill → Delete (no migration needed; this is the steady-state outcome — once the initial backlog is cleared, most future audits hit this case)
- Memory references a constraint that's now enforced by a rule → Delete (it's redundant)
- Memory describes a multi-step procedure → Migrate to
.claude/skills/(skill candidate) - Memory captures a one-time investigation finding → Migrate to
docs/research/if distilled to TL;DR, or Delete if used and outdated - Memory describes "always do X for this project" → Migrate to
.claude/rules/(rule candidate) - Memory describes "this user prefers X" or time-bound state → Keep in memory (per-user context, not generalizable)
Verdict table
| Verdict | Action | When |
|---|---|---|
| Keep in memory | No action | Per-user context (e.g., user's recovery period), working-preference feedback that doesn't generalize to "always do X," time-bound project state (e.g., a deadline), or anything that's volatile or specific to one person's view of the project |
Migrate to .claude/rules/ | Verify the target rule already covers, or will cover, the full intent — including any edge cases the memory captures. Then: add content to the rule file, delete the memory file, update MEMORY.md index | Constraint that should apply to every session and every developer ("the rule"). Driving example: feedback_out_of_scope_tracking.md → 06-backlog.md (Session 1) |
Migrate to docs/reference/ | Verify the target doc captures the full intent — nuance, examples, exceptions. Then: create or extend the reference doc, delete the memory file, update MEMORY.md index | Persistent technical reference (architecture decision, runbook, design rationale) |
Migrate to .claude/skills/ | Verify the target skill captures the full intent. Then: create or extend the skill, delete the memory file, update MEMORY.md index | Procedural knowledge ("how to do X") that should be invocable as a procedure |
| Delete | Remove the memory file, remove from MEMORY.md index | Stale, no longer relevant, redundant with content already captured elsewhere, or describes a one-time investigation that's been resolved |
The "verify target covers full intent" step in the three migrate verdicts is load-bearing: a memory entry often has nuance (a specific exception, a concrete failure case) that the destination file doesn't yet cover. If you delete the memory before the destination has the nuance, the nuance is gone. Either extend the destination first, or downgrade the verdict to Keep until the destination is updated.
After processing each file, the order matters — for migrate verdicts especially, do these steps in sequence:
- Write to the destination layer first (rule, doc, or skill — verifying it captures the full intent of the memory entry)
- Delete the memory file
- Update
MEMORY.md(the index) to remove deleted entries and revise descriptions for any that changed
Doing them out of order risks orphaning the memory's nuance: if you delete the memory file before the destination has the content, the nuance is gone (the verdict table's bold "Verify the target..." callouts above guard against this).
Auto-memory audit runs as part of the recurring /tzurot-doc-audit cycle — there is no separate backlog item to track. If this section grows expensive enough to warrant its own cadence (e.g., audited weekly, while docs are quarterly), split it out then.
1. docs/README.md Index
- Files listed under "Backlog proposals" are a representative subset of
docs/proposals/backlog/ - Quick Links point to files that exist
- Reference subdirectory table matches actual subdirectories
- Root-level documentation section references correct filenames
Note: this project uses
BACKLOG.md(root load manifest) +backlog/(HOTnow.md/active-epic.md+ COLDcold/) for active work tracking, notdocs/proposals/active/— that directory does not exist by design. If you see references to it in any doc, they're stale and should be removed.
2. Rules Files (.claude/rules/)
| File | Check |
|---|---|
00-critical.md | Security rules still reflect current patterns? Post-mortem table current? |
01-architecture.md | Service boundaries match dependency-cruiser rules? Anti-patterns table current? |
02-code-standards.md | ESLint limits match eslint.config.js? Testing patterns current? |
03-database.md | Cache implementations table accurate? Protected indexes list current? |
04-discord.md | Shared utilities table lists all browse/dashboard helpers? |
Content truncated.
When not to use it
- →When the user does not want to audit documentation freshness
- →When the user does not want to review auto-memory entries
- →When the user does not want to verify structural integrity of docs
Limitations
- →Requires manual verification of accuracy for each item
- →Requires manual fixing of issues found inline
- →Requires updating `lastUpdated` on modified skill files
How it compares
This skill offers a systematic audit procedure for documentation and auto-memory, ensuring accuracy and proper placement of information, which is more thorough than an ad-hoc review.
Compared to similar skills
tzurot-doc-audit side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| tzurot-doc-audit (this skill) | 0 | 1mo | Review | Advanced |
| meeting-minutes | 41 | 6mo | No flags | Beginner |
| super-save | 1 | 2mo | Review | Beginner |
| k-docs | 0 | 7mo | No flags | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
meeting-minutes
github
Generate concise, actionable meeting minutes for internal meetings. Includes metadata, attendees, agenda, decisions, action items (owner + due date), and follow-up steps.
super-save
supermemoryai
Save important project knowledge to memory. Use when user wants to preserve architectural decisions, significant bug fixes, design patterns, or important implementation details for team reference.
k-docs
Falkicon
>
Outline Open Source Team Knowledge Base and Wiki Platform
agentskillexchange
Outline is a fast, collaborative knowledge base for teams built with React and Node.js. It provides real-time editing, Markdown support, and a rich API for integration with Slack, authentication providers, and custom workflows.
note
V1CeVersaa
>-
handoff
rakovi4
Write a journey summary capturing noteworthy moments (predictions, decisions, surprises, mistakes, quirks). Runs automatically the moment the agent observes something worth noting during work, and manually before /clear or /compact as a final sweep. Idempotent — skips entries already recorded. Use w