OpenClaw
Caso de usoPrincipiante10 min

Cómo automatizar revisiones de PR en GitHub con OpenClaw

Aprende a configurar un flujo de trabajo automatizado de revisión de PR con OpenClaw: integración con GitHub, PR Reviewer para análisis de código y Conventional Commits para revisiones consistentes y de alta calidad.

Última actualización: 2026-03-31

Skills necesarios

GitHub (gh)
Recomendado

Opera GitHub mediante gh CLI (issues, PRs, repos).

Ver Guía
PR Reviewer
Recomendado

Revisión de código automatizada para pull requests.

Ver Guía
Conventional Commits
Recomendado

Generar/validar mensajes de Conventional Commits.

Ver Guía

Lo que vas a construir

Un pipeline completo de revisión automatizada de PR que:

  1. Crea PRs con descripciones generadas por IA a partir de tu historial de commits
  2. Revisa el código con análisis potenciado por IA que detecta bugs, problemas de seguridad y errores de estilo
  3. Aplica convenciones de commit con el formato Conventional Commits
  4. Proporciona feedback accionable como comentarios inline en el PR

Al terminar esta guía, tendrás un flujo de trabajo donde abrir un PR automáticamente dispara una revisión con IA — sin intervención manual.

Por qué usar IA para revisar PRs

La revisión manual de código es esencial, pero tiene limitaciones reales que ralentizan a los equipos:

  • Calidad inconsistente — Cada revisor se fija en cosas diferentes. Uno se enfoca en convenciones de nombres, otro en manejo de errores. Los problemas que se detectan dependen de quién revisa el PR ese día.
  • Fatiga del revisor — Después de revisar varios cientos de líneas de código, la atención cae significativamente. Estudios muestran que la efectividad de revisión disminuye después de unos 60 minutos de revisión continua. Los bugs críticos se esconden en las últimas partes de diffs grandes.
  • Tiempo de espera largo — Los revisores están ocupados con su propio trabajo. Un PR puede esperar horas o incluso días. Esto bloquea al autor, fomenta PRs grandes acumulados y genera conflictos de merge.
  • Problemas de escalabilidad — A medida que el equipo crece, el cuello de botella de revisión empeora. Los desarrolladores senior pasan cada vez más tiempo revisando en lugar de construir. Los nuevos miembros del equipo puede que no conozcan la base de código lo suficiente para detectar problemas sutiles.

La revisión con IA no reemplaza a los revisores humanos — se encarga de las verificaciones sistemáticas (patrones de seguridad, bugs comunes, violaciones de estilo) para que los revisores humanos se enfoquen en arquitectura, decisiones de diseño y lógica de negocio. Piénsalo como una primera pasada que eleva la calidad base de cada PR antes de que un humano lo abra.

Requisitos previos

Antes de empezar, asegúrate de tener:

  • OpenClaw instalado y configurado (Guía de inicio rápido)
  • GitHub CLI (gh) instalado y autenticado (gh auth login)
  • Un repositorio en GitHub para probar (puede ser un proyecto personal)
  • Node.js 18+ para ejecutar comandos de clawhub

Paso 1: Instalar los Skills necesarios

Instala los tres skills en orden:

bash
# 1. Integración con GitHub (base)
npx clawhub@latest install github

# 2. PR Reviewer (análisis de código)
npx clawhub@latest install pr-reviewer

# 3. Conventional Commits (formato de commits)
npx clawhub@latest install conventional-commits

Verifica la instalación:

bash
clawhub list

Los tres skills deberían aparecer como installed.

Paso 2: Configurar la autenticación con GitHub

El skill de GitHub necesita un Personal Access Token con los siguientes permisos:

  • repo — acceso completo al repositorio
  • read:org — leer membresía de la organización (opcional, para repos de organizaciones)

Si ya te autenticaste con gh auth login, el skill usará tus credenciales existentes. De lo contrario:

bash
# Verificar el estado de autenticación
gh auth status

# Iniciar sesión si es necesario
gh auth login

Paso 3: Configurar PR Reviewer

El skill PR Reviewer funciona de inmediato, pero puedes personalizar su comportamiento:

bash
# Ver la configuración predeterminada
clawhub inspect pr-reviewer

Opciones clave de configuración:

  • Profundidad de revisión: quick (superficial) o thorough (análisis profundo)
  • Áreas de enfoque: seguridad, rendimiento, estilo, bugs, o todas
  • Comentarios automáticos: si publica comentarios directamente en el PR

Paso 4: Crea tu primera revisión automatizada de PR

Probemos el flujo de trabajo con un PR real:

4.1 Crear una rama de feature

bash
git checkout -b feature/test-ai-review

4.2 Hacer algunos cambios

