Skills

gh-stack: gestionar PR apiladas con GitHub CLI

Úsalo si ya tienes GitHub CLI v2.0+ y necesitas gestionar ramas apiladas y Pull Requests. Instala primero la extensión gh-stack y ejecuta gh stack init solo después de confirmar que creará una rama.

Official source · gh-stack

Install

gh extension install github/gh-stack

Para quién

gh-stack es una extensión de GitHub CLI para gestionar ramas apiladas y Pull Requests. Encaja en quien ya usa GitHub CLI y necesita avanzar un conjunto ordenado de ramas como una stack. El resumen también dice que instalar la extensión requiere GitHub CLI v2.0+.

El material menciona que puedes instalar el gh-stack skill para que un agente de código IA entienda las PR apiladas y la línea de comandos gh stack; el extracto solo dice «instalar ese skill» y no da un segundo comando de instalación, así que no inventes un instalador que no aparece. El material no lista productos de agente; no lo trates como una función exclusiva de un editor. La página oficial de la guía es

https://github.com/github/gh-stack

Primera prueba en 3 minutos

El comando oficial de instalación es este del extracto:

gh extension install github/gh-stack

Requisito: GitHub CLI ya está en la máquina y la versión cumple el v2.0+ del resumen. Este comando escribe una extensión en la máquina, así que tiene efectos secundarios. Confirma que el repositorio y la cuenta actuales son el entorno donde quieres probar la stack, luego instala.

Comprobación de bajo riesgo tras instalar: no crees una rama de inmediato. Primero confirma que el comando gh stack ya lo encuentra el CLI. El material explica gh stack init como «empezar una stack nueva, y crear y extraer la primera rama»; eso cambia el árbol de trabajo, así que confirma antes de ejecutar:

gh stack init

Señal de éxito: tras instalar, gh reconoce el subcomando stack. Si confirmaste que quieres una stack nueva, después de init el repositorio actual tiene la primera rama nueva, y más tarde puedes ver metadatos JSON en .git/gh-stack (sin commitear). Si solo quieres leer la guía primero, detente tras una instalación correcta y no hagas init.

Casos de uso

Caso 1: empezar una rama apilada nueva. En un repositorio con la extensión instalada, confirma que puedes cambiar de rama y ejecuta gh stack init. El material lo escribe como crear y extraer la primera rama. El resumen también menciona luego añadir capas, hacer push, ver y enviar un conjunto de PR, pero el extracto no da la grafía completa de esos subcomandos posteriores. El criterio de cierre de este caso llega solo a «la primera rama está creada y extraída»; no escribas el push ni abrir una PR como pasos ya copiables.

Caso 2: comprobar dónde caen los metadatos de la stack, para saber qué mirar tras un rebase interrumpido. El material indica: los metadatos de la stack viven en .git/gh-stack, un JSON que no se commitea al repositorio y registra qué ramas pertenecen a qué stack y en qué orden; el estado de un rebase interrumpido se guarda aparte en .git/gh-stack-rebase-state. Es una comprobación de solo lectura: abre esas dos rutas, confirma que los archivos existen y que el JSON sigue el orden actual de ramas. No edites estos archivos a mano salvo que la misma página dé otros pasos; el extracto no da un formato de edición.

Límites de uso

La extensión solo cubre la gestión de ramas apiladas y Pull Requests. Los metadatos están en .git/gh-stack y no entran en el árbol versionado; el estado de rebase interrumpido está en .git/gh-stack-rebase-state. init crea y extrae una rama; no es un comando de solo lectura.

No inventes un comando de instalación de skill que no aparece en el extracto, y no trates añadir capas, push, ver o enviar del resumen como una lista de subcomandos ya dada. El material no nombra clientes ni dice cómo usarlo fuera de GitHub CLI. Más allá de esta instalación, init y ubicaciones de metadatos ya escritas, esta guía no cubre el resto.