使用GitHubCLISkill using-gh-cli

这个技能用于通过GitHub命令行界面(gh)高效地与GitHub平台交互,包括代码浏览、拉取请求管理、issues处理、API调用等,适用于开发人员和DevOps工作流,关键词包括GitHub、CLI、代码管理、自动化、DevOps、版本控制、CI/CD。

DevOps 0 次安装 0 次浏览 更新于 3/14/2026

名称: 使用gh-cli 描述: “指导如何使用GitHub CLI (gh) 来与GitHub仓库、拉取请求、问题和API交互。在操作GitHub资源时使用,而不是WebFetch或curl。” 允许的工具:

  • Bash
  • Read
  • Glob
  • Grep

使用GitHub CLI (gh)

何时使用

  • 浏览或阅读代码 从GitHub仓库 — 克隆它并使用Read/Glob/Grep
  • 查看或创建拉取请求、问题、发布或gist
  • 获取仓库元数据或任何GitHub API数据
  • 与GitHub Actions交互(运行、工作流)
  • 任何涉及GitHub的任务,否则可能会使用curlwgetWebFetch

何时不使用

  • 非GitHub URL(使用WebFetchcurl处理那些)
  • 托管在GitHub Pages(*.github.io)上的公共网页内容 — 那些是常规网站
  • 本地git操作(git commitgit push) — 直接使用git

关键原则

始终使用gh而不是curlwgetWebFetch处理GitHub URL。 gh CLI自动使用用户的认证令牌,因此它:

  • 适用于私有仓库
  • 避免GitHub API速率限制(未认证:60次请求/小时;认证:5,000次请求/小时)
  • 正确处理分页
  • 提供结构化输出和过滤

浏览仓库代码

要读取或浏览GitHub仓库中的文件,将其克隆到本地并使用常规文件工具(Read、Glob、Grep)。这比通过API逐个获取文件快得多且更自然。

# 克隆到会话范围内的临时目录(会话结束时自动清理)
clonedir="$TMPDIR/gh-clones-${CLAUDE_SESSION_ID}"
mkdir -p "$clonedir"
gh repo clone owner/repo "$clonedir/repo" -- --depth 1

克隆后,使用探索代理(通过Task工具设置subagent_type=Explore)来调查克隆的仓库。探索代理可以高效地在克隆上使用Read、Glob和Grep — 比逐一调用它们好得多:

Task(subagent_type="Explore", prompt="在$clonedir/repo/中,查找身份验证是如何实现的")

对于已理解的克隆上的针对性查找,直接使用Read/Glob/Grep。

  • gh repo clone 使用用户的认证令牌 — 适用于私有仓库
  • --depth 1 保持克隆快速(仅最新提交)
  • 无需清理 — SessionEnd钩子自动移除克隆目录
  • 仅在需要快速单文件查找而不克隆时使用gh api

快速开始

# 查看仓库
gh repo view owner/repo

# 列出和查看拉取请求
gh pr list --repo owner/repo
gh pr view 123 --repo owner/repo

# 列出和查看问题
gh issue list --repo owner/repo
gh issue view 456 --repo owner/repo

# 调用任何REST API端点
gh api repos/owner/repo/contents/README.md

# 调用分页并使用jq过滤
gh api repos/owner/repo/pulls --paginate --jq '.[].title'

常见模式

替代方案 使用
WebFetchgithub.com/owner/repo gh repo view owner/repo
WebFetch 在blob/tree URL 使用gh repo clone克隆并使用Read/Glob/Grep
WebFetchraw.githubusercontent.com/... 使用gh repo clone克隆并使用Read
WebFetchapi.github.com/... gh api <端点>
curl https://api.github.com/... gh api <端点>
curl-H "Authorization: token ..." gh api <端点>(认证自动)
wget 下载发布资源 gh release download --repo owner/repo

参考

  • 拉取请求 — 列出、查看、创建、合并、评审拉取请求
  • 问题 — 列出、查看、创建、关闭、评论问题
  • 仓库和文件 — 查看仓库、浏览文件、克隆
  • API — 原始REST/GraphQL访问、分页、jq过滤
  • 发布 — 列出、创建、下载发布
  • Actions — 查看运行、触发工作流、检查日志