Edita un archivo en tu proyecto. Para probar, intenta introducir problemas comunes que el revisor pueda detectar. Aquí tienes varios ejemplos en distintas categorías:

Falta de await (bug asíncrono):

javascript
// Bug: falta await en llamada asíncrona
function getUserData(userId) {
  const response = fetch(`/api/users/${userId}`);  // Falta await
  return response.json();  // TypeError: response.json is not a function
}

Vulnerabilidad de inyección SQL:

python
# Seguridad: entrada del usuario interpolada directamente en la consulta SQL
def get_user(user_id):
    query = f"SELECT * FROM users WHERE id = '{user_id}'"  # Riesgo de inyección SQL
    return db.execute(query)

Secreto hardcodeado:

javascript
// Seguridad: clave API expuesta en el código fuente
const stripe = require('stripe')('sk_live_abc123secretkey');

Problema de consultas N+1:

python
# Rendimiento: consulta N+1 — ejecuta una consulta por cada pedido
def get_orders_with_items(user_id):
    orders = Order.objects.filter(user_id=user_id)
    for order in orders:
        order.items = OrderItem.objects.filter(order_id=order.id)  # N+1!
    return orders

4.3 Hacer commit con Conventional Commits

En lugar de escribir el mensaje de commit manualmente, deja que OpenClaw lo genere:

bash
git add .
# OpenClaw genera un mensaje de commit en formato Conventional Commits
# p. ej., "feat(api): add getUserData function for user data retrieval"

4.4 Crear y revisar el PR

bash
# OpenClaw crea el PR con una descripción generada por IA
# Luego PR Reviewer analiza automáticamente el diff

En cuestión de segundos, verás:

  • Una descripción de PR bien formateada que resume tus cambios
  • Comentarios de revisión inline apuntando a problemas específicos
  • Un comentario resumen con la evaluación general y sugerencias

Ejemplo de cómo se ven los comentarios de revisión en tu PR:

🔒 Problema de seguridad (línea 14, auth.py):
  La entrada del usuario se interpola directamente en la cadena de consulta SQL.
  Esto es vulnerable a ataques de inyección SQL.
  Corrección sugerida: Usar consultas parametrizadas.

  - query = f"SELECT * FROM users WHERE id = '{user_id}'"
  + query = "SELECT * FROM users WHERE id = %s"
  + return db.execute(query, (user_id,))

⚡ Problema de rendimiento (línea 8, orders.py):
  Consulta N+1 detectada — OrderItem.objects.filter() se ejecuta
  una vez por cada pedido dentro de un bucle. Usa select_related() o
  prefetch_related() para consolidar en una sola consulta.

  - orders = Order.objects.filter(user_id=user_id)
  + orders = Order.objects.filter(user_id=user_id).prefetch_related('items')

🐛 Bug (línea 3, api.js):
  fetch() devuelve una Promise pero no se usa await.
  response.json() fallará porque response es una
  Promise pendiente, no un objeto Response.

  - const response = fetch(`/api/users/${userId}`);
  + const response = await fetch(`/api/users/${userId}`);

Paso 5: Personalizar el flujo de revisión

Enfoque en seguridad

Para repositorios críticos en seguridad, configura PR Reviewer para priorizar revisiones de seguridad:

  • Patrones de inyección SQL
  • Credenciales o claves API hardcodeadas
  • Manejo inseguro de datos (entrada sin validar, falta de sanitización)
  • Vulnerabilidades en dependencias
  • Vectores de Cross-Site Scripting (XSS) en código frontend
  • Patrones de deserialización insegura

Revisión enfocada en rendimiento

Para servicios sensibles al rendimiento, indica al revisor que se enfoque en patrones de rendimiento. Para proyectos React específicamente, el revisor detecta patrones como re-renders innecesarios:

jsx
// Rendimiento: nueva referencia de objeto en cada render causa re-renders en hijos
function ParentComponent({ items }) {
  return (
    <ChildComponent
      style={{ margin: 10 }}        // Nuevo objeto en cada render
      onClick={() => doSomething()}  // Nueva función en cada render
    />
  );
}

Configuración a nivel de equipo

Comparte la configuración con tu equipo:

  1. Exporta la configuración del skill al directorio .openclaw/ en tu repositorio
  2. Haz commit al repositorio
  3. Los miembros del equipo instalan con la misma configuración — los skills toman automáticamente la configuración a nivel de proyecto

Avanzado: Guiar el enfoque de la revisión

Puedes ajustar el enfoque de la revisión proporcionando instrucciones al skill PR Reviewer. El skill usa IA para analizar diffs, así que puedes dirigir su atención con indicaciones en lenguaje natural.

Guía por lenguaje

