Claude Code Plugins

Community-maintained marketplace

Feedback

code-review

@ltoscano/mossab
0
0

Performs comprehensive code review analyzing bugs, security issues, best practices, performance, and suggesting improvements

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name code-review
description Performs comprehensive code review analyzing bugs, security issues, best practices, performance, and suggesting improvements
license MIT
compatibility All programming languages supported

Code Review Skill

Questa skill esegue una code review completa e professionale, analizzando codice per identificare problemi e suggerire miglioramenti.

Obiettivo

Fornire una code review dettagliata e costruttiva che aiuti a migliorare la qualità del codice.

Processo di Review

1. Analisi Iniziale

Prima di tutto, esamina il codice fornito e identifica:

  • Linguaggio di programmazione
  • Framework/librerie utilizzate
  • Contesto e scopo del codice
  • Complessità generale

2. Aree di Analisi

Analizza il codice seguendo queste categorie:

A. Bug e Errori Logici

  • Errori evidenti che causerebbero crash o comportamenti incorretti
  • Edge cases non gestiti
  • Null/undefined reference potenziali
  • Off-by-one errors
  • Race conditions o problemi di concurrency

B. Security Issues

  • Input validation mancante
  • SQL injection, XSS, CSRF vulnerabilities
  • Hardcoded credentials o secrets
  • Insufficient authentication/authorization
  • Insecure cryptography
  • Path traversal vulnerabilities

C. Performance Issues

  • Loop inefficienti o N+1 queries
  • Memory leaks potenziali
  • Allocazioni eccessive
  • Mancanza di caching dove appropriato
  • Blocking operations in contesti async

D. Best Practices & Code Quality

  • Naming conventions
  • Code duplication (DRY principle)
  • Function/method length e complessità
  • Single Responsibility Principle
  • SOLID principles violations
  • Separation of concerns

E. Maintainability

  • Readability del codice
  • Commenti necessari vs. ovvi
  • Magic numbers/strings
  • Hard-coded values che dovrebbero essere configurabili
  • Test coverage considerations

F. Type Safety & Error Handling

  • Type annotations mancanti (TypeScript/Python)
  • Error handling inadeguato
  • Uncaught exceptions potenziali
  • Return type ambiguity

3. Output Format

Presenta i risultati della review in questo formato:

# Code Review Report

## Summary
[Breve riassunto generale del codice e del livello di qualità]

## Critical Issues 🔴
[Issues che DEVONO essere fixati - bugs, security, data loss]

## Important Issues 🟡
[Issues significativi che dovrebbero essere fixati - performance, best practices]

## Suggestions 🔵
[Miglioramenti opzionali - refactoring, readability]

## Positive Aspects ✅
[Cosa è fatto bene nel codice - importante dare feedback positivo!]

## Recommendations
[Raccomandazioni generali per migliorare]

4. Tone e Stile

  • Costruttivo: Focus su come migliorare, non solo su cosa è sbagliato
  • Specifico: Fornisci esempi di codice per le correzioni suggerite
  • Educativo: Spiega il "perché" dietro ogni suggerimento
  • Bilanciato: Menziona anche aspetti positivi
  • Actionable: Ogni issue deve avere una chiara azione di fix

Esempi di Output

Esempio Issue Critico

🔴 **SQL Injection Vulnerability** (Line 42)
**Problema**: Query SQL costruita con string concatenation usando input utente non sanitizzato
**Rischio**: Un attacker potrebbe eseguire arbitrary SQL commands
**Fix**:
\`\`\`javascript
// ❌ Current (vulnerable)
const query = `SELECT * FROM users WHERE id = ${userId}`;

// ✅ Fixed (use parameterized query)
const query = 'SELECT * FROM users WHERE id = ?';
db.query(query, [userId]);
\`\`\`

Esempio Suggestion

🔵 **Extract Magic Number** (Line 15)
**Osservazione**: Il numero 86400 è hardcoded senza context
**Suggerimento**: Usa una named constant per migliorare readability
\`\`\`javascript
// ✅ Better
const SECONDS_PER_DAY = 86400;
const expirationTime = Date.now() + SECONDS_PER_DAY;
\`\`\`

Note Aggiuntive

  • Se il codice è particolarmente lungo (>200 linee), considera di focalizzarti sulle parti più critiche
  • Prioritizza sempre security e bugs prima di style issues
  • Se ci sono pattern ripetuti, menzionalo una volta invece di ripetere per ogni occorrenza
  • Considera il contesto: codice di produzione richiede standard più alti di prototipi

Tools Raccomandati

Se necessario per una review più approfondita, puoi usare:

  • bash: Per eseguire linters (eslint, pylint, etc.)
  • read_file: Per esaminare file correlati e comprendere meglio il contesto
  • grep: Per cercare pattern problematici nel codebase