github

CLI do GitHub para issues, PRs, logs de CI/check, comentários, reviews, releases, repositórios e consultas à API do gh.

O que é github?

Esta skill concede ao agente acesso completo ao ecossistema do GitHub por meio da ferramenta de linha de comando `gh`. Ela permite que o agente liste, visualize e crie issues e pull requests, faça merge de PRs usando a API assíncrona oficial do GitHub, consulte logs de execuções de CI/CD, envie comentários e reviews, e execute consultas arbitrárias à API REST do GitHub. A skill é projetada para plataformas como Claude Code, Cursor e Codex, e se baseia no arquivo SKILL.md para instruções precisas. Ela também trata de casos avançados como merges assíncronos com proteção de políticas (Octopool), gerenciamento de filas de merge e fusão de PRs empilhados. A responsabilidade pela conclusão de um merge é mantida até que o estado `MERGED` seja confirmado no GitHub, garantindo que o agente não interrompa prematuramente o fluxo de trabalho.

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

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que github faz?

Use gh para GitHub. Use git para commits/branches/push/pull locais. Use ferramentas de leitura de código para revisões aprofundadas.

Autenticação

gh auth status
gh auth login

O HOME do gateway pode ser diferente do HOME do operador. Se a autenticação gh existir em outro local, defina GH_CONFIG_DIR no ambiente do serviço de gateway e reinicie.

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: titulo" --body-file /tmp/pr.md

Ao criar ou atualizar o corpo de um PR, acrescente este rodapé final somente quando a linha de Runtime fornecer sessionUrl=<url-exata>. Substitua <sessionUrl> por essa URL exatamente; não construa nem modifique-a. sessionUrl é fornecida apenas para uma sessão explicitamente pública. Omita o rodapé quando estiver ausente; nunca substitua por uma URL de chat privado nem habilite compartilhamento para obter uma. Preserve qualquer marcador de publicação antes de exatamente um rodapé e mantenha o rodapé ao final:

---
[View the OpenClaw team session](https://raw.githubusercontent.com/clawdbot/clawdbot/main/<sessionUrl>)

As URLs funcionam diretamente: gh pr view https://github.com/owner/repo/pull/55.

Merges assíncronos

Use o fluxo de landing nativo do repositório quando fornecido. Para merges programáticos autorizados em outros lugares, use a API de merge assíncrono do GitHub por meio de gh api; gh pr merge não seleciona esta API. Forneça o SHA da head revisada, preserve revisões/checks obrigatórios e verifique primeiro a associação à pilha: submeter um PR empilhado também mescla ou enfileira seus PRs abertos downstream, que precisam de sua própria revisão e autorização.

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'

Mantenha o cabeçalho de guarda Octopool primeiro após api. Wrappers antigos protegidos rejeitam antes de poderem reescrever a autoridade de merge; use uma build do Octopool contendo a guarda assíncrona se for recusado. O wrapper suportado preserva SHA/método/ação/bypass e reescreve apenas o texto do commit. O gh nativo pode passar o cabeçalho. Não o remova, desabilite a política nem selecione um binário bruto para contornar uma rejeição.

Retenha details.uuid de uma resposta 202 antes de consultar. pending significa aguarde; merged inclui details.sha, que ainda precisa de verificação final do PR/head. enqueued significa enfileirado, não mesclado: monitore o PR em si. Para honrar uma fila configurada, use merge_action=default (ou merge_queue para enfileirar explicitamente), omitindo campos exclusivos de direto como método/título/mensagem. Nunca ative bypass_rules sem autorização.

Em caso de failed, relate details.message. Um 409 identifica uma requisição existente; inspecione seu UUID e opções sem reenviar. Respostas perdidas, erros de consulta e expiração de resultado após 24 horas exigem reconciliação, nunca uma nova tentativa cega ou fallback síncrono. Consulte com esperas limitadas e leituras atualizadas. O processamento assíncrono não arma auto-merge para checks não atendidos; use o fluxo nativo ou gh pr merge --auto quando esse comportamento for autorizado.

Responsabilidade pelo landing

Quando o usuário pedir para fazer o landing ou merge de um PR, o resultado final é o estado verificado do PR no GitHub, não o fim de uma revisão, turno de trabalhador ou observação de CI.

  • Mantenha o trabalho ativo até que gh pr view ... --json state,mergedAt,mergeCommit prove que state é MERGED.
  • Trate descobertas de revisão, conflitos de merge, checks com falha e alterações solicitadas como trabalho de continuação quando estiverem no escopo. Corrija-os, reexecute as portas obrigatórias e reavalie a head exata atualizada.
  • Um check pendente é um estado de espera, não de conclusão. Use o fluxo de espera ou merge suportado pelo repositório; não reivindique sucesso a partir de checks verdes parciais.
  • Se o trabalho foi delegado a uma sessão persistente e essa execução parar antes do merge, continue a mesma sessão em vez de tratar seu relatório como resultado final.
  • Pare como bloqueado somente quando continuar exigir nova autoridade, credenciais indisponíveis ou uma decisão de produto que não possa ser inferida com segurança. Relate o bloqueador exato e deixe o PR sem merge.

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 "Fixed in ..."

CI/execuções

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}'

Use --json + --jq para saída estruturada. Use --body-file para comentários/corpos contendo crases, trechos de shell, nomes de ambiente ou texto do usuário.

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, Grok Build, 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.

Habilidades Relacionadas