Al ejecutar una revisión, dile al agente en qué enfocarse:

  • Python: verificar bloques except: genéricos, falta de type hints, consultas N+1 del ORM de Django
  • JavaScript/TypeScript: marcar console.log residuales, await faltante en llamadas async, secretos hardcodeados
  • Rust: marcar .unwrap() en código de producción, sugerir manejo adecuado de Result

Enfoque por directorio

Dirige al revisor para aplicar distintos niveles de escrutinio:

  • Lógica de negocio central (src/core/) — revisión exhaustiva de seguridad, bugs y rendimiento
  • Archivos de test (src/tests/) — verificación rápida de corrección
  • Documentación (docs/) — revisión ligera de estilo
  • Scripts (scripts/) — enfoque en seguridad y bugs

Patrones personalizados

Pide al revisor que marque patrones específicos de tu proyecto, como:

  • Acceso directo a la base de datos en rutas API en lugar de usar la capa de repositorio
  • Componentes de página sin Error Boundaries
  • Endpoints de API sin limitación de tasa

Integración con CI/CD

Para revisiones completamente automatizadas en cada PR, integra PR Reviewer de OpenClaw en tu pipeline de CI/CD.

GitHub Actions

Crea un archivo de workflow en .github/workflows/ai-review.yml:

yaml
name: AI PR Review
on:
  pull_request:
    types: [opened, synchronize]

jobs:
  ai-review:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: write
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - uses: actions/setup-node@v4
        with:
          node-version: '20'

      - name: Install OpenClaw and skills
        run: |
          npm install -g clawhub@latest
          clawhub install pr-reviewer

      - name: Run AI Review
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          OPENCLAW_API_KEY: ${{ secrets.OPENCLAW_API_KEY }}
        run: |
          clawhub run pr-reviewer \
            --pr ${{ github.event.pull_request.number }} \
            --repo ${{ github.repository }} \
            --auto-comment

Controlar cuándo se ejecutan las revisiones

Puedes limitar la revisión con IA a condiciones específicas para ahorrar costos:

yaml
on:
  pull_request:
    types: [opened, synchronize]
    paths-ignore:
      - '*.md'
      - 'docs/**'
      - '.github/**'

O requerir una etiqueta antes de revisar:

yaml
- name: Check for review label
  if: contains(github.event.pull_request.labels.*.name, 'ai-review')
  run: clawhub run pr-reviewer --pr ${{ github.event.pull_request.number }}

Otras plataformas de CI

El mismo enfoque funciona en cualquier plataforma de CI que soporte Node.js. Los pasos clave son:

  1. Instalar clawhub y el skill pr-reviewer
  2. Configurar OPENCLAW_API_KEY como variable de entorno secreta
  3. Pasar el número de PR y el repositorio al comando de revisión
  4. Asegurarse de que el bot de CI tiene permisos de escritura en pull requests

Resultados reales

Los equipos que usan este flujo de trabajo típicamente ven:

  • 40% más rápido en la gestión de PRs — la IA detecta problemas obvios antes de la revisión humana
  • Calidad de revisión consistente — cada PR recibe el mismo análisis exhaustivo
  • Mejor historial de commits — Conventional Commits hacen que los changelogs sean automáticos
  • Menos bugs en producción — la IA detecta problemas que los humanos podrían pasar por alto

Solución de problemas

"GitHub CLI not found"

Asegúrate de que gh está instalado y en tu PATH:

bash
# macOS
brew install gh

# Linux
sudo apt install gh

# Windows
winget install GitHub.cli

"Permission denied" al crear el PR

Verifica los permisos de tu token:

bash
gh auth status

Asegúrate de que incluye el permiso repo. Vuelve a autenticarte si es necesario:

bash
gh auth login --scopes repo

PR Reviewer no comenta

Verifica que el skill está instalado y configurado:

bash
clawhub inspect pr-reviewer

Confirma que tu proveedor de IA en OpenClaw está configurado y tiene créditos disponibles.

Preguntas Frecuentes

Sí. El skill de GitHub usa la CLI `gh`, que es totalmente compatible con GitHub Enterprise Server y GitHub Enterprise Cloud. Configura tu host empresarial con `gh auth login --hostname github.tuempresa.com`. Una vez autenticado, todos los skills de GitHub de OpenClaw — incluyendo PR Reviewer — funcionan exactamente igual que con github.com. No se necesita configuración adicional más allá del hostname.

El skill de GitHub es específico para GitHub, pero PR Reviewer y Conventional Commits funcionan con cualquier plataforma Git. Para GitLab, usarías el skill de GitLab, pasando IDs de merge requests en lugar de números de PR. Bitbucket funciona de manera similar con su propio skill de plataforma. La lógica central de revisión es agnóstica a la plataforma — solo la capa de integración que publica comentarios difiere entre plataformas.

