From shipshitdev-library
Audits and syncs AI agent configuration files (CLAUDE.md, CODEX.md, AGENTS.md, .cursorrules) across workspaces. Use when configs drift, rules duplicate, or files go stale.
How this skill is triggered — by the user, by Claude, or both
Slash command
/shipshitdev-library:agent-config-auditThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Inputs:
Inputs:
Outputs:
Creates/Modifies:
.agents/ docs, and related settingsExternal Side Effects:
Confirmation Required:
Delegates To:
rules-capture for single new preferencesagent-folder-init for missing .agents/ structuresession-documenter when audit findings should be recorded.agents/ from scratch → use agent-folder-init| Input | Required | Description |
|---|---|---|
| Workspace root | Yes | Path to the workspace containing repos (auto-detected from cwd) |
| Scope | No | full (all checks) or specific: dedup, stale, codex, cursor, settings |
| Fix mode | No | report (default, read-only) or fix (apply recommended changes) |
Scan the workspace for every agent config file:
# Find all agent config files across workspace (including sub-repos)
glob "**/CLAUDE.md"
glob "**/CODEX.md"
glob "**/AGENTS.md"
glob "**/.cursorrules"
glob "**/.cursor/rules"
glob "**/.claude/settings.json"
glob "**/.claude/settings.local.json"
glob "**/.claude/hooks.json"
glob "**/.agents/memory/*.md"
Build an inventory table:
| Layer | Files Found | Total Lines |
|-----------------|-------------|-------------|
| CLAUDE.md | N | N |
| CODEX.md | N | N |
| AGENTS.md | N | N |
| .cursorrules | N | N |
| .claude/ config | N | N |
| .agents/memory/ | N | N |
These rules commonly appear in multiple places. Search for each across ALL config files:
Rules to check:
any types / No any — should be in CLAUDE.md + hooks onlyconsole.log / logger — should be in CLAUDE.md onlyisDeleted) — should be in CRITICAL-NEVER-DO.md onlyorganization: orgId) — should be in CRITICAL-NEVER-DO.md onlyFor each rule, count occurrences:
grep "No \`any\`\|NO \`any\`\|no any types" across all config files
Healthy target: Each rule appears in max 2 files (one "teach" doc + one runtime enforcement like hooks).
Flag: Any rule appearing 3+ times across config files.
Check for stale dates and paths:
# Find files with old "Last Updated" dates (> 90 days old)
grep -r "Last Updated:" across .cursorrules, .cursor/rules
# Find hardcoded workspace paths that should be relative
grep -r "/Users/" across .agents/ config files
# Find references to directories that no longer exist
# Compare referenced paths against actual directory listing
Flag: Any file with "Last Updated" > 90 days behind current date. Flag: Any hardcoded absolute path in config files. Flag: Any reference to a directory that doesn't exist.
For each CODEX.md, check if it has:
grep -l "Codex-Specific\|sandbox\|no network\|No network" across all CODEX.md files
Flag: Any CODEX.md without Codex-specific guidance.
For each AGENTS.md:
.agents/ paths that actually existFlag: Any AGENTS.md that's a pure generic stub (< 20 lines with no repo-specific content).
For .cursorrules and .cursor/rules:
For .claude/settings.json and .claude/settings.local.json:
Output format:
# Agent Config Audit Report
**Date:** YYYY-MM-DD
**Workspace:** [path]
**Files Scanned:** N
## Summary
- Critical issues: N
- Moderate issues: N
- Minor issues: N
- Total config lines: N (target: reduce by dedup)
## Critical: Rule Duplication
| Rule | Occurrences | Files | Target |
|------|-------------|-------|--------|
| "No any types" | 6 | [list] | 2 |
## Critical: Stale Files
| File | Last Updated | Days Stale |
|------|-------------|------------|
## Moderate: Low-Value CODEX.md
| File | Lines | Has Codex Constraints | Has Entry Points |
|------|-------|----------------------|------------------|
## Moderate: Stub AGENTS.md
| File | Lines | Has Repo Context |
|------|-------|------------------|
## Minor: Emoji in Config
| File | Emoji Count |
|------|-------------|
## Recommendations
1. [Specific actionable fix]
2. [Specific actionable fix]
If user requested fix mode, apply changes following these principles:
references/canonical-ownership.md — Which rule belongs in which filereferences/healthy-config-example.md — Example of a well-structured config set| DON'T | DO | Why |
|---|---|---|
| Repeat the same rule in CLAUDE.md, RULES.md, CRITICAL-NEVER-DO.md, and hooks | Put the rule in ONE canonical file; others reference it | Duplication wastes context tokens and creates drift when one copy gets updated but others don't |
| Leave "Last Updated: 2025-10-07" in a file touched in 2026 | Update dates when modifying any config file | Stale dates signal neglect and erode trust in the config system |
| Write CODEX.md that just says "read CLAUDE.md" | Add Codex-specific constraints (sandbox, no network) and key entry points | Codex runs sandboxed — it needs different guidance than Claude Code |
| Use emoji in config headers | Use plain text headers | Emoji waste tokens on every context load and violate "no emoji unless requested" |
Hardcode /Users/username/path/ in config files | Use relative paths or describe location generically | Hardcoded paths break when workspace moves or another developer joins |
| Add new rules to CRITICAL-NEVER-DO.md that are positive standards | Keep CRITICAL-NEVER-DO.md for violations only; positive standards go in CLAUDE.md or RULES.md | Mixing positive and negative rules in the same file dilutes the "NEVER DO" signal |
After running the audit:
.cursorrules files have "Last Updated" within 90 days.cursorrules or .cursor/rules headers.agents/ structure from scratchnpx claudepluginhub shipshitdev/skillsRoutes gstack requests to the correct skill (planning, review, QA, shipping, debugging, docs, security, design). Invokes when user types /gstack or asks which skill to use.
Provides UI/UX design intelligence with 50+ styles, 161 color palettes, 57 font pairings, 99 UX guidelines, and 25 chart types across 10 stacks. Use for designing pages, components, or reviewing visual quality.