pr-reviewer

Revisa Pull Requests de forma exhaustiva aplicando principios de ingeniería de software.


Triggers

Frases que activan el skill
“revisar PR”
“code review”
“analizar cambios del PR”
“responder comentarios del PR”
Compartir URL o número de PR

¿Qué hace?

  1. Detecta el PR automáticamente o solicita URL/número
  2. Obtiene información: diff, comentarios existentes, metadata
  3. Analiza el código buscando:
    • Vulnerabilidades de seguridad
    • Violaciones de KISS, DRY, SOLID
    • Bugs y edge cases
    • Tests faltantes
    • Problemas de estilo y mantenibilidad
  4. Responde comentarios existentes en español
  5. Genera reporte estructurado por severidad

Proceso de análisis

Seguridad

  • Credenciales hardcodeadas
  • SQL injection, XSS
  • Secrets expuestos
  • Input validation faltante

Calidad de código (KISS, DRY, SOLID)

  • KISS: Código innecesariamente complejo
  • DRY: Lógica duplicada
  • Single Responsibility: Funciones haciendo demasiado
  • Dependency Inversion: Dependencias concretas

Bugs y edge cases

  • Null/undefined sin manejar
  • Race conditions
  • Memory leaks
  • Error handling faltante

Testing

  • Tests faltantes para nuevo código
  • Assertions débiles
  • Mocks incorrectos

Output

Genera un reporte estructurado:

## Review del PR #123: Título del PR

### Resumen
- Archivos modificados: 5
- Líneas agregadas: +120
- Líneas eliminadas: -45

### Hallazgos por severidad

#### 🔴 Críticos (bloquean merge)
- [ ] SQL injection en auth.ts:42

#### 🟡 Importantes (deberían arreglarse)
- [ ] Falta validación de input en form.ts:15

#### 🟢 Sugerencias (nice to have)
- [ ] Nombre poco descriptivo en utils.ts:8

Ejemplo de uso

Review automático del branch actual

Usuario: "Revisame el PR"

Claude detecta PR #123 del branch actual
→ Obtiene diff y comentarios
→ Analiza aplicando checklist
→ Genera respuestas para comentarios existentes
→ Muestra reporte
→ Pide confirmación antes de publicar

Review de PR específico

Usuario: "Revisa https://github.com/org/repo/pull/456"

Claude parsea URL
→ Cambia contexto al repo si es necesario
→ Ejecuta proceso completo de review

Solo responder comentarios

Usuario: "Responde los comentarios del PR 789"

Claude obtiene PR #789
→ Lista comentarios existentes
→ Genera respuestas sin review completo
→ Confirma y publica

Herramientas disponibles

  • Read - Leer archivos
  • Glob - Buscar archivos
  • Grep - Buscar patrones
  • Bash - Ejecutar comandos gh

Comandos útiles

# Ver PR actual
gh pr view

# Ver diff
gh pr diff {numero}

# Listar comentarios
gh api repos/{owner}/{repo}/pulls/{numero}/comments

# Agregar comentario
gh pr comment {numero} --body "texto"

# Aprobar PR
gh pr review {numero} --approve --body "LGTM"

Principios de review

Tono constructivo

  • Sugerir, no ordenar
  • Explicar el “por qué”
  • Reconocer lo bueno antes de criticar
  • Ofrecer alternativas concretas

Prioridad de hallazgos

  1. Seguridad (crítico)
  2. Bugs (crítico)
  3. Performance (importante)
  4. Mantenibilidad (importante)
  5. Estilo (sugerencia)