Miércoles, 11 de noviembre de 2026  ·  Español
Intermedio 45 min en total 6 pasos

Cómo revisar código con Claude Code

Revisa diffs y pull requests con Claude Code usando criterios de tu equipo, comandos reutilizables y un hook de git.

Daniel Puentes Prias
Consultor de IA · Actualizado el 8 de noviembre de 2026
Imagen de portada editorial · Cómo revisar código con Claude Code · Educación · Claude Builders
Requisitos
  • Cuenta de Claude con plan que incluya Claude Code (Pro, Max, Team o Enterprise) o acceso por API
  • macOS, Linux o Windows (PowerShell o WSL)
  • Un repositorio git con cambios pendientes o una rama con commits por revisar
  • Conocimientos básicos de git: ramas, diff y hooks
Lo que vas a aprender
  • Lanzar una revisión de código sobre un diff real sin que Claude toque tus archivos
  • Definir en CLAUDE.md los criterios de revisión de tu equipo para que no cambien entre sesiones
  • Crear un comando personalizado de revisión que todo el equipo pueda reutilizar
  • Configurar un subagente revisor especializado en seguridad
  • Automatizar una revisión previa al push con el modo no interactivo de Claude Code
PASO 1 · ~5 min

Instalar Claude Code y abrirlo en tu repositorio

Claude Code se instala con el instalador nativo, no con npm. En macOS, Linux o WSL ejecuta el script de instalación desde la terminal. En Windows nativo usa la variante para PowerShell. Al terminar, cierra y vuelve a abrir la terminal para que el binario `claude` quede en el PATH. Después entra en la raíz de tu repositorio, la carpeta donde está `.git`, y lanza `claude`. La primera vez te pedirá iniciar sesión con tu cuenta de Claude o con una API key de la Console. Es importante arrancarlo desde la raíz: Claude Code usa ese directorio como contexto de trabajo y desde ahí lee el historial de git, la estructura del proyecto y el archivo CLAUDE.md que configuraremos después. Para confirmar qué modelo estás usando, escribe `/model` dentro de la sesión. El modelo por defecto actual, claude-opus-5-5, es el más adecuado para revisiones, porque razona bien sobre cambios repartidos en muchos archivos.

bash
# macOS / Linux / WSL
curl -fsSL https://claude.ai/install.sh | bash

# Windows (PowerShell)
# irm https://claude.ai/install.ps1 | iex

# Comprueba la instalación y abre el repo
claude --version
cd ~/proyectos/mi-repo
claude
ConsejoSi trabajas en una empresa con proxy corporativo, algo habitual en banca y en la administración pública en España y LATAM, define HTTPS_PROXY antes de instalar. Así evitas errores de conexión que parecen fallos del instalador.
Error comúnNo instales Claude Code con npm siguiendo tutoriales antiguos. El instalador nativo se actualiza solo, y mezclar ambos métodos deja dos binarios en el PATH con versiones distintas.
PASO 2 · ~8 min

Definir los criterios de revisión en CLAUDE.md

Si le pides a Claude que revise sin darle criterios, recibirás comentarios genéricos sobre nombres de variables y poco más. La solución es un archivo `CLAUDE.md` en la raíz del repo. Claude Code lo carga automáticamente en cada sesión. Incluye en él lo que tu equipo considera un problema real: convenciones, patrones prohibidos, requisitos de tests y la estructura que esperas en el informe. Pide además que clasifique los hallazgos por severidad. Esto es clave para el paso de automatización, porque te permite distinguir un error bloqueante de una simple sugerencia. Versiona el archivo en git para que todo el equipo revise con las mismas reglas. Si tu proyecto tiene particularidades locales, déjalas por escrito: formatos de fecha dd/mm/aaaa, importes con IVA en España o validación de RFC, CUIT o NIT en LATAM. Claude no las adivinará.

code
# Guía de revisión de código

## Stack
- Backend: Node.js 22 + TypeScript estricto, Express, PostgreSQL con Prisma
- Tests: Vitest. Toda lógica nueva necesita test.

## Qué revisar (por orden de prioridad)
1. Bugs y errores de lógica (casos límite, null/undefined, async sin await)
2. Seguridad (inyección SQL, secretos en código, validación de entrada)
3. Rendimiento (consultas N+1, bucles sobre datos grandes)
4. Tests ausentes o que no prueban nada
5. Legibilidad y convenciones

## Prohibido
- `any` en TypeScript salvo con comentario justificándolo
- console.log en código de producción
- Consultas SQL concatenando strings

