Files
ClaudeForge/skill/claude-md-drift-audit/SKILL.md
T
Claude 45767e8840 feat(skills): three forked task-style audit skills + /sync-claude-md --weekly orchestration
Three new task-style skills, each using Anthropic's context: fork + agent:
Explore so the work happens in an isolated subagent context and only a
short summary returns to the main session.

skill/claude-md-drift-audit/SKILL.md (51 lines):
  Walks the last N days of git history (default 7) and flags CLAUDE.md
  lines that reference deleted paths, renamed paths, or removed
  dependencies from that window. Returns a punch list with file:line.
  Read-only. Standalone invocation: /claude-md-drift-audit [days=7].

skill/claude-md-link-check/SKILL.md (51 lines):
  Verifies every @path chain import and every relative markdown link
  inside every CLAUDE.md resolves to an existing file. Returns broken
  links with file:line. Read-only. Standalone: /claude-md-link-check
  [path-glob].

skill/claude-md-dependency-rescan/SKILL.md (54 lines):
  Re-detects the project's tech stack from package.json /
  requirements.txt / pyproject.toml / go.mod / Cargo.toml and diffs
  against every CLAUDE.md's Tech Stack section. Returns added /
  removed / renamed per file. Read-only. Standalone:
  /claude-md-dependency-rescan [manifest-path].

command/sync-claude-md.md:
  - argument-hint and when_to_use mention --weekly.
  - New Phase 0 (only when --weekly is passed): invoke the three skills
    above in parallel via the Skill tool, aggregate findings into
    ## Weekly Audit Summary, then proceed to existing Phase 1.
  - Without --weekly, Phase 0 is skipped entirely (no behaviour change
    for normal sync runs).

.claude-plugin/plugin.json:
  skills array now lists all five entries (existing two + three new).

Verified (6/6 smoke tests):
  - Plugin manifest is valid JSON; 5 skills registered; all 8
    referenced paths resolve on disk.
  - Each new SKILL.md parses; context=fork, agent=Explore, both
    description and when_to_use present, allowed-tools is a list,
    body ≤ 60 lines.
  - Each body is imperative (numbered steps present, not reference
    material — fork-context requires explicit task instructions).
  - Sync command body contains Phase 0, all three skill references,
    parallel-invocation language, and Skill in allowed-tools.
  - Skill name in frontmatter matches the directory name for every
    new skill (so /claude-md-drift-audit etc. register correctly).
2026-05-19 02:04:00 +00:00

2.2 KiB

name, description, when_to_use, argument-hint, context, agent, allowed-tools, disable-model-invocation
name description when_to_use argument-hint context agent allowed-tools disable-model-invocation
claude-md-drift-audit 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. 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. [days=7] fork Explore
Read
Glob
Grep
Bash(git log:*)
Bash(git diff:*)
Bash(git status:*)
Bash(find:*)
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)
  1. If no drift is found, return exactly ## Drift Audit\n\nNo drift in <N>-day window. <count> files inspected.. Do not pad the output.