quality-reviewer

Automatically enforces DevPrep AI code quality standards during development.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "quality-reviewer" with this command: npx skills add ariegoldkin/devprepai/ariegoldkin-devprepai-quality-reviewer

Quality Reviewer

Automatically enforces DevPrep AI code quality standards during development.

Auto-Triggers

Auto-triggered by keywords:

  • "review", "check", "validate", "verify"

  • "lint", "quality", "standards"

  • "type check", "typescript"

  • "complexity", "file size", "architecture"

Quick Standards

File Limits

  • ≤180 lines per file (code only)

  • Complexity ≤15 per function

  • ≤50 lines per function

  • ≤4 parameters per function

TypeScript

  • Strict mode enabled

  • No any types

  • Interfaces: I prefix (e.g., IButtonProps )

  • Type imports: import type { ... }

Naming

  • Interfaces: IUserProfile , IButtonProps

  • Types: QuestionType , Difficulty

  • Functions: camelCase

  • Components: PascalCase

Imports

Use path aliases:

@shared/ui/button // ✅ Correct @modules/practice/* // ✅ Correct @lib/trpc/client // ✅ Correct @store/hooks // ✅ Correct

../../../shared/ui/* // ❌ Wrong

Architecture (6-Folder)

app/ Routes only modules/ Features (practice, assessment, results, profile, questions, home) shared/ Cross-cutting (ui, components, hooks, utils) lib/ Integrations (trpc, claude) store/ Zustand state styles/ Design system

Run Checks

Single Check

Target specific issues

./.claude/skills/quality-reviewer/scripts/check-file-size.sh ./.claude/skills/quality-reviewer/scripts/check-complexity.sh ./.claude/skills/quality-reviewer/scripts/check-imports.sh ./.claude/skills/quality-reviewer/scripts/check-architecture.sh ./.claude/skills/quality-reviewer/scripts/check-naming.sh

Full Review

Run all 7 checks at once

./.claude/skills/quality-reviewer/scripts/full-review.sh

Checks: file size → complexity → imports → architecture → naming → ESLint → TypeScript

Common Fixes

Interface Missing 'I' Prefix

interface ButtonProps { } // ❌ interface IButtonProps { } // ✅

Direct React Import

import { ReactElement } from 'react'; // ❌ import type { ReactElement } from 'react'; // ✅

Relative Import

import { Button } from '../../../shared/ui/button'; // ❌ import { Button } from '@shared/ui/button'; // ✅

Using 'any'

const data: any = fetchData(); // ❌ const data: IUserData = fetchData(); // ✅

File Too Large

Split into:

  • Component.tsx

  • UI only

  • hooks.ts

  • Logic

  • types.ts

  • Types

  • utils.ts

  • Helpers

See: examples/refactor-after/

Complexity Too High (>15)

// ❌ Before: Nested ifs (complexity 18) if (user.role === 'admin') { if (user.isActive) { if (user.permissions.includes('write')) { // do something } } }

// ✅ After: Early returns (complexity 3) if (!user.role === 'admin') return; if (!user.isActive) return; if (!user.permissions.includes('write')) return; // do something

Quick fixes:

  • Extract conditionals → separate functions

  • Use early returns → avoid nesting

  • Replace switch → lookup objects const MAP = { key: 'value' };

When to Load Additional Docs

SKILL.md is self-sufficient for:

  • Running checks (all scripts listed above)

  • Simple fixes (naming, imports, basic refactoring)

  • Understanding standards

Load additional docs only when needed:

Need Load Lines

File splitting strategies examples/refactor-after/

~256

Complexity reduction tactics docs/standards.md (lines 75-163) ~88

Architecture patterns docs/standards.md (lines 224-280) ~56

Type safety patterns docs/standards.md (lines 283-348) ~65

Deep-dive on any violation docs/standards.md (full file) ~370

Code examples:

  • ✅ Perfect: examples/good-code.tsx

  • ❌ Violations: examples/bad-code.tsx

  • 🔄 Refactoring: examples/refactor-after/

Full project standards: Docs/code-standards.md

Version: 1.1.0 (Optimized) | Updated: October 2025 Optimization: 31% smaller, 52% fewer tokens for typical usage

Note: Example files use // @ts-nocheck and /* eslint-disable */ directives to suppress IDE warnings, since they demonstrate intentional violations or reference non-existent paths for educational purposes. They are also excluded from build-time TypeScript compilation via frontend/tsconfig.json .

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

ascii-visualizer

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

trpc-scaffolder

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

architecture-navigator

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

design-to-production

No summary provided by upstream source.

Repository SourceNeeds Review