La revisión con IA complementa a la revisión humana, no la reemplaza. Es excelente en verificaciones sistemáticas — detectar vulnerabilidades de seguridad, patrones comunes de bugs, violaciones de estilo y anti-patrones de rendimiento de forma consistente en cada PR sin fatigarse. Sin embargo, no evalúa decisiones de arquitectura de alto nivel, la corrección de la lógica de negocio, ni si el enfoque general es el adecuado. El mejor flujo de trabajo usa la revisión con IA como primera pasada para manejar verificaciones mecánicas, liberando a los revisores humanos para enfocarse en diseño e intención.

Los costos dependen de tu proveedor de IA y del tamaño del diff que se revisa. Una revisión típica de PR analizando un diff de 500 líneas cuesta aproximadamente $0.01-0.05 con la mayoría de proveedores. Diffs más grandes (1000+ líneas) pueden costar hasta $0.10-0.15. Puedes controlar los costos configurando la profundidad de revisión a `quick` para rutas no críticas y usando filtros de ruta para omitir archivos generados, directorios vendor y documentación.

Sí. PR Reviewer admite configuración flexible de patrones de archivos. Puedes excluir archivos por patrón glob (p. ej., `**/*.generated.ts`, `vendor/**`), limitar las revisiones a directorios específicos, o establecer diferentes profundidades de revisión por ruta. Esto se configura en tu archivo `.openclaw/pr-reviewer.yml`. La mayoría de equipos excluyen archivos auto-generados, archivos lock y dependencias vendorizadas para mantener las revisiones enfocadas en código realmente escrito por el equipo.

PR Reviewer procesa diffs grandes dividiéndolos en fragmentos lógicos y analizando cada uno en contexto. Para PRs que superan las 1000 líneas, prioriza los archivos de alto riesgo primero — archivos que tocan autenticación, consultas a base de datos, endpoints de API y lógica sensible a la seguridad se revisan con profundidad máxima. Archivos de menor riesgo como tests y cambios de configuración reciben una pasada más ligera. También puedes configurar un límite de líneas que dispare una advertencia sugiriendo al autor dividir el PR en piezas más pequeñas y revisables.

Sí. PR Reviewer soporta todos los lenguajes de programación principales incluyendo JavaScript, TypeScript, Python, Go, Rust, Java, C#, Ruby, PHP y más. Aplica reglas específicas por lenguaje automáticamente — por ejemplo, verificando el mal uso de `unwrap()` en Rust o la falta de `await` en código async de JavaScript. También puedes definir reglas personalizadas por lenguaje en tu archivo de configuración. El revisor detecta el lenguaje por la extensión del archivo y aplica el pipeline de análisis correspondiente sin configuración manual.

La revisión con IA y los linters cumplen propósitos complementarios y funcionan bien juntos. Los linters aplican reglas deterministas (formato, orden de imports, variables sin usar) mientras que la revisión con IA detecta problemas semánticos (bugs de lógica, patrones de seguridad, problemas de rendimiento) que las herramientas basadas en reglas no pueden detectar. En CI, ejecuta tu linter primero para detectar problemas de formato, luego ejecuta la revisión con IA para un análisis más profundo. PR Reviewer conoce las reglas comunes de linters y evita duplicar feedback que tu linter ya cubre, así que no verás comentarios dobles sobre el mismo problema.

OpenClaw registra métricas de revisión de tu repositorio a lo largo del tiempo. Ejecuta `clawhub stats pr-reviewer` para ver un resumen de problemas encontrados por categoría, cuántos se resolvieron antes del merge, y patrones comunes en tu base de código. Esto ayuda a identificar problemas recurrentes — por ejemplo, si las advertencias de inyección SQL siguen apareciendo, es señal de que el equipo necesita capacitación o mejores abstracciones del ORM. Puedes exportar estas métricas como JSON para integrarlas con dashboards o herramientas de reporting del equipo.

Sí. Puedes definir plantillas de revisión que apliquen diferentes reglas según las etiquetas del PR, convenciones de nombres de ramas o rutas de archivos modificados. Por ejemplo, una rama `hotfix/*` podría recibir una revisión enfocada en seguridad con profundidad máxima, mientras que una rama `docs/*` solo recibe una revisión ligera de estilo. Define las plantillas en tu `.openclaw/pr-reviewer.yml` bajo la clave `templates`, y PR Reviewer selecciona automáticamente la plantilla correspondiente según tus criterios. Así los cambios críticos reciben una revisión exhaustiva sin ralentizar las actualizaciones de bajo riesgo.

Casos de uso relacionados