audit
NewAudit AI coding infrastructure (rules, skills, CLAUDE.md) against best practices. Triggered by words like audit, review rules, check skills quality, or when the user wants to assess whether their Claude Code / similar AI-assisted setup is healthy.
Overview
Audit Skill
Goal
Compare the project's rules/, skills/, and CLAUDE.md against the checklist in references/best-practices.md, then produce a report with actionable verdicts and optimization suggestions.
Help
When the user types audit help, output:
Audit — Usage
audit Audit everything (rules + skills + CLAUDE.md)
audit rules Audit rules only
audit skills Audit skills only
audit links Check reference links onlyWorkflow
1. Load the checklist
Read references/best-practices.md Chapter 7 "Optimization Checklist" as the audit standard. The built-in baseline checks below are used when the reference doc is missing; if the reference doc exists, it takes precedence.
2. Scan and check
- •Always On rules should be 0 (or very few and tiny)
- •Every rule must have a
pathsordescriptiontrigger - •Size: 30–60 lines ideal, >130 lines needs review
- •No "role definition", "not-recommended examples", or generic knowledge
- •
pathsshould not be too broad (e.g.**/*.hacross languages) - •No conflicting
pathsbetween rules
- •
SKILL.mdshould stay under ~200 lines; larger content moves toreferences/ - •
descriptionmust contain clear trigger words - •Provide a
helpsubcommand - •Large content split into
references/ - •Content should not duplicate project memory/feedback docs; reference them instead
- •No duplication with rules/skills
- •Glossary only for project-specific terms
- •Common commands should point to docs, not expand inline
- •No overlap with project-level memory entries
For any external reference inside a rule/skill/CLAUDE.md — CLI flags, API paths, tool names, package names, URLs, specific version numbers — trigger validation:
- •Internal/custom tools: grep the internal changelog, or run
--helpto verify the flag still exists - •Git push workflows (
refs/for/*, GitLab, Gerrit): verify the syntax is still supported - •External SDKs / npm / pypi: check whether the package was renamed or deprecated
- •External doc URLs: check for 404s
Priority of evidence: measured > internal docs > official docs > memory.
- •Every markdown link
[text](path)must resolve to an existing file - •Directory-tree descriptions must match the real file structure
3. Output report
Each audited item gets a verdict + reason. Five verdict levels:
| Verdict | Symbol | Meaning |
|---|---|---|
| Keep | ✅ | Valuable and fresh, leave it |
| Improve | 🟡 | Keep but needs a concrete change (section / line / target size) |
| Update | 🟠 | References an external tool/API that may be stale → verify then change or remove |
| Retire | 🔴 | Should be deleted (must list an alternative) |
| Merge into [X] | 🔵 | Merge into an existing rule/skill/memory entry (must name the target) |
Group the report by verdict:
## Audit Report
### 🔴 Retire
[path + reason (alternative)]
### 🟠 Update (needs verification)
[path + reason + external references involved]
### 🔵 Merge into [X]
[path + target + specific content to merge]
### 🟡 Improve
[path + concrete change description]
### ✅ Keep
[path + brief reason]
Total: N Keep / N Improve / N Update / N Retire / N Merge3.1 Reason style
Every audit reason must be self-contained and decision-enabling — readable without looking at other files. Avoid empty phrases:
| Scenario | ❌ Weak | ✅ Useful |
|---|---|---|
| Retire | "Superseded" / "outdated" | "continuous-learning-v2 covers the same patterns and adds confidence scoring; no unique content remains" |
| Merge | "Overlaps with X" | "L80–140 duplicates feedback_wiki_capture; merge into Phase 4 'research-to-wiki' step" |
| Improve | "Too long" / "redundant" | "276 lines; Section 'Framework Comparison' (L80–140) duplicates python-patterns; remove to reach ~150 lines" |
| Update | "Stale" | "References old get_project_info parameter name; official docs now use query_project_info" |
| Keep | "Unchanged" / "OK" | "Python-specific reference is explicitly imported by rules/python/; no overlap; content still valid" |
Why strict reasons: Retire/Merge are destructive; the user must be able to decide based on the reason alone. Empty Keep reasons hide "looked at but not really audited".
4. Feed best practices back
After auditing, check whether any newly found issue type is not covered by references/best-practices.md:
- •"💡 This audit found a new issue type not in the checklist: [description]. Suggest appending it to the checklist. Update?"
- •If the user confirms, append the new check to the checklist chapter.
Install & Usage
mkdir -p .claude/skillsmkdir -p .claude/skills && curl -o .claude/skills/audit.md https://raw.githubusercontent.com/echopi/harness-audit-skill/main/SKILL.md/auditFrequently Asked Questions
What is audit?
Audit AI coding infrastructure (rules, skills, CLAUDE.md) against best practices. Triggered by words like audit, review rules, check skills quality, or when the user wants to assess whether their Claude Code / similar AI-assisted setup is healthy.
How to install audit?
To install audit, create the .claude/skills directory in your project, then run the curl command to download the skill file. Once installed, invoke it in Claude Code with /audit.
What is audit best for?
audit is a community categorized under General. It is designed for: code-review. Created by echopi.