← Blog · · ia · github · automatismos · claude
Auto-resolver bugs leyendo PRs con Claude: mi setup con GitHub Actions
Cómo monté un workflow que revisa cada PR, detecta el bug que la introduce y propone el fix antes de que yo lo abra. Real, en producción, sin humo.
Una de las cosas que más tiempo me ahorra: que Claude revise las PRs antes que yo. No solo comenta lo obvio — detecta el patrón del bug que se introduce y, en muchos casos, propone el commit que lo arregla.
Te paso el workflow real, paso a paso.
Por qué este flujo, y no Copilot Review
GitHub Copilot Review está bien para syntax y patterns, pero cuando integras un proyecto multi-archivo con dependencias entre features, Claude da revisiones cualitativamente mejores. Ve la PR como un humano sénior: “esto rompe el patrón X que usas en lib/foo.ts, y además el test Y no cubre el nuevo branch.”
El workflow
.github/workflows/claude-review.yml:
name: Claude PR Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with: { fetch-depth: 0 }
- name: Run Claude review
uses: anthropics/claude-code-action@v2
with:
api-key: ${{ secrets.ANTHROPIC_API_KEY }}
mode: review
target-branch: ${{ github.event.pull_request.base.ref }}
Con esto, cada vez que abres o haces push a una PR, una acción coge el diff, lo manda a Claude y le pide revisión. Los comentarios aparecen como inline review comments en la PR.
El prompt que marca la diferencia
El prompt por defecto está bien, pero le añado contexto del proyecto:
“Estás revisando una PR del repo enriccivit.com. El stack es Astro + React + Tailwind + Supabase. Convenciones: server components por defecto, copy nunca hardcoded, todo i18n. Si ves: (1) un patrón inconsistente con el resto del repo, (2) un test que no cubre el cambio, (3) una regresión potencial — coméntalo. Sé conciso. No comentes nits sin importancia.”
Eso lo metes en un archivo claude-review.md que la action lee.
El bonus: auto-propuesta de fix
Cuando Claude detecta un bug obvio (typo, null que no se chequea, dependencia rota), no solo comenta — abre un commit en una rama secundaria con el fix propuesto. Si me cuadra, hago cherry-pick y arreglado.
Para esto la action es anthropics/claude-code-action@v2 con mode: fix y un trigger manual (workflow_dispatch) que solo dispara en PRs con el label auto-fix.
Lo que NO hago
- Auto-merge basado en Claude. Sigo siendo yo el que revisa y mergea.
- Confiar en revisiones sobre cambios de migración/infra críticos. Esos los reviso yo manualmente.
- Dejarlo correr en repos con secretos en código (
.envmal gitignored, por ejemplo).
El ahorro real
Antes pasaba 10-15 minutos por PR de revisión profunda. Ahora paso 3 minutos: la mitad ya está hecha por Claude, yo solo confirmo o discuto. En semanas con muchas PRs, el ahorro acumulado es brutal.
¿Quieres este flujo en tu equipo o en tu repo personal? Te lo monto en una llamada.