mcpField
R
rule-auditor

rule-auditor

github.com/oimiragieoTesting & quality4453 installsUpdated 17w ago
Repository

About rule-auditor

A code-auditing skill for checking files against standards in relevant expert skills. It reports violations with locations and actionable fixes, with attention to severity, security, and type safety.

Key features

  1. 01Selects applicable expert skills
  2. 02Checks code against stated practices
  3. 03Reports file and line locations
  4. 04Suggests specific remediations
  5. 05Groups findings by severity

Use cases

  1. 01Review TypeScript and React code
  2. 02Check code for security issues
  3. 03Find language-specific anti-patterns

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/oimiragieo/agent-studio --skill rule-auditor

After installing, type/rule-auditorin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

commands/
rule-auditor.md
hooks/
post-execute.cjs
pre-execute.cjs
references/
research-requirements.md
rules/
rule-auditor.md
schemas/
input.schema.json
output.schema.json
scripts/
main.cjs
templates/
implementation-template.md

Details

From the project README

Rule Auditor Skill

Rule Auditor - Validates code against coding standards and best practices from expert skills. Reports compliance violations and suggests fixes. - Auditing code against best practices - Identifying violations and anti-patterns - Suggesting fixes for violations - Generating compliance reports
Step 1: Identify Applicable Skills

Find relevant expert skills based on the code being audited:

File TypeExpert Skills
.ts, .tsxtypescript-expert, react-expert
.pypython-backend-expert
.gogo-expert
.javajava-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>

**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>

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.

Comments

Markdown supported