GitHub Actions: menciona a @claude en un PR para que trabaje por su cuenta
📚 Navegación de la serie: El artículo anterior 43 Flujo de trabajo con Git te enseñó cómo hacer que Claude te ayude a gestionar ramas, escribir commits y abrir PRs de forma local, es decir, tú frente a la computadora y él a tu lado. Este artículo lleva la automatización a la nube: una vez configurado, solo tienes que escribir
@claudeen un issue o PR de GitHub para que se active, analice el código, realice modificaciones y abra PRs, todo sin necesidad de que enciendas tu computadora. Esto es Claude Code GitHub Actions (la plataforma de automatización de flujos de trabajo de GitHub).
Imagina esta situación a las once de la noche: ya te has acostado y de repente aparece un mensaje en el grupo del equipo.
Un compañero: "¿Has revisado el PR de X? Lleva bloqueado todo el día y mañana debemos desplegar a producción." Tú: "Ya me acosté, lo reviso mañana a primera hora." Él: "... Para mañana a primera hora ya será tarde."
Si hubieras configurado previamente Claude Code GitHub Actions en ese repositorio, podrías haberte ahorrado esa noche de desvelo: antes de que despiertes, el PR ya tendría un comentario con una revisión de código generada automáticamente por Claude, señalando línea por línea un riesgo de puntero nulo y dos casos de límites no controlados. Tu compañero solo tendría que corregirlos y fusionar el PR.
En términos sencillos, el uso de Claude Code que hemos visto en los artículos anteriores requiere tu presencia, una terminal abierta y tu supervisión constante. GitHub Actions resuelve un escenario diferente: desvincular a Claude de tu computadora local para alojarlo en los servidores de GitHub, permitiéndole activarse con una mención @claude. Ya sea que estés de viaje, durmiendo o en una reunión, él podrá responder a un issue, revisar un PR o corregir un bug.
Al terminar este artículo, obtendrás:
- Una explicación simple de qué es Claude Code GitHub Actions y cómo se relaciona con el Claude Code que usas en tu máquina local.
- Cómo funciona el activador de menciones
@claude: dónde escribirlo y cómo sabe él cuándo responder. - Cómo estructurar el archivo YAML mínimo para tu flujo de trabajo (workflow), detallando qué hace cada línea.
- Tres casos de uso prácticos: revisión de código automática, modificaciones automáticas a partir de un issue y tareas programadas.
- Cómo configurar de forma segura tu API key y credenciales en GitHub, y la línea roja que nunca debes cruzar.
- Un ejercicio práctico paso a paso para integrarlo en tu propio repositorio y validarlo en solo 5 minutos.
01 Concepto: Claude Code alojado en GitHub
Para empezar, la conclusión: la versión de GitHub Actions de Claude Code es el mismo Claude Code que ejecutas en tu máquina local, pero trasladado a los servidores de GitHub. Ya no se activa mediante tus comandos de terminal, sino por eventos en el repositorio (creación de PRs, nuevos comentarios o programación horaria).
Si recuerdas los artículos anteriores, el uso de Claude Code siempre ha sido: abrir una terminal en tu máquina, escribir claude e interactuar con él mientras observas cómo modifica los archivos. Su ejecución depende de que tú estés presente para supervisar y aprobar sus acciones paso a paso.
GitHub Actions elimina ese requisito. Su definición oficial es directa:
Claude Code GitHub Actions lleva la automatización impulsada por IA a tus flujos de trabajo de GitHub. Con solo mencionar a
@claudeen cualquier PR o issue, Claude puede analizar tu código, crear pull requests, implementar características y corregir errores, todo alineado con las normas de tu proyecto.
Analogía: contratar a un compañero para el turno nocturno que no necesita dormir. Tu equipo supervisa el código durante el día, pero el repositorio queda sin atención por la noche. Contratas a alguien para el turno de noche: no registra entrada, no requiere escritorio ni salario (solo pagas por su consumo de API); cuando alguien en el grupo lo menciona con un "@asistente, revisa este PR" o "corrige este bug", él toma la tarea y publica los resultados al terminar. Tú descansas mientras él trabaja. El Claude de GitHub Actions es ese compañero de turno nocturno, con la diferencia de que reside en los centros de datos de GitHub.
Un aspecto clave que no debes confundir: no es un producto diferente; en el fondo es el mismo Claude Code. La documentación oficial aclara que está construido sobre el Claude Agent SDK (que analizaremos en el artículo 45) y lee el archivo CLAUDE.md en la raíz de tu repositorio (la "guía del proyecto" del artículo 18). Esto significa que las reglas, convenciones y guías de estilo que configuraste para tu proyecto serán respetadas completamente por este asistente en la nube, usando las mismas normas que aplicas localmente.
Una vez configurado, podrás realizar acciones como:
- Un PR está abierto pero nadie tiene tiempo de revisarlo: deja que él lo revise automáticamente y señale los problemas línea por línea.
- Un issue describe claramente una tarea pero estás ocupado: añade un comentario con
@claude implementa estoy él creará un PR con la funcionalidad programada. - El flujo de CI falla en la madrugada: deja que él analice el error e intente corregirlo.
💡 Resumen rápido: Claude Code en GitHub Actions es el mismo Claude Code ejecutándose en los servidores de GitHub y activado por eventos del repositorio. No requiere tu presencia activa y respeta el archivo
CLAUDE.mdde tu proyecto, actuando como un asistente disponible las 24 horas.
02 Menciones @claude: cómo activarlo y cómo procesa las solicitudes
El uso principal consiste en escribir una mención a @claude en los comentarios de un issue o PR para que empiece a trabajar. Analicemos cómo funciona: dónde escribir, qué redactar y cómo responde.
Analogía: mencionar a un compañero de guardia en un chat grupal. En el grupo de tu equipo hay muchas conversaciones cotidianas, pero si mencionas a un compañero de guardia con una instrucción específica, él sabe que te diriges a él y toma la tarea. Con @claude es igual: normalmente no interviene en las discusiones cotidianas, pero si lo mencionas, toma ese comentario como una tarea asignada.
¿Dónde se puede escribir la mención? En los lugares habituales de tu flujo de trabajo:
- La sección de comentarios de un PR (issue comment)
- Comentarios de revisión en líneas específicas de código en un PR (pull request review comment)
- La descripción o los comentarios de un issue
¿Qué debes escribir? Al igual que con un compañero humano, sé claro y específico. Por ejemplo:
@claude implementa la funcionalidad según la descripción de este issue
@claude cómo debería implementarse la autenticación de usuarios en esta API
@claude corrige el error TypeError en el componente del panel de usuarioÉl analizará automáticamente el contexto (leyendo el issue, el código relacionado y tu archivo CLAUDE.md) y responderá en consecuencia: realizando los cambios y abriendo un PR si es necesario, o respondiendo directamente si se trata de una consulta.
Aquí se aplica la regla de oro del artículo 15: a mayor especificidad en las instrucciones, menor probabilidad de que se desvíe. Decir "revisa este PR" no es lo mismo que decir "revisa la seguridad de concurrencia y la prevención de inyección SQL en este PR". En el primer caso hará un análisis general; en el segundo, se enfocará en esos puntos específicos.
Hay una trampa común para principiantes que la documentación oficial destaca en su sección de solución de problemas:
Asegúrate de que el comentario contenga
@claude(y no/claude).
Es común ver que, tras realizar la configuración, escribes /claude revisa esto en un PR y esperas minutos sin obtener respuesta, asumiendo que configuraste mal las credenciales. El error suele ser haber usado una barra diagonal en lugar de una arroba. El comando /claude es para la terminal local (visto en el artículo 36); en los comentarios de GitHub no tiene ningún efecto. El activador en la nube es @claude (arroba). Recordar esto te evitará perder tiempo en diagnósticos innecesarios.
| Terminal local (Artículos 1-43) | GitHub Actions (Este artículo) | |
|---|---|---|
| Activador | Ejecutas claude en tu terminal | Eventos del repositorio (comentarios, PRs, programación) |
| Cómo instruirlo | Conversación directa, comandos de barra / | Mencionar a @claude en comentarios (arroba) |
| Presencia requerida | Sí, supervisando el flujo | No, se ejecuta de forma autónoma en la nube |
| Entorno de ejecución | Tu máquina local | Un contenedor de GitHub Actions |
| Aprobación de acciones | Confirmación manual paso a paso | Autónoma según permisos del flujo de trabajo |
💡 Resumen rápido: menciona a
@claudeseguido de tu instrucción en los comentarios de issues o PRs para activarlo. Analizará el contexto y respetaráCLAUDE.md. Usa la arroba (@), no la barra (/), ya que las barras no activan el flujo en la nube.
03 Instalación: el comando automatizado /install-github-app
Para que @claude pueda responder, debes configurar tres elementos en tu repositorio: una aplicación de GitHub App (para dar a Claude permisos de lectura y escritura), una credencial (tu API key) y un archivo de flujo de trabajo workflow (que define cuándo activar a Claude).
Aunque parece laborioso, el equipo oficial ofrece un atajo de instalación automatizada. El método más sencillo es ejecutar un comando en tu terminal local de Claude Code:
/install-github-appNota: este comando /install-github-app se ejecuta en tu sesión de terminal local de claude (un comando de barra como los del artículo 36, a diferencia de la mención @claude en la nube). Iniciará un asistente que te guiará en la configuración:
Este comando le guiará en la configuración de la aplicación de GitHub y de las credenciales requeridas.
El asistente creará la GitHub App, registrará la variable ANTHROPIC_API_KEY en los secretos de tu repositorio y guardará el archivo workflow básico en .github/workflows/. Solo debes seguir las instrucciones en pantalla.
Existen dos requisitos previos descritos en la documentación oficial:
- Debes ser administrador del repositorio para poder instalar la aplicación de GitHub y añadir secretos.
- Este método rápido está diseñado para usuarios directos de la API de Anthropic. Si utilizas Amazon Bedrock o Google Vertex AI, consulta la sección correspondiente.
En resumen: debes tener permisos de administrador (admin) en el repositorio para instalar aplicaciones y añadir secretos (un requisito de GitHub, no de Claude). Además, este atajo está diseñado para el uso directo de la API de Anthropic; si tu infraestructura utiliza AWS Bedrock o Google Vertex AI (como vimos en el artículo 05), deberás realizar una configuración manual, descrita al final del artículo.
¿Qué permisos requiere la aplicación de GitHub App? Tres permisos específicos de lectura y escritura:
- Contents: lectura y escritura (para modificar los archivos del repositorio)
- Issues: lectura y escritura (para interactuar en los comentarios de los issues)
- Pull requests: lectura y escritura (para crear y actualizar PRs)
Analogía: otorgar accesos específicos en la credencial del asistente de turno nocturno. Estos tres permisos definen qué áreas del repositorio puede acceder: entrar al directorio de código (Contents), participar en la sección de discusión (Issues) y preparar solicitudes de integración (Pull requests). Sin estos accesos, no podrá realizar ninguna acción en el repositorio; otorgar accesos excesivos comprometería la seguridad. Estos tres permisos representan el acceso mínimo necesario para sus funciones.
Si el comando /install-github-app falla (por problemas de red o restricciones de permisos), puedes realizar la configuración manualmente: instala la aplicación desde https://github.com/apps/claude, añade la credencial en los Settings de tu repositorio y copia el archivo de flujo de trabajo desde examples/claude.yml en el repositorio oficial. Sin embargo, prefiere siempre el flujo automatizado, ya que simplifica enormemente la instalación en comparación con la configuración manual.
Esta configuración requiere comunicación con los servidores de GitHub y Anthropic; asegúrate de contar con una conexión estable a internet durante el proceso.
💡 Resumen rápido: La forma más sencilla de instalarlo es ejecutar
/install-github-appen tu terminal local declaude. Se encargará de la aplicación, el secreto y el archivo workflow. Requiere que seas administrador del repositorio y utilices la API directa de Anthropic. Los permisos requeridos son Contents, Issues y Pull requests (lectura y escritura).
04 El archivo YAML del workflow: definiendo las reglas de activación
Una vez instalado, el archivo que determina cuándo se debe activar a Claude es el workflow de GitHub Actions, guardado como un archivo YAML bajo el directorio .github/workflows/. Analicemos los componentes de un archivo mínimo.
Analogía: la hoja de turnos del asistente nocturno. El archivo workflow es esa hoja de turnos que especifica dos cosas: cuándo debe activarse para trabajar (los disparadores o triggers) y qué tareas específicas debe ejecutar (los pasos o steps). Sin esta hoja, el asistente no sabría cuándo iniciar ni qué hacer.
Veamos la estructura mínima proporcionada por la documentación oficial para responder a menciones de @claude:
name: Claude Code
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
jobs:
claude:
runs-on: ubuntu-latest
steps:
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
# Responde a menciones de @claude en comentariosEl archivo YAML consta de cuatro secciones principales:
Sección name: el nombre del flujo de trabajo, el cual se mostrará en la pestaña Actions de tu repositorio de GitHub.
Sección on (cuándo activarse): define los eventos disparadores. En este caso, se activa al crearse un comentario en un issue (issue_comment de tipo created) o al crearse un comentario de revisión en un PR (pull_request_review_comment de tipo created). Es decir, el flujo se inicia cuando se publica una nueva de estas respuestas.
Sección jobs (qué tareas realizar): define un trabajo llamado claude que se ejecutará en un contenedor Linux limpio (runs-on: ubuntu-latest). Tu código se analiza de forma segura dentro del entorno temporal de ejecución de GitHub.
Sección steps (los pasos detallados): ejecuta la acción oficial de Anthropic con uses: anthropics/claude-code-action@v1. En la sección with, se proporciona la API key mediante la variable anthropic_api_key (detallaremos su seguridad en la siguiente sección). El comentario # Responds to @claude mentions describe que esta configuración está diseñada para responder cuando se mencione a @claude.
Un detalle importante: en este archivo no necesitas definir una condición de texto para validar si el comentario contiene la palabra "@claude". La versión v1 de la acción realiza esta detección de forma interna:
La acción ahora detecta automáticamente según tu configuración si debe ejecutarse en modo interactivo (respondiendo a menciones
@claude) o en modo automatizado (ejecutando una instrucción de forma inmediata).
En resumen: si proporcionas el parámetro prompt, la acción entra en "modo automatizado" y ejecuta la instrucción de inmediato al activarse (como en el caso de la revisión automática); si no proporcionas el parámetro prompt, entra en "modo interactivo", activándose solo cuando el comentario contenga la mención @claude. Este archivo mínimo no tiene un parámetro prompt, por lo que espera la mención.
⚠️ Este es un punto de confusión común para quienes migran desde versiones beta. Las versiones anteriores requerían la opción
mode: "tag"y la variabledirect_prompt. La versiónv1ha simplificado esto: se eliminómode(ahora es por autodetección) ydirect_promptpasó a llamarseprompt. Si encuentras tutoriales antiguos que usan@beta,modeodirect_prompt, ajústalos al formato de la versiónv1.
¿Dónde se definen opciones como --max-turns o --model que vimos en las sesiones locales? Se configuran a través del parámetro claude_args:
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
prompt: "Tus instrucciones aquí"
claude_args: "--max-turns 5 --model claude-sonnet-4-6"La documentación oficial destaca los parámetros más comunes para claude_args:
| Parámetro | Propósito | Valor por defecto |
|---|---|---|
--max-turns | Límite máximo de iteraciones (para evitar bucles costosos) | 10 |
--model | Especificar el modelo a utilizar (por ejemplo, claude-opus-4-8) | El modelo Sonnet predeterminado |
--allowedTools | Lista de herramientas permitidas (separadas por comas) | — |
--mcp-config | Ruta al archivo de configuración de MCP | — |
--debug | Activar salida de depuración para diagnósticos | Desactivado |
💡 Nota de la documentación: Claude Code GitHub Actions utiliza Sonnet por defecto. Si deseas usar Opus, debes especificar
--model claude-opus-4-8enclaude_args. Para revisiones y correcciones cotidianas, Sonnet es adecuado; reserva Opus para tareas complejas o refactorizaciones amplias (siguiendo los criterios de selección del artículo 30).
💡 Resumen rápido: El archivo workflow es la hoja de turnos de Claude:
ondefine cuándo se ejecuta ystepsconclaude-code-action@v1define qué hace. La versiónv1detecta el modo automáticamente (conpromptse ejecuta de inmediato, sin él espera a@claude). Las opciones de terminal se pasan a través declaude_args.
05 Tres casos prácticos de uso: revisión, corrección y tareas programadas
Para aprovechar al máximo esta herramienta, presentamos tres configuraciones de workflow para los escenarios más comunes en desarrollo.
Caso 1: Revisión automática de código en cada PR (sin necesidad de mención)
Este es el caso más común. No requiere menciones; cada vez que se abre o actualiza un PR, Claude realiza una revisión automática.
name: Code Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
prompt: "Review this pull request for code quality, correctness, and security."
claude_args: "--max-turns 5"Las diferencias con el archivo mínimo son dos: el disparador es pull_request al abrirse (opened) o actualizarse (synchronize) y se proporciona la instrucción en el parámetro prompt. Al incluir prompt, la acción entra en modo automatizado y realiza la revisión de calidad, lógica y seguridad en cada cambio subido, publicando sus sugerencias de forma inmediata en el PR.
Anthropic ofrece un servicio independiente llamado Code Review (disponible para planes Team / Enterprise) que realiza revisiones automatizadas avanzadas en PRs, categorizando hallazgos y permitiendo personalizaciones mediante un archivo REVIEW.md. Este artículo se enfoca en ejecutar a Claude dentro de tu propia infraestructura de CI con GitHub Actions, pero vale la pena tener en cuenta esa alternativa hospedada.
Caso 2: Corrección automática a partir de un issue (mencionando a @claude)
Este caso utiliza el archivo de flujo de trabajo mínimo (que reacciona a comentarios con @claude) y se basa en las instrucciones que escribas en el comentario del issue. Una vez documentado el requerimiento en el issue, escribe en los comentarios:
@claude implementa la funcionalidad según la descripción de este issueClaude leerá el issue, analizará los archivos, respetará las directrices de CLAUDE.md y creará una rama con la solución implementada junto con un PR para tu revisión. Es una excelente opción para tareas puntuales y bien descritas: creas el issue detallado, lo mencionas, y en unos minutos tendrás el PR listo para validar, sin haber abierto tu editor local.
Lo mismo aplica para corregir fallos documentados:
@claude corrige el error TypeError en el panel de usuarioClaude ubicará el fallo, lo corregirá y actualizará la rama o PR correspondiente.
Caso 3: Tareas programadas (ejecución por tiempo)
Este flujo no depende de eventos en el código, sino que se ejecuta en intervalos definidos, por ejemplo, para generar un resumen de la actividad diaria del repositorio.
name: Daily Report
on:
schedule:
- cron: "0 9 * * *"
jobs:
report:
runs-on: ubuntu-latest
steps:
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
prompt: "Generate a summary of yesterday's commits and open issues"
claude_args: "--model opus"El activador on: schedule con cron: "0 9 * * *" ejecuta la acción todos los días a las 9:00 UTC, generando el reporte a partir de las instrucciones en prompt. Es una excelente forma de automatizar análisis periódicos del estado del proyecto de manera desatendida.
Compara los tres enfoques:
| Caso de uso | Activador | ¿Requiere prompt? | Modo de ejecución | Aplicación típica |
|---|---|---|---|---|
| Revisión automática | pull_request (abrir o actualizar) | Sí | Automatizado (inmediato) | Revisión de calidad en cada PR |
| Corrección desde issue | issue_comment (comentario con mención) | No | Interactivo (espera mención) | Resolver bugs o añadir funciones |
| Tarea programada | schedule (cron) | Sí | Automatizado (inmediato) | Reportes diarios o auditorías periódicas |
Recuerda la regla básica: definir prompt activa la ejecución inmediata; omitirlo hace que espere a ser mencionado con @claude.
💡 Resumen rápido: Los tres flujos prácticos son revisión automática (con prompt al abrir PR), corrección desde issue (sin prompt, espera mención
@claude) y tareas programadas (con cron y prompt). Se definen combinando el disparador y la presencia del parámetroprompt.
06 Seguridad de las credenciales: una regla estricta
Como habrás notado, los flujos anteriores contienen la siguiente instrucción:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}Esta sección detalla cómo gestionar de forma segura esta clave de API. Es el aspecto más crítico de la configuración de CI. En el artículo 04 configuramos ANTHROPIC_API_KEY de forma local y mencionamos que postergaríamos el flujo en CI para este artículo.
Recordemos la advertencia de seguridad oficial:
Nunca subas tus claves de API directamente al repositorio.
¿Por qué es crítico? Los archivos de los repositorios de GitHub (especialmente los públicos) son accesibles para cualquier persona. Escribir tu clave sk-ant-xxxx directamente en el archivo YAML de configuración equivale a exponer tu contraseña al público; bots de escaneo automatizado detectarán la clave en segundos y realizarán consumos de API a tu nombre.
La solución correcta es: usar GitHub Secrets y evitar escribir la clave en el código. Los pasos oficiales son:
- Guarda tu API key como un secreto del repositorio con el nombre
ANTHROPIC_API_KEY.- Haz referencia a ella en el archivo de configuración usando:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}.
Analogía: guardar la llave en una caja fuerte y dejar solo una referencia de retiro en el documento. GitHub Secrets actúa como esa caja fuerte encriptada del repositorio; el valor de la clave no se muestra en los logs ni en la interfaz. La expresión ${{ secrets.ANTHROPIC_API_KEY }} es una instrucción de referencia para que el entorno de ejecución tome la clave cifrada al ejecutarse. Esto te permite subir los archivos de configuración a git con total seguridad.
¿Cómo guardar la clave en GitHub Secrets? De forma manual: navega a Settings → Secrets and variables → Actions en tu repositorio, haz clic en New repository secret, asigna el nombre ANTHROPIC_API_KEY e introduce tu clave de API (obtenida de la consola de Anthropic como vimos en el artículo 04). Si utilizaste el comando /install-github-app, el asistente habrá realizado este paso por ti de forma automática.
Esto se alinea con las directrices de seguridad del artículo 21 sobre inyecciones de instrucciones: un usuario podría redactar un comentario malicioso en un issue o PR para intentar forzar a Claude a realizar acciones no deseadas. Sé precavido al usar integraciones en la nube: dado que Claude leerá comentarios que pueden ser escritos por usuarios externos, adopta las siguientes buenas prácticas:
| ❌ Práctica insegura | ✅ Práctica segura |
|---|---|
| Escribir la clave de API en el archivo YAML | Guardar la clave en GitHub Secrets y hacer referencia a ella |
| Otorgar permisos amplios o innecesarios | Limitar los permisos a Contents, Issues y PRs |
| Fusionar PRs creados por Claude sin validar | Revisar el código de los PRs de Claude antes de fusionar |
| Permitir menciones de cualquier usuario externo | Restringir el activador o revisar la cola de Actions en repositorios públicos |
Enfatizamos el punto de "revisar antes de fusionar": los PRs generados por Claude deben tratarse como el código escrito por un desarrollador junior o en prácticas, requiriendo tu validación y aprobación antes de integrarse a la rama principal.
💡 Resumen rápido: Protege tus credenciales guardándolas en GitHub Secrets y haciendo referencia a ellas con
${{ secrets.ANTHROPIC_API_KEY }}. Adopta permisos mínimos, revisa siempre los PRs resultantes antes de fusionar y mantente alerta ante posibles inyecciones de código en issues públicos.
07 Ejercicio práctico: intégralo en tu propio repositorio en 5 minutos
Pondremos en práctica lo aprendido configurando el flujo en un repositorio de pruebas propio. Utiliza un repositorio de pruebas donde tengas permisos de administrador para este ejercicio.
Requisitos: Permisos de administrador en el repositorio, una API key directa de Anthropic y Claude Code instalado en tu máquina local.
Paso 1: Ejecutar el asistente de instalación en tu terminal local
Abre una terminal en el directorio de tu proyecto local, inicia claude y ejecuta:
/install-github-appResultado esperado: El asistente abrirá una pestaña en tu navegador para autorizar la instalación de la aplicación Claude GitHub App en tu cuenta. Selecciona el repositorio de pruebas y confirma los permisos solicitados (lectura y escritura para Contents, Issues y PRs). El asistente también te guiará para guardar ANTHROPIC_API_KEY en los secretos del repositorio. Al finalizar, confirmará la escritura del archivo workflow.
Paso 2: Confirmar la creación del archivo de flujo de trabajo
Verifica en el directorio de tu proyecto local que se haya creado el archivo:
.github/workflows/claude.ymlResultado esperado: El archivo debe contener la estructura básica con el disparador issue_comment y la llamada a claude-code-action@v1. Esto indica que el flujo está configurado. Si no se creó, vuelve a ejecutar /install-github-app.
Paso 3: Validar que el secreto esté registrado en GitHub
Navega a Settings → Secrets and variables → Actions en la interfaz web de tu repositorio de GitHub.
Resultado esperado: Verás la variable ANTHROPIC_API_KEY listada en la sección de secretos de Actions. Su valor estará cifrado.
Paso 4: Crear un issue de prueba y realizar la mención
Crea un nuevo issue en tu repositorio de GitHub y escribe lo siguiente en el cuerpo o en los comentarios:
@claude añade un archivo de texto llamado saludo.txt que contenga el texto "Hola desde GitHub Actions" y abre un PR con este cambio.Resultado esperado:
- En la pestaña Actions de tu repositorio, verás que el flujo
Claude Codese ha iniciado y está en ejecución. - En unos minutos (el tiempo que toma inicializar el runner, clonar el código y ejecutar a Claude), Claude responderá en el issue confirmando sus acciones y abrirá un PR en el repositorio con el nuevo archivo
saludo.txt. - Ver el PR creado confirma que la integración funciona correctamente.
Si no se activa, revisa: si usaste @claude (arroba) en lugar de /claude (barra), si la aplicación tiene acceso al repositorio o si los Actions están desactivados en la configuración del repositorio.
Paso 5: Revisar y fusionar el PR
Abre el PR generado, valida el diff para confirmar que solo contiene la adición de saludo.txt con el texto correcto y procede a fusionar el PR una vez validado.
Haber completado estos pasos te da la experiencia real de configurar la integración: desde la instalación de la App, el registro de secretos y la definición del workflow, hasta la activación remota y validación de los resultados. El mismo proceso aplica para integrar Claude en tus repositorios de desarrollo cotidianos.
💡 Resumen rápido: El ejercicio práctico consta de cinco pasos: ejecutar
/install-github-app→ verificar el archivoclaude.yml→ validar el secreto en Settings → abrir un issue mencionando a@claude→ revisar y fusionar el PR resultante.
08 Resumen
En este artículo hemos visto cómo integrar Claude Code en GitHub Actions, permitiendo que actúe de forma autónoma en la nube a través de eventos y menciones en tu repositorio.
Repasemos los conceptos clave analizados:
| Área | Herramienta / Método | Detalle clave |
|---|---|---|
| Naturaleza de la herramienta | Claude Code en la nube | Se ejecuta en runners de GitHub y reacciona a eventos; lee CLAUDE.md del repositorio |
| Activador remoto | Mención @claude en comentarios | Se activa con la arroba (@), las barras diagonales (/) no tienen efecto |
| Instalación | Comando /install-github-app | Configuración guiada para App, secretos y workflow; requiere perfil de administrador |
| Configuración de flujo | Archivos YAML en .github/workflows/ | Define disparadores (on) y pasos; usar prompt para ejecución directa o omitirlo para menciones |
| Casos de uso | Revisión de código / Correcciones / Cron | Automatiza tareas repetitivas y análisis periódicos de forma autónoma |
| Seguridad | GitHub Secrets | Nunca guardes claves de API en el código; trata los PRs generados como el código de un programador junior |
Ahora puedes:
- Comprender la diferencia entre el uso local de Claude Code y su ejecución en la nube con GitHub Actions.
- Utilizar menciones
@claudeen los comentarios de GitHub para delegar tareas de programación y revisión. - Integrar la GitHub App y los flujos de trabajo utilizando el comando automatizado
/install-github-app. - Estructurar y personalizar archivos de configuración YAML para revisiones automáticas de código o tareas programadas.
- Proteger tus credenciales guardándolas en GitHub Secrets y aplicar criterios de seguridad ante comentarios externos.
Esta integración permite que Claude actúe como un miembro de tu equipo disponible a toda hora, ayudándote con las revisiones de código y correcciones menores de forma desatendida.
Nota para GitLab: Si tu infraestructura utiliza GitLab en lugar de GitHub, Claude cuenta con una integración similar para GitLab CI/CD. El flujo y la lógica son equivalentes, configurando la variable de entorno en las credenciales de CI/CD del proyecto y definiendo el flujo en
.gitlab-ci.yml.
El siguiente artículo es 45 "Agent SDK". La acción de GitHub Actions que hemos analizado en este artículo está construida en su capa interna sobre el Claude Agent SDK. Esto significa que la capacidad de Claude para analizar código y abrir PRs se apoya en un SDK de Node.js que te permite integrar las capacidades de Claude Code en cualquier desarrollo propio. En el próximo artículo exploraremos esta capa: cómo utilizar el SDK para crear tus propias herramientas de IA, procesar archivos en lotes o integrar a Claude en tus sistemas internos. Si deseas extender las funciones de Claude más allá de las menciones de GitHub Actions, el SDK te dará la flexibilidad necesaria.