Skip to main content

agent-config-audit

Audits agent instruction files (AGENTS.md, CLAUDE.md, hooks, settings) across workspaces, report-only. Use when configs drift, rules duplicate, or files go stale.

معلومات المصدر

المستودع
shipshitdev/skills
آخر نشاط في المصدر
٥ أكتوبر ٢٠٢٦ في ١٧:٢١
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٣٧
التفرعات
٣

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

مستكشف الملفات
4 ملفات

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
agent-config-audit
description
Audits agent instruction files (AGENTS.md, CLAUDE.md, hooks, settings) across workspaces, report-only. Use when configs drift, rules duplicate, or files go stale.
metadata
{"version":"2.2.2","tags":"audit, claude-md, agents-md, config, documentation, maintenance"}
when_to_use
stale cursorrules, sync agent configs
# Agent Config Audit ## Authorized Scope Act only within the user's request and existing approval; loading this skill grants no new authority. Keep report-only requests report-only, honor the caller's target, host, provider, and cost limits, ask before expanding scope, and forward these limits to delegates. ## Contract Inputs: - Workspace root - Scope: full, dedup, stale, instructions, cursor, settings, or fix - Optional list of repos/config files to include Outputs: - Audit report with critical/moderate/minor findings - Proposed fix plan - Applied changes only when fix mode is explicit Creates/Modifies: - Report mode: no file changes - Fix mode: agent config files, `.agents/` docs, and related settings, but only after an explicit fix request and confirmation of the exact plan External Side Effects: - None by default - Does not push, publish, or call external APIs Confirmation Required: - Before entering fix mode or using any mutating file/shell operation; an audit or sync request alone authorizes report mode only - Before overwriting existing agent configs - Before deleting or consolidating duplicated rules Delegates To: - `rules-capture` for single new preferences - `agent-folder-init` for missing `.agents/` structure ## When to Use - User mentions: "audit CLAUDE.md", "agent config", "rules out of date", "config drift", "sync docs" - After restructuring repos, adding/removing projects, or changing conventions - Periodic maintenance (monthly recommended) - When agents keep making the same mistake despite rules existing (symptom of stale or contradictory config) - After a major refactor where file paths, package names, or architecture changed ## When NOT to Use - For application defects, recommend `debug`; for refactoring, recommend `/refactor`. - If capturing a single new rule from conversation → use **rules-capture** - If auditing code quality rather than agent configuration → use `audit` - If setting up or repairing formatter/linter config → use `linter-formatter-init` - If scaffolding `.agents/` from scratch → use **agent-folder-init** ## Inputs | 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`, `instructions`, `cursor`, `settings` | | Fix mode | No | `report` (default, read-only) or `fix` (apply recommended changes) | ## Workflow ### Step 1: Inventory — Discover All Config Files Scan the workspace for every agent config file: ```bash # Find all agent config files across workspace (including sub-repos) glob "**/CLAUDE.md" glob "**/AGENTS.override.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 | | AGENTS.override.md | N | N | | AGENTS.md | N | N | | Configured fallbacks | N | N | | .cursorrules | N | N | | .claude/ config | N | N | | .agents/memory/ | N | N | ``` ### Step 2: Dedup Check — Find Duplicated Rules These rules commonly appear in multiple places. Search for each across ALL config files: **Rules to check:** - `any` types / `No any` — should be in AGENTS.md + hooks only - `console.log` / logger — should be in AGENTS.md only - Conventional commits — should be in AGENTS.md only - AbortController — should be in AGENTS.md or a linked `.agents/memory/` topic only - Session file naming — should be in hooks.json + one doc reference only - Import order — should be in AGENTS.md or `.agents/memory/coding-standards.md` only - Soft delete (`isDeleted`) — should be in `.agents/memory/data-guardrails.md` only - Multi-tenancy (`organization: orgId`) — should be in `.agents/memory/security.md` only For 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. ### Step 3: Staleness Check — Find Outdated Files Check for stale dates and paths: ```bash # 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. ### Step 4: Codex Instruction Resolution Check For each workspace, check the instruction chain Codex actually resolves: - [ ] Each directory resolves at most one nonempty instruction file in this order: `AGENTS.override.md`, `AGENTS.md`, then configured fallback filenames - [ ] The instruction chain is read from the project root down to the working directory - [ ] `AGENTS.override.md` is used only where a subtree intentionally replaces the same-directory `AGENTS.md` - [ ] `AGENTS.md` contains repo-specific rules and entry points - [ ] Any fallback filenames are explicitly declared in the effective `.codex/config.toml` - [ ] Runtime approval, sandbox, and network policy lives in the effective `.codex/config.toml` or hooks, not in assumed prose - [ ] No `.codex/instructions.md` file or `.codex/commands` directory is presented as a supported Codex entry surface Read the effective Codex configuration and record `project_doc_fallback_filenames` plus any runtime policy before judging the instruction chain. **Flag**: Undocumented fallback files, accidental overrides, instruction files that contradict runtime configuration, or unsupported `.codex/instructions.md` and `.codex/commands` surfaces. ### Step 5: AGENTS.md Consistency Check For each AGENTS.md: - [ ] Has repo-specific context (not just generic "docs in .agents/") - [ ] Links to correct `.agents/` paths that actually exist - [ ] Consistent structure across repos **Flag**: Any AGENTS.md that's a pure generic stub (< 20 lines with no repo-specific content). ### Step 6: Cursor Config Check For `.cursorrules` and `.cursor/rules`: - [ ] No emoji in headers (wastes tokens) - [ ] "Last Updated" within 90 days - [ ] Project paths reference actual directories - [ ] No duplicated session file rules (hooks.json handles this) ### Step 7: Settings Audit For `.claude/settings.json` and `.claude/settings.local.json`: - [ ] Denied skills have documented rationale (in SETTINGS-NOTES.md or equivalent) - [ ] Local bash overrides don't contradict documented standards without explanation - [ ] No stale tool references ### Step 8: Generate Report Output format: ```markdown # 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: Instruction Resolution Drift | Workspace | Override | AGENTS.md | Configured Fallbacks | Runtime Policy Location | |-----------|----------|-----------|----------------------|-------------------------| ## 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] ``` ### Step 9: Apply Fixes (if fix mode) Never infer fix mode from the audit findings or from a request to "sync" configs. Enter fix mode only when the user explicitly requests mutation, show the exact files and operations, and obtain confirmation before using write/edit or mutating shell behavior. Then apply changes following these principles: - Each rule lives in ONE canonical location - Hooks enforce at runtime — docs teach, not repeat - Strip emoji from all config files - Update all "Last Updated" dates - Replace hardcoded paths with relative references - Consolidate project instructions into AGENTS.md and scoped AGENTS.override.md files - Move runtime approval, sandbox, and network policy into the effective `.codex/config.toml` or hooks ## Reference Files - `references/canonical-ownership.md` — Which rule belongs in which file - `references/healthy-config-example.md` — Example of a well-structured config set - File pointer: `references/writing-for-agents.md` from the selected `skill-creator` skill directory, for judging whether a steering line earns its load (cache vs environment, sediment, sprawl) ## Anti-Patterns | DON'T | DO | Why | |-------|-----|-----| | Repeat the same rule in AGENTS.md, CLAUDE.md, `.agents/memory/`, 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 | | Create an extra instruction filename without configuring it | Put shared project guidance in AGENTS.md; use AGENTS.override.md for scoped overrides and configure any genuine fallback in the effective `.codex/config.toml` | Codex resolves native instruction names plus explicitly configured fallbacks | | 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 | | Recreate a parallel legacy instruction tree under `.agents/` | Put durable guardrails in topic files under `.agents/memory/`; put shared actionable rules in AGENTS.md | The current memory layout keeps durable context discoverable without parallel hierarchies | ## Validation After running the audit: - [ ] No rule appears in more than 2 config files - [ ] All `.cursorrules` files have "Last Updated" within 90 days - [ ] Every Codex instruction file is native (`AGENTS.override.md` or `AGENTS.md`) or an explicitly configured fallback - [ ] Runtime approval, sandbox, and network claims match the effective `.codex/config.toml` or hooks - [ ] No hardcoded absolute paths in any config file - [ ] No emoji in `.cursorrules` or `.cursor/rules` headers - [ ] Denied skills in settings.json have documented rationale - [ ] Total config file line count decreased or stayed flat (no bloat) ## Related Skills - `rules-capture` — capture one new preference instead of auditing a config set - `agent-folder-init` — scaffold a missing `.agents/` structure - `linter-formatter-init` — set up or repair formatter/linter configuration - `audit` — audit application quality instead of agent configuration
عرض على GitHub