Marketplace quality-reviewer

Automatically reviews DevPrep AI code for quality standards including ESLint compliance, TypeScript strict mode, 180-line file limits, complexity under 15, proper naming conventions, import patterns, and architectural compliance with the 6-folder structure

install
source · Clone the upstream repo
git clone https://github.com/aiskillstore/marketplace
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiskillstore/marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/ariegoldkin/quality-reviewer" ~/.claude/skills/aiskillstore-marketplace-quality-reviewer-237176 && rm -rf "$T"
manifest: skills/ariegoldkin/quality-reviewer/SKILL.md
source content

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:

NeedLoadLines
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
.