Receber por email
← Voltar para o catálogo

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

367estrelas
Atualizado há 4 meses

Ver no GitHub ↗

Como adicionar

/plugin marketplace add aiskillstore/marketplace

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/quality-reviewer-aiskillstore/svg)](https://www.skillteca.com.br/skills/quality-reviewer-aiskillstore)

Skills relacionadas

Ver todas de Segurança →

Alerta por categoria

Receba novas skills de Segurança toda segunda

1 email curto, só com as skills novas de Segurança. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

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.

Compartilhar X LinkedIn