CommunityProgramación y desarrollogithub.com

github

CLI de GitHub para issues, PRs, registros de CI, comentarios, revisiones, lanzamientos, repositorios y consultas a la API de gh.

¿Qué es github?

Esta habilidad proporciona una interfaz completa para interactuar con GitHub a través de la línea de comandos `gh`. Permite gestionar issues, pull requests, registros de integración continua, revisiones, comentarios, lanzamientos y repositorios, además de ejecutar consultas arbitrarias a la API de GitHub. Es especialmente útil para desarrolladores y agentes de IA que necesitan automatizar flujos de trabajo de GitHub, como fusiones asíncronas de PRs, verificación de estado de CI, e interacción con issues. La habilidad soporta plataformas como Claude Code, Cursor y Codex, y se basa en el binario `gh` con autenticación configurada. Incluye buenas prácticas para manejar autenticación, fusiones asíncronas con el encabezado Octopool, y verificación exhaustiva del estado de fusiones hasta confirmar que el PR está realmente fusionado en GitHub.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/skills/github

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace github?

Usa gh para GitHub. Usa git para commits/ramas/push/pull locales. Usa herramientas de lectura de código para revisiones profundas.

Autenticación

github status
gh auth login

El HOME de la puerta de enlace puede diferir del HOME del operador. Si existe autenticación gh en otro lugar, define GH_CONFIG_DIR en las variables de entorno del servicio de la puerta de enlace y reinicia.

PRs

gh pr list --repo owner/repo --json number,title,state,author,url
gh pr view 55 --repo owner/repo --json title,body,author,files,commits,reviews,reviewDecision
gh pr checks 55 --repo owner/repo
gh pr diff 55 --repo owner/repo
gh pr create --repo owner/repo --title "feat: título" --body-file /tmp/pr.md

Al crear o actualizar el cuerpo de un PR, agrega este pie de página final solo cuando la línea de Entorno de ejecución proporcione sessionUrl=<url-exacta>. Reemplaza <sessionUrl> con esa URL textualmente; no la construyas ni modifiques. Omite el pie de página cuando sessionUrl esté ausente. Conserva cualquier marcador de publicación antes de exactamente un pie de página, y mantén el pie de página al final:

