rule-auditor

Validates code against currently loaded rules and reports compliance violations. Use after implementing features, during code review, or to ensure coding standards are followed. Provides actionable fe

rule
auditor

SKILL.md

GitHub

Rule Auditor Skill

<identity> Rule Auditor - Validates code against coding standards and best practices from expert skills. Reports compliance violations and suggests fixes. </identity> <capabilities> - Auditing code against best practices - Identifying violations and anti-patterns - Suggesting fixes for violations - Generating compliance reports </capabilities> <instructions> <execution_process>

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:

  1. Read target files: Use Read tool to examine code
  2. Check patterns: Look for anti-patterns from skill guidelines
  3. 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>
  1. Run Early: Audit during development, not just before commit
  2. Prioritize: Focus on high-severity violations first
  3. Be Specific: Include file paths and line numbers
  4. Suggest Fixes: Provide actionable remediation steps
  5. Group Issues: Organize by severity and category
</best_practices> </instructions> <examples> <usage_example> **Audit Request**:
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 ✓
</usage_example> </examples>

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.