Skip to content
Back to skills

Claude Md Drift Audit

ASecurity

Audit every CLAUDE.md in this project for drift against the last week of git history. Flags sections that reference deleted files, renamed paths, or removed dependencies. Read-only — returns a punch list, never edits.

  • 422 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 7, 2026
ai-agentsgobashnodegit

Security analysis

A100/100

Scanned September 7, 2026

npx -y skills add alirezarezvani/ClaudeForge --skill claude-md-drift-audit --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Claude Md Drift Audit?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Claude Md Drift Audit
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/alirezarezvani-claude-md-drift-audit/badge)](https://www.skillsdirectory.com/skills/alirezarezvani-claude-md-drift-audit)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: claude-md-drift-audit
description: Audit every CLAUDE.md in this project for drift against the last week of git history. Flags sections that reference deleted files, renamed paths, or removed dependencies. Read-only — returns a punch list, never edits.
when_to_use: |
  Use when the user asks "is my CLAUDE.md still accurate?", "audit my docs for staleness",
  "what changed in the last week?", or as part of /sync-claude-md --weekly.
argument-hint: "[days=7]"
context: fork
agent: Explore
allowed-tools:
  - Read
  - Glob
  - Grep
  - "Bash(git log:*)"
  - "Bash(git diff:*)"
  - "Bash(git status:*)"
  - "Bash(find:*)"
disable-model-invocation: false
---

# 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.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…