Skip to content
Agentmart
Submit a tool

github

GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.

Skill by openclaw

IndexedMIT★ 392,925
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/openclaw-github

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.

Use cases: backend, devops

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/github

What's inside

Skill name
github
Description
GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.
License
MIT
Instructions
119 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# GitHub

Use `gh` for GitHub. Use `git` for local commits/branches/push/pull. Use code-reading tools for deep reviews.

## Auth

```bash
gh auth status
gh auth login
```

Gateway HOME can differ from operator HOME. If `gh` auth exists elsewhere, set `GH_CONFIG_DIR` in the gateway service env and restart.

## PRs

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

When creating or refreshing a PR body, append this final footer only when the Runtime line supplies `sessionUrl=<exact-url>`. Replace `<sessionUrl>` with that URL verbatim; do not construct or modify it. `sessionUrl` is supplied only for an explicitly public session. Omit the footer when it is absent; never substitute a private chat URL or enable sharing to obtain one. Preserve any publication marker before exactly one footer, and keep the footer final:

```text
---
[View the OpenClaw team session](<sessionUrl>)
```

URLs work directly: `gh pr view https://github.com/owner/repo/pull/55`.

### Async merges

Use the repository's native landing workflow when provided. For authorized
programmatic merges elsewhere, use GitHub's [async merge API](https://docs.github.com/en/rest/pulls/pulls#merge-a-pull-request-asynchronously)
through `gh api`; `gh pr merge` does not select this API. Supply the reviewed head
SHA, preserve required reviews/checks, and check stack membership first: submitting
a stacked PR also merges or queues its open downstack PRs, which need their own
review and authorization.

```bash
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'
```

Keep the Octopool guard header first after `api`. Protected older wrappers reject
it before they can rewrite merge authority; use an Octopool build containing
[the async guard](https://github.com/openclaw/octopool/pull/231) if it is refused.
The supported wrapper preserves SHA/method/action/bypass and only rewrites commit
text. Native `gh` can pass the header through. Do not remove it, disable policy,
or select a raw binary to work around a rejection.

Retain `details.uuid` from a `202` response before polling. `pending` means wait;
`merged` includes `details.sha`, which still needs final PR/head verification.
`enqueued` means queued, not merged: monitor the PR itself. To honor a configured
queue, use `merge_action=default` (or `merge_queue` to explicitly enqueue), omitting
direct-only method/title/message fields. Never enable `bypass_rules` without authorization.

On `failed`, report `details.message`. A `409` identifies an existing request;
inspect its UUID and options without resubmitting. Lost replies, polling errors,
and result expiry after 24 hours require reconciliation, never a blind retry or
synchronous fallback. Poll with bounded waits and fresh reads. Async processing
does not arm auto-merge for unmet checks; use the native workflow or `gh pr merge
--auto` when that behavior is authorized.

### Landing ownership

When the user asks to land or merge a PR, the terminal outcome is the PR's verified
GitHub state, not the end of a review, worker turn, or CI observation.

- Keep the job active until `gh pr view ... --json state,mergedAt,mergeCommit`
  proves `state` is `MERGED`.
- Treat review findings, merge conflicts, failed checks, and requested changes as
  continuation work when they are in scope. Patch them, rerun the required gates,
  and re-evaluate the exact updated head.
- A pending check is a wait state, not completion. Use the repository's supported
  wait or merge workflow; do not claim success from partial green checks.
- If work was delegated to a persistent session and that run stops before merge,
  continue the same session rather than treating its report as the final result.
- Stop as blocked only when continuing requires new authority, unavailable
  credentials, or a product decision that cannot be inferred safely. Report the
  exact blocker and leave the PR unmerged.

## Issues

```bash
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/runs

```bash
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

```bash
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` for structured output. Use `--body-file` for comments/bodies containing backticks, shell snippets, env names, or user text.

From openclaw/openclaw, MIT.

More from openclaw/openclaw

Signals

Stars
392,925
Forks
82,585
Open issues
4,992
Last commit (this folder)
Oct 18, 2026 (10 days ago)
Last release
Oct 24, 2026 (4 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

Same skill elsewhere

Copies of this SKILL.md published by others; search shows only one of them.

More from openclaw

Cite this page

github skill. Agent Mart. https://agentmart.dev/skills/openclaw-github (last updated 2026-10-24)