## Formato del informe
Agrupa por severidad: BLOQUEANTE, IMPORTANTE, SUGERENCIA.
Cada hallazgo: archivo:línea, problema, por qué importa, propuesta de cambio.
Termina con una línea: `VEREDICTO: APROBADO` o `VEREDICTO: BLOQUEANTE`.
ConsejoPuedes generar un primer borrador con `/init` dentro de Claude Code y luego añadirle a mano la sección de revisión. Ahorra tiempo en repos grandes.
Error comúnNo conviertas CLAUDE.md en un manual de 500 líneas. Se carga en cada sesión y consume contexto. Céntrate en reglas que Claude no puede deducir del propio código.
PASO 3 · ~8 min

Lanzar tu primera revisión en modo solo lectura

Para revisar sin riesgo de que Claude edite archivos, activa el modo plan. En la sesión interactiva pulsa Shift+Tab hasta que el indicador inferior muestre que estás en modo plan. En ese modo Claude puede leer archivos y ejecutar comandos de consulta, pero no modifica nada. Después pídele la revisión con un alcance concreto: los cambios sin commitear, los commits de tu rama frente a main o un archivo en particular. Claude ejecutará `git diff` por su cuenta, abrirá los archivos afectados para entender el contexto (no solo las líneas cambiadas) y te devolverá el informe con el formato definido en CLAUDE.md. Este es el gran valor frente a pegar un diff en un chat: Claude puede seguir una función hasta donde se llama y detectar que tu cambio rompe algo que el diff no muestra. Si algún hallazgo te parece dudoso, pídele que lo justifique con el código concreto.

code
Revisa los cambios de mi rama actual respecto a main (git diff main...HEAD).
Antes de opinar, abre los archivos que llaman a las funciones modificadas
para comprobar que no rompemos nada fuera del diff.
Sigue la guía de revisión de CLAUDE.md.
ConsejoPídele explícitamente que diga «sin hallazgos» en las categorías vacías. Si no lo haces, tiende a rellenar con sugerencias menores para parecer exhaustivo.
Error comúnUsa `main...HEAD` (tres puntos) y no `main..HEAD` ni `git diff main`. Con dos puntos, o sin rango, si main ha avanzado verás también los cambios de otros compañeros como si fueran tuyos.
PASO 4 · ~7 min

Crear un comando de revisión reutilizable

Escribir el mismo prompt en cada revisión es tedioso y produce resultados irregulares. Claude Code permite crear comandos personalizados con archivos Markdown en `.claude/commands/`. El nombre del archivo se convierte en el comando: `review-pr.md` se invoca como `/review-pr`. El marcador `$ARGUMENTS` recoge lo que escribas detrás del comando, así que puedes pasarle la rama base o un foco concreto. Al guardar el archivo dentro del repo y versionarlo, cualquier compañero que clone el proyecto tendrá el mismo comando disponible. Si quieres comandos personales que funcionen en todos tus proyectos, guárdalos en `~/.claude/commands/`. Tras crear el archivo, escribe `/` en la sesión: deberías ver tu comando en la lista de sugerencias.

bash
mkdir -p .claude/commands
cat > .claude/commands/review-pr.md << 'EOF'
---
description: Revisa los cambios de la rama actual frente a una rama base
---
Revisa el código de la rama actual.

Rama base y foco opcional: $ARGUMENTS
(si no se indica rama base, usa main)

Pasos:
1. Ejecuta `git diff <base>...HEAD --stat` para ver el alcance.
2. Ejecuta `git diff <base>...HEAD` y lee el diff completo.
3. Abre los archivos afectados y sus llamadores para entender el contexto.
4. Comprueba si existen tests para la lógica nueva o modificada.
5. Redacta el informe siguiendo la guía de CLAUDE.md.

No modifiques ningún archivo. Solo informa.
EOF

git add .claude/commands/review-pr.md
git commit -m "chore: añade comando /review-pr para Claude Code"
ConsejoÚsalo con foco: `/review-pr develop céntrate en el manejo de errores del módulo de pagos`. Una revisión acotada encuentra más problemas reales que una revisión general.
Error comúnSi el comando no aparece al escribir `/`, comprueba que lanzaste `claude` desde la raíz del repo y que la carpeta se llama exactamente `.claude/commands`, con el punto inicial.
PASO 5 · ~7 min

Configurar un subagente revisor de seguridad

Para revisiones especializadas conviene un subagente: un asistente con su propio prompt de sistema, sus propias herramientas y una ventana de contexto separada. Así la revisión de seguridad no se contamina con la conversación principal, y puedes limitar sus herramientas a lectura. Los subagentes se definen en `.claude/agents/` como Markdown con frontmatter. El campo `description` es importante: Claude lo usa para decidir cuándo delegar automáticamente. También puedes invocarlo de forma explícita pidiéndole a Claude que use el subagente por su nombre. Si prefieres crearlo de forma guiada, el comando `/agents` abre un asistente interactivo. Al darle solo herramientas de lectura y búsqueda (Read, Grep, Glob), el revisor no puede editar código aunque se lo pidas por error.