---
[Ver la sesión del equipo OpenClaw](https://raw.githubusercontent.com/clawdbot/clawdbot/main/<sessionUrl>)

Las URLs funcionan directamente: gh pr view https://github.com/owner/repo/pull/55.

Fusiones asíncronas

Usa el flujo de trabajo nativo del repositorio cuando se proporcione. Para fusiones programáticas autorizadas en otros lugares, usa la API de fusión asíncrona de GitHub a través de gh api; gh pr merge no selecciona esta API. Proporciona el SHA de la cabeza revisada, conserva las revisiones/verificaciones requeridas y primero verifica la pertenencia a la pila: enviar un PR apilado también fusiona o encola sus PRs abiertos de la pila inferior, que necesitan su propia revisión y autorización.

gh api -H 'X-Octopool-Require: merge-async-v1' \
  --method PUT repos/owner/repo/pulls/55/merge-async \
  -H 'X-GitHub-Api-Version: 2026-03-10' \
  -f sha=REVIEWED_HEAD_SHA -f merge_method=squash -f merge_action=direct_merge
gh api -H 'X-Octopool-Require: merge-async-v1' \
  repos/owner/repo/pulls/55/merge-async/REQUEST_UUID \
  -H 'X-GitHub-Api-Version: 2026-03-10' -H 'Cache-Control: max-age=0'

Mantén el encabezado de protección Octopool primero después de api. Los wrappers protegidos más antiguos lo rechazan antes de que puedan reescribir la autoridad de fusión; usa una compilación de Octopool que contenga el guardia asíncrono si es rechazado. El wrapper compatible conserva SHA/método/acción/derivación y solo reescribe el texto del commit. El gh nativo puede pasar el encabezado. No lo elimines, desactives políticas ni selecciones un binario sin procesar para evitar un rechazo.

Conserva details.uuid de una respuesta 202 antes de hacer polling. pending significa espera; merged incluye details.sha, que aún necesita verificación final del PR/cabeza. enqueued significa en cola, no fusionado: monitorea el PR en sí. Para honrar una cola configurada, usa merge_action=default (o merge_queue para encolar explícitamente), omitiendo campos solo directos de método/título/mensaje. Nunca habilites bypass_rules sin autorización.

En caso de failed, reporta details.message. Un 409 identifica una solicitud existente; inspecciona su UUID y opciones sin reenviar. Respuestas perdidas, errores de polling y expiración de resultados después de 24 horas requieren reconciliación, nunca un reintento ciego o un respaldo síncrono. Haz polling con esperas acotadas y lecturas frescas. El procesamiento asíncrono no activa la fusión automática para verificaciones no cumplidas; usa el flujo de trabajo nativo o gh pr merge --auto cuando ese comportamiento esté autorizado.

Propiedad de la fusión

Cuando el usuario solicite fusionar un PR, el resultado final es el estado verificado del PR en GitHub, no el final de una revisión, turno de trabajador u observación de CI.

  • Mantén el trabajo activo hasta que gh pr view ... --json state,mergedAt,mergeCommit demuestre que state es MERGED.
  • Trata los hallazgos de revisión, conflictos de fusión, verificaciones fallidas y cambios solicitados como trabajo de continuación cuando estén dentro del alcance. Parchearlos, vuelve a ejecutar las puertas requeridas y reevalúa la cabeza actualizada exacta.
  • Una verificación pendiente es un estado de espera, no de finalización. Usa el flujo de trabajo de espera o fusión compatible del repositorio; no reclames éxito con verificaciones verdes parciales.
  • Si el trabajo fue delegado a una sesión persistente y esa ejecución se detiene antes de la fusión, continúa la misma sesión en lugar de tratar su informe como el resultado final.
  • Detente como bloqueado solo cuando continuar requiera nueva autoridad, credenciales no disponibles o una decisión de producto que no se pueda inferir de manera segura. Reporta el bloqueador exacto y deja el PR sin fusionar.

Issues

gh issue list --repo owner/repo --state open --json number,title,labels,url
gh issue view 42 --repo owner/repo --json title,body,comments,labels,state
gh issue create --repo owner/repo --title "Bug: ..." --body-file /tmp/issue.md
gh issue comment 42 --repo owner/repo --body-file /tmp/comment.md
gh issue close 42 --repo owner/repo --comment "Corregido en ..."

CI/ejecuciones

gh run list --repo owner/repo --limit 10
gh run view <run-id> --repo owner/repo --json status,conclusion,headSha,url
gh run view <run-id> --repo owner/repo --log-failed
gh run rerun <run-id> --repo owner/repo --failed

API

gh api repos/owner/repo/pulls/55 --jq '.title, .state, .user.login'
gh api repos/owner/repo/labels --jq '.[].name'
gh api --cache 1h repos/owner/repo --jq '{stars: .stargazers_count, forks: .forks_count}'

Usa --json + --jq para salida estructurada. Usa --body-file para comentarios/cuerpos que contengan comillas invertidas, fragmentos de shell, nombres de entorno o texto de usuario.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation. Codex chat binding defaults to the native Codex app-server plugin unless ACP is explicit or background spawn needs ACP.

add-model-provider

Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

agent-transcript

Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.

apple-notes

Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.

apple-reminders

List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.

auto-qa

Run OpenClaw-wide autonomous QA and live/stress campaigns across independent subsystem lanes, with verified fixes and a resumable evidence report.

autoreview

Structured code review through the shared OpenClaw agent-skills installation.

bear-notes

Create, search, and manage Bear notes via grizzly CLI.

blacksmith-testbox

Run Blacksmith Testbox for CI-parity checks, secrets, hosted services, migrations, or builds local cannot reproduce.

block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume.

bluebubbles

Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

channel-message-flows

Use when running QA Lab channel message flow evidence.

clawdtributor

Clawtributor PRs here, last week or another window: discover conversation refs, recheck GitHub, rank by impact.

clawhub

Search ClawHub for plugins by default, or skills when explicitly requested; install, verify, update, uninstall, publish, or sync skills.

Skills relacionados