- 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
- 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 Audit src/components/ for TypeScript and React best practices Response :
Audit Report: src/components/
Violations Found
1.
**
[ERROR]
**
src/components/User.tsx:23
-
Rule: Avoid
any
type
-
Code:
const data: any = response.json()
-
Fix:
const data: UserResponse = response.json()
2.
**
[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 ✓ 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.