Skip to main content
ClaudeWave
Skill388 repo starsupdated 25d ago

claude-md-drift-audit

The claude-md-drift-audit skill scans all CLAUDE.md and rules files in a project against recent git history to identify outdated references to deleted files, renamed paths, or removed dependencies. Use this read-only audit when maintaining documentation accuracy across active codebases, flagging stale references without making automatic corrections.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/alirezarezvani/ClaudeForge /tmp/claude-md-drift-audit && cp -r /tmp/claude-md-drift-audit/skill/claude-md-drift-audit ~/.claude/skills/claude-md-drift-audit
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# CLAUDE.md Drift Audit (forked, read-only)

Days window: `$ARGUMENTS` (default `7` if empty).

Perform these steps in order, then return a single punch-list summary. Do not modify any file.

1. **Inventory** every `CLAUDE.md` and `*.claude/rules/*.md` in the tree using `find . -name "CLAUDE.md" -type f -not -path "*/.git/*" -not -path "*/node_modules/*"`. List paths and line counts.
2. **Collect change signal** for the window:
   - `git log --since="$ARGUMENTS days ago" --name-status --no-merges --diff-filter=DR` → deleted and renamed paths.
   - `git diff "@{$ARGUMENTS days ago}" --name-status -- package.json requirements.txt pyproject.toml go.mod Cargo.toml 2>/dev/null` → manifest deltas (removed/added deps).
3. **Cross-reference** each CLAUDE.md against those signals using `grep` / `Read`:
   - Mark any line that names a deleted or renamed path.
   - Mark any line in a Tech Stack / Dependencies section that names a removed dep.
   - Mark any `@path/...` chain import or markdown link whose target was deleted.
4. **Return** the punch list in this exact shape (markdown), nothing else:

```
## Drift Audit (window: <N> days)

Total CLAUDE.md inspected: <count>
Signals examined: <deleted_paths>, <renamed_paths>, <removed_deps>

### Findings
- <path>:<line> — <one-sentence reason> — suggested action
- ... (one bullet per drift; omit section if empty)

### Clean
- <path> (lines unchanged, references valid)
```

5. If no drift is found, return exactly `## Drift Audit\n\nNo drift in <N>-day window. <count> files inspected.`. Do not pad the output.