bash
mkdir -p .claude/agents
cat > .claude/agents/security-reviewer.md << 'EOF'
---
name: security-reviewer
description: Revisor de seguridad. Úsalo para auditar cambios que toquen autenticación, pagos, datos personales o entradas de usuario.
tools: Read, Grep, Glob
---
Eres un revisor de seguridad de aplicaciones con experiencia en OWASP Top 10.

Analiza el código indicado buscando:
- Inyección (SQL, comandos, plantillas)
- Autenticación y control de acceso rotos
- Secretos, tokens o claves en el código
- Exposición de datos personales (relevante para RGPD en España y leyes de protección de datos en LATAM)
- Validación de entrada ausente o insuficiente
- Dependencias o patrones criptográficos inseguros

Para cada hallazgo indica archivo:línea, severidad (BLOQUEANTE/IMPORTANTE/SUGERENCIA),
escenario de explotación concreto y corrección propuesta.
Si no encuentras nada, dilo explícitamente. No inventes problemas.
EOF
ConsejoCombínalo con el comando del paso anterior. Pide «Ejecuta /review-pr y además usa el subagente security-reviewer sobre los archivos de src/auth». Obtienes dos revisiones independientes en paralelo.
Error comúnNo le des al subagente la herramienta Bash "por si acaso". Un revisor con acceso a shell puede ejecutar scripts del repo, y eso es justo lo que no quieres al auditar código de terceros.
PASO 6 · ~10 min

Automatizar la revisión antes de cada push

El último paso es que la revisión ocurra sin que tengas que acordarte. Claude Code tiene un modo no interactivo con la opción `-p`: recibe el prompt, imprime la respuesta y termina, así que encaja en scripts. Lo usaremos en un hook `pre-push` de git que envía el diff de tu rama a Claude y bloquea el push si el veredicto es BLOQUEANTE. El script se apoya en la línea de veredicto que definimos en CLAUDE.md, porque el modo `-p` también carga ese archivo cuando se ejecuta desde el repo. Guarda el informe en un archivo temporal para leerlo con calma si el push se bloquea. Para casos urgentes puedes saltarte el hook con `git push --no-verify`, aunque conviene que el equipo acuerde cuándo es aceptable hacerlo.

bash
cat > .git/hooks/pre-push << 'EOF'
#!/usr/bin/env bash
set -euo pipefail

BASE="origin/main"
DIFF=$(git diff "$BASE"...HEAD)

if [ -z "$DIFF" ]; then
  exit 0
fi

echo "🔍 Revisando cambios con Claude Code..."
REPORT=$(mktemp)

echo "$DIFF" | claude -p "Revisa este diff siguiendo la guía de CLAUDE.md. Sé estricto solo con problemas reales. Termina con la línea VEREDICTO." > "$REPORT"

cat "$REPORT"

if grep -q "VEREDICTO: BLOQUEANTE" "$REPORT"; then
  echo "❌ Push bloqueado. Informe completo en: $REPORT"
  exit 1
fi

echo "✅ Revisión superada"
EOF

chmod +x .git/hooks/pre-push
ConsejoLos hooks en .git/hooks no se versionan. Para compartirlo con el equipo, guárdalo en una carpeta del repo, por ejemplo `githooks/`, y que cada persona ejecute `git config core.hooksPath githooks`.
Error comúnEjecuta `git fetch` con regularidad. Si origin/main está desactualizado en tu máquina, el diff incluirá cambios que ya están en main y la revisión será lenta, cara y ruidosa.
Resultado

Ya tienes un flujo de revisión de código completo con Claude Code. Criterios de equipo versionados en CLAUDE.md, revisiones interactivas en modo plan que no tocan tus archivos, un comando /review-pr reutilizable, un subagente de seguridad con permisos solo de lectura y un hook que revisa cada push antes de que llegue al remoto. La diferencia frente a pegar código en un chat es que Claude Code entiende el repositorio entero: sigue las llamadas, comprueba los tests y detecta efectos fuera del diff. A partir de aquí, el siguiente paso natural es llevar Claude Code a todo tu flujo de desarrollo: generar tests, refactorizar módulos legacy y trabajar con varias sesiones en paralelo.

PRÓXIMOS PASOS
TÉRMINOS DE ESTE TUTORIAL
MÁS DE CLAUDE CODE