Rule Auditor Skill
Step 1: Identify Applicable Skills
Find relevant expert skills based on the code being audited:
File Type Expert Skills
.ts , .tsx
typescript-expert, react-expert
.py
python-backend-expert
.go
go-expert
.java
java-expert
.test.
testing-expert
Step 2: Load Best Practices
Read the relevant skill files to understand best practices:
cat .claude/skills/[skill-name]/SKILL.md
Extract key rules and patterns to check for.
Step 3: Scan Target Files
Analyze the target files for violations:
-
Read target files: Use Read tool to examine code
-
Check patterns: Look for anti-patterns from skill guidelines
-
Identify issues: Note file, line, and violation type
Common checks:
-
Naming conventions
-
Code structure
-
Import patterns
-
Type safety
-
Security issues
-
Performance anti-patterns
Step 4: Generate Report
Create a structured compliance report:
Audit Report
Target: src/components/ Skills Applied: react-expert, typescript-expert Date: YYYY-MM-DD
Summary
- Pass: 12 rules
- Warn: 3 rules
- Fail: 2 rules
Violations
FAIL: Avoid using any type
- File: src/components/UserAuth.tsx:45
- Issue:
const user: any = await getUser() - Fix: Define proper User interface
WARN: Use Server Components by default
- File: src/components/UserAuth.tsx:1
- Issue: Missing 'use client' directive but uses useState
- Fix: Add 'use client' or refactor to Server Component
</execution_process>
<best_practices>
-
Run Early: Audit during development, not just before commit
-
Prioritize: Focus on high-severity violations first
-
Be Specific: Include file paths and line numbers
-
Suggest Fixes: Provide actionable remediation steps
-
Group Issues: Organize by severity and category
</best_practices>
Audit src/components/ for TypeScript and React best practices
Response:
Audit Report: src/components/
Violations Found
-
[ERROR] src/components/User.tsx:23
- Rule: Avoid
anytype - Code:
const data: any = response.json() - Fix:
const data: UserResponse = response.json()
- Rule: Avoid
-
[WARN] src/components/Form.tsx:1
- Rule: Prefer Server Components
- Issue: Uses useState without 'use client'
- Fix: Add 'use client' directive at top
Passed Checks
- Component naming (PascalCase) ✓
- Hook usage patterns ✓
- Import organization ✓
</usage_example>
Rules
-
Always check relevant expert skills for standards
-
Provide line numbers and specific fixes
-
Prioritize security and type safety issues
Memory Protocol (MANDATORY)
Before starting:
cat .claude/context/memory/learnings.md
After completing:
-
New pattern -> .claude/context/memory/learnings.md
-
Issue found -> .claude/context/memory/issues.md
-
Decision made -> .claude/context/memory/decisions.md
ASSUME INTERRUPTION: Your context may reset. If it's not in memory, it didn't happen.