[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-openclaw-openclaw-skills-github":3},{"error":4,"detail":5,"metadata":23,"markdownContent":24,"rawMarkdown":20},false,{"repo_full_name":6,"owner":7,"repo_name":7,"repo_forks":8,"skill_path":9,"repo_stars":10,"name":11,"category_id":12,"description":13,"file_tree":14,"skill_md_content":20,"skill_id":21,"skill_key":22},"openclaw/openclaw","openclaw",62387,"skills/github",323670,"github",1,"GitHub operations via `gh` CLI: issues, PRs, CI runs, code review, API queries. Use when: (1) checking PR status or CI, (2) creating/commenting on issues, (3) listing/filtering PRs or issues, (4) viewing run logs. NOT for: complex web UI interactions requiring manual browser flows (use browser tooling when available), bulk operations across many repos (script with gh api), or when gh auth is not configured.",[15],{"name":16,"path":17,"size":18,"type":19},"SKILL.md","skills/github/SKILL.md",4125,"file","---\nname: github\ndescription: \"GitHub operations via `gh` CLI: issues, PRs, CI runs, code review, API queries. Use when: (1) checking PR status or CI, (2) creating/commenting on issues, (3) listing/filtering PRs or issues, (4) viewing run logs. NOT for: complex web UI interactions requiring manual browser flows (use browser tooling when available), bulk operations across many repos (script with gh api), or when gh auth is not configured.\"\nmetadata:\n  {\n    \"openclaw\":\n      {\n        \"emoji\": \"🐙\",\n        \"requires\": { \"bins\": [\"gh\"] },\n        \"install\":\n          [\n            {\n              \"id\": \"brew\",\n              \"kind\": \"brew\",\n              \"formula\": \"gh\",\n              \"bins\": [\"gh\"],\n              \"label\": \"Install GitHub CLI (brew)\",\n            },\n            {\n              \"id\": \"apt\",\n              \"kind\": \"apt\",\n              \"package\": \"gh\",\n              \"bins\": [\"gh\"],\n              \"label\": \"Install GitHub CLI (apt)\",\n            },\n          ],\n      },\n  }\n---\n\n# GitHub Skill\n\nUse the `gh` CLI to interact with GitHub repositories, issues, PRs, and CI.\n\n## When to Use\n\n✅ **USE this skill when:**\n\n- Checking PR status, reviews, or merge readiness\n- Viewing CI/workflow run status and logs\n- Creating, closing, or commenting on issues\n- Creating or merging pull requests\n- Querying GitHub API for repository data\n- Listing repos, releases, or collaborators\n\n## When NOT to Use\n\n❌ **DON'T use this skill when:**\n\n- Local git operations (commit, push, pull, branch) → use `git` directly\n- Non-GitHub repos (GitLab, Bitbucket, self-hosted) → different CLIs\n- Cloning repositories → use `git clone`\n- Reviewing actual code changes → use `coding-agent` skill\n- Complex multi-file diffs → use `coding-agent` or read files directly\n\n## Setup\n\n```bash\n# Authenticate (one-time)\ngh auth login\n\n# Verify\ngh auth status\n```\n\n## Common Commands\n\n### Pull Requests\n\n```bash\n# List PRs\ngh pr list --repo owner/repo\n\n# Check CI status\ngh pr checks 55 --repo owner/repo\n\n# View PR details\ngh pr view 55 --repo owner/repo\n\n# Create PR\ngh pr create --title \"feat: add feature\" --body \"Description\"\n\n# Merge PR\ngh pr merge 55 --squash --repo owner/repo\n```\n\n### Issues\n\n```bash\n# List issues\ngh issue list --repo owner/repo --state open\n\n# Create issue\ngh issue create --title \"Bug: something broken\" --body \"Details...\"\n\n# Close issue\ngh issue close 42 --repo owner/repo\n```\n\n### CI/Workflow Runs\n\n```bash\n# List recent runs\ngh run list --repo owner/repo --limit 10\n\n# View specific run\ngh run view \u003Crun-id> --repo owner/repo\n\n# View failed step logs only\ngh run view \u003Crun-id> --repo owner/repo --log-failed\n\n# Re-run failed jobs\ngh run rerun \u003Crun-id> --failed --repo owner/repo\n```\n\n### API Queries\n\n```bash\n# Get PR with specific fields\ngh api repos/owner/repo/pulls/55 --jq '.title, .state, .user.login'\n\n# List all labels\ngh api repos/owner/repo/labels --jq '.[].name'\n\n# Get repo stats\ngh api repos/owner/repo --jq '{stars: .stargazers_count, forks: .forks_count}'\n```\n\n## JSON Output\n\nMost commands support `--json` for structured output with `--jq` filtering:\n\n```bash\ngh issue list --repo owner/repo --json number,title --jq '.[] | \"\\(.number): \\(.title)\"'\ngh pr list --json number,title,state,mergeable --jq '.[] | select(.mergeable == \"MERGEABLE\")'\n```\n\n## Templates\n\n### PR Review Summary\n\n```bash\n# Get PR overview for review\nPR=55 REPO=owner/repo\necho \"## PR #$PR Summary\"\ngh pr view $PR --repo $REPO --json title,body,author,additions,deletions,changedFiles \\\n  --jq '\"**\\(.title)** by @\\(.author.login)\\n\\n\\(.body)\\n\\n📊 +\\(.additions) -\\(.deletions) across \\(.changedFiles) files\"'\ngh pr checks $PR --repo $REPO\n```\n\n### Issue Triage\n\n```bash\n# Quick issue triage view\ngh issue list --repo owner/repo --state open --json number,title,labels,createdAt \\\n  --jq '.[] | \"[\\(.number)] \\(.title) - \\([.labels[].name] | join(\", \")) (\\(.createdAt[:10]))\"'\n```\n\n## Notes\n\n- Always specify `--repo owner/repo` when not in a git directory\n- Use URLs directly: `gh pr view https://github.com/owner/repo/pull/55`\n- Rate limits apply; use `gh api --cache 1h` for repeated queries\n","4e2e8b79-98c9-585e-8005-bfb3414611f5","openclaw-openclaw-skills-github",{"name":11,"description":13},"\u003Ch1>GitHub Skill\u003C/h1>\n\u003Cp>Use the \u003Ccode>gh\u003C/code> CLI to interact with GitHub repositories, issues, PRs, and CI.\u003C/p>\n\u003Ch2>When to Use\u003C/h2>\n\u003Cp>✅ \u003Cstrong>USE this skill when:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>Checking PR status, reviews, or merge readiness\u003C/li>\n\u003Cli>Viewing CI/workflow run status and logs\u003C/li>\n\u003Cli>Creating, closing, or commenting on issues\u003C/li>\n\u003Cli>Creating or merging pull requests\u003C/li>\n\u003Cli>Querying GitHub API for repository data\u003C/li>\n\u003Cli>Listing repos, releases, or collaborators\u003C/li>\n\u003C/ul>\n\u003Ch2>When NOT to Use\u003C/h2>\n\u003Cp>❌ \u003Cstrong>DON&#39;T use this skill when:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>Local git operations (commit, push, pull, branch) → use \u003Ccode>git\u003C/code> directly\u003C/li>\n\u003Cli>Non-GitHub repos (GitLab, Bitbucket, self-hosted) → different CLIs\u003C/li>\n\u003Cli>Cloning repositories → use \u003Ccode>git clone\u003C/code>\u003C/li>\n\u003Cli>Reviewing actual code changes → use \u003Ccode>coding-agent\u003C/code> skill\u003C/li>\n\u003Cli>Complex multi-file diffs → use \u003Ccode>coding-agent\u003C/code> or read files directly\u003C/li>\n\u003C/ul>\n\u003Ch2>Setup\u003C/h2>\n\u003Cdiv class=\"md-code-block\">\u003Cdiv class=\"md-code-lang\">bash\u003C/div>\u003Cpre>\u003Ccode class=\"hljs language-bash\">\u003Cspan class=\"hljs-comment\"># Authenticate (one-time)\u003C/span>\ngh auth login\n\n\u003Cspan class=\"hljs-comment\"># Verify\u003C/span>\ngh auth status\u003C/code>\u003C/pre>\u003C/div>\u003Ch2>Common Commands\u003C/h2>\n\u003Ch3>Pull Requests\u003C/h3>\n\u003Cdiv class=\"md-code-block\">\u003Cdiv class=\"md-code-lang\">bash\u003C/div>\u003Cpre>\u003Ccode class=\"hljs language-bash\">\u003Cspan class=\"hljs-comment\"># List PRs\u003C/span>\ngh \u003Cspan class=\"hljs-built_in\">pr\u003C/span> list --repo owner/repo\n\n\u003Cspan class=\"hljs-comment\"># Check CI status\u003C/span>\ngh \u003Cspan class=\"hljs-built_in\">pr\u003C/span> checks 55 --repo owner/repo\n\n\u003Cspan class=\"hljs-comment\"># View PR details\u003C/span>\ngh \u003Cspan class=\"hljs-built_in\">pr\u003C/span> view 55 --repo owner/repo\n\n\u003Cspan class=\"hljs-comment\"># Create PR\u003C/span>\ngh \u003Cspan class=\"hljs-built_in\">pr\u003C/span> create --title \u003Cspan class=\"hljs-string\">&quot;feat: add feature&quot;\u003C/span> --body \u003Cspan class=\"hljs-string\">&quot;Description&quot;\u003C/span>\n\n\u003Cspan class=\"hljs-comment\"># Merge PR\u003C/span>\ngh \u003Cspan class=\"hljs-built_in\">pr\u003C/span> merge 55 --squash --repo owner/repo\u003C/code>\u003C/pre>\u003C/div>\u003Ch3>Issues\u003C/h3>\n\u003Cdiv class=\"md-code-block\">\u003Cdiv class=\"md-code-lang\">bash\u003C/div>\u003Cpre>\u003Ccode class=\"hljs language-bash\">\u003Cspan class=\"hljs-comment\"># List issues\u003C/span>\ngh issue list --repo owner/repo --state open\n\n\u003Cspan class=\"hljs-comment\"># Create issue\u003C/span>\ngh issue create --title \u003Cspan class=\"hljs-string\">&quot;Bug: something broken&quot;\u003C/span> --body \u003Cspan class=\"hljs-string\">&quot;Details...&quot;\u003C/span>\n\n\u003Cspan class=\"hljs-comment\"># Close issue\u003C/span>\ngh issue close 42 --repo owner/repo\u003C/code>\u003C/pre>\u003C/div>\u003Ch3>CI/Workflow Runs\u003C/h3>\n\u003Cdiv class=\"md-code-block\">\u003Cdiv class=\"md-code-lang\">bash\u003C/div>\u003Cpre>\u003Ccode class=\"hljs language-bash\">\u003Cspan class=\"hljs-comment\"># List recent runs\u003C/span>\ngh run list --repo owner/repo --\u003Cspan class=\"hljs-built_in\">limit\u003C/span> 10\n\n\u003Cspan class=\"hljs-comment\"># View specific run\u003C/span>\ngh run view &lt;run-id&gt; --repo owner/repo\n\n\u003Cspan class=\"hljs-comment\"># View failed step logs only\u003C/span>\ngh run view &lt;run-id&gt; --repo owner/repo --log-failed\n\n\u003Cspan class=\"hljs-comment\"># Re-run failed jobs\u003C/span>\ngh run rerun &lt;run-id&gt; --failed --repo owner/repo\u003C/code>\u003C/pre>\u003C/div>\u003Ch3>API Queries\u003C/h3>\n\u003Cdiv class=\"md-code-block\">\u003Cdiv class=\"md-code-lang\">bash\u003C/div>\u003Cpre>\u003Ccode class=\"hljs language-bash\">\u003Cspan class=\"hljs-comment\"># Get PR with specific fields\u003C/span>\ngh api repos/owner/repo/pulls/55 --jq \u003Cspan class=\"hljs-string\">&#x27;.title, .state, .user.login&#x27;\u003C/span>\n\n\u003Cspan class=\"hljs-comment\"># List all labels\u003C/span>\ngh api repos/owner/repo/labels --jq \u003Cspan class=\"hljs-string\">&#x27;.[].name&#x27;\u003C/span>\n\n\u003Cspan class=\"hljs-comment\"># Get repo stats\u003C/span>\ngh api repos/owner/repo --jq \u003Cspan class=\"hljs-string\">&#x27;{stars: .stargazers_count, forks: .forks_count}&#x27;\u003C/span>\u003C/code>\u003C/pre>\u003C/div>\u003Ch2>JSON Output\u003C/h2>\n\u003Cp>Most commands support \u003Ccode>--json\u003C/code> for structured output with \u003Ccode>--jq\u003C/code> filtering:\u003C/p>\n\u003Cdiv class=\"md-code-block\">\u003Cdiv class=\"md-code-lang\">bash\u003C/div>\u003Cpre>\u003Ccode class=\"hljs language-bash\">gh issue list --repo owner/repo --json number,title --jq \u003Cspan class=\"hljs-string\">&#x27;.[] | &quot;\\(.number): \\(.title)&quot;&#x27;\u003C/span>\ngh \u003Cspan class=\"hljs-built_in\">pr\u003C/span> list --json number,title,state,mergeable --jq \u003Cspan class=\"hljs-string\">&#x27;.[] | select(.mergeable == &quot;MERGEABLE&quot;)&#x27;\u003C/span>\u003C/code>\u003C/pre>\u003C/div>\u003Ch2>Templates\u003C/h2>\n\u003Ch3>PR Review Summary\u003C/h3>\n\u003Cdiv class=\"md-code-block\">\u003Cdiv class=\"md-code-lang\">bash\u003C/div>\u003Cpre>\u003Ccode class=\"hljs language-bash\">\u003Cspan class=\"hljs-comment\"># Get PR overview for review\u003C/span>\nPR=55 REPO=owner/repo\n\u003Cspan class=\"hljs-built_in\">echo\u003C/span> \u003Cspan class=\"hljs-string\">&quot;## PR #\u003Cspan class=\"hljs-variable\">$PR\u003C/span> Summary&quot;\u003C/span>\ngh \u003Cspan class=\"hljs-built_in\">pr\u003C/span> view \u003Cspan class=\"hljs-variable\">$PR\u003C/span> --repo \u003Cspan class=\"hljs-variable\">$REPO\u003C/span> --json title,body,author,additions,deletions,changedFiles \\\n  --jq \u003Cspan class=\"hljs-string\">&#x27;&quot;**\\(.title)** by @\\(.author.login)\\n\\n\\(.body)\\n\\n📊 +\\(.additions) -\\(.deletions) across \\(.changedFiles) files&quot;&#x27;\u003C/span>\ngh \u003Cspan class=\"hljs-built_in\">pr\u003C/span> checks \u003Cspan class=\"hljs-variable\">$PR\u003C/span> --repo \u003Cspan class=\"hljs-variable\">$REPO\u003C/span>\u003C/code>\u003C/pre>\u003C/div>\u003Ch3>Issue Triage\u003C/h3>\n\u003Cdiv class=\"md-code-block\">\u003Cdiv class=\"md-code-lang\">bash\u003C/div>\u003Cpre>\u003Ccode class=\"hljs language-bash\">\u003Cspan class=\"hljs-comment\"># Quick issue triage view\u003C/span>\ngh issue list --repo owner/repo --state open --json number,title,labels,createdAt \\\n  --jq \u003Cspan class=\"hljs-string\">&#x27;.[] | &quot;[\\(.number)] \\(.title) - \\([.labels[].name] | join(&quot;, &quot;)) (\\(.createdAt[:10]))&quot;&#x27;\u003C/span>\u003C/code>\u003C/pre>\u003C/div>\u003Ch2>Notes\u003C/h2>\n\u003Cul>\n\u003Cli>Always specify \u003Ccode>--repo owner/repo\u003C/code> when not in a git directory\u003C/li>\n\u003Cli>Use URLs directly: \u003Ccode>gh pr view https://github.com/owner/repo/pull/55\u003C/code>\u003C/li>\n\u003Cli>Rate limits apply; use \u003Ccode>gh api --cache 1h\u003C/code> for repeated queries\u003C/li>\n\u003C/ul>\n"]