mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-16 15:31:37 +00:00
* fix(xurl): use install kind "node" instead of invalid "npm" [AI] The xurl skill's second installer declares kind "npm", which is not a valid install kind. The installer switches on spec.kind with cases for brew/node/go/uv/download and a default of "unsupported installer", so the entry is dropped -- `openclaw skills info xurl` only offers the brew option, leaving no install path on machines without Homebrew. npm-backed installs use kind "node" (which honors skills.install.nodeManager, default npm). Only kind is changed; id/package/bins are left as-is. Verified against openclaw 2026.6.11 in a container: before (kind: npm): Install options: → Install xurl (brew) after (kind: node): Install options: → Install @xdevplatform/xurl (npm) * fix(github): drop non-functional "apt" install entry [AI] The github skill's second installer declares kind "apt", which is not a supported install kind (installer switch handles brew/node/go/uv/download + default "unsupported installer"). openclaw silently drops it -- `skills info github` only ever surfaces the brew option -- so the entry is dead, misleading metadata rather than a working Linux path. The remaining brew installer is cross-platform (Homebrew runs on Linux), so removing the dead entry loses no working path. Improving install paths for Linux users without Homebrew is tracked separately in #57555 (needs-product-decision).
78 lines
2.2 KiB
Markdown
78 lines
2.2 KiB
Markdown
---
|
|
name: github
|
|
description: "GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries."
|
|
metadata:
|
|
{
|
|
"openclaw":
|
|
{
|
|
"emoji": "🐙",
|
|
"requires": { "bins": ["gh"] },
|
|
"install":
|
|
[
|
|
{
|
|
"id": "brew",
|
|
"kind": "brew",
|
|
"formula": "gh",
|
|
"bins": ["gh"],
|
|
"label": "Install GitHub CLI (brew)",
|
|
},
|
|
],
|
|
},
|
|
}
|
|
---
|
|
|
|
# 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
|
|
gh pr merge 55 --repo owner/repo --squash
|
|
```
|
|
|
|
URLs work directly: `gh pr view https://github.com/owner/repo/pull/55`.
|
|
|
|
## 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.
|