关于 github-skill
github-skill 是一项借助 `gh` CLI 读取、搜索和管理 GitHub PR 与 issue 的技能,面向需要跟踪代码审查和通知的开发者。它提供 PR 评论、评审、CI 状态及通知查询,并可将 PR 信息输出为便于记笔记的 Markdown。
主要功能
- 01列出并筛选 PR 与 issue
- 02查看 PR 详情、评论和评审
- 03查看 CI 检查状态与评审决定
- 04查询待处理的评审请求
- 05列出仓库与未读通知
- 06将 PR 详情导出为 Markdown
适用场景
- 01准备每日站会时检查待审 PR
- 02跟进 PR 的评审意见与 CI 状态
- 03查询 issue 和未读 GitHub 通知
- 04将 PR 信息整理为 Obsidian 笔记
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ idanbeck/ claude-skills --skill github-skill安装后在 Claude Code 中输入/github-skill确认已加载。
附带文件github_skill.py
详细介绍
GitHub 技能 - PR 和代码评审
读取、搜索和管理 GitHub 拉取请求与问题。查看评审、检查 CI 状态、跟踪通知。
无需设置
此技能使用 gh CLI,该工具应该已完成身份验证。使用以下命令验证:
gh auth status
命令
列出待处理的 PR
python3 ~/.claude/skills/github-skill/github_skill.py prs [--repo OWNER/REPO] [--mine] [--limit N] [--state STATE]
参数:
--repo/-r-owner/repo格式的仓库(如果当前位于 git 仓库中,则可选)--mine/-m- 仅显示你的 PR--limit/-l- 结果数量(默认值:20)--state/-s- 筛选:open、closed、merged、all(默认值:open)
获取 PR 详情
python3 ~/.claude/skills/github-skill/github_skill.py pr NUMBER [--repo OWNER/REPO] [--format FORMAT]
参数:
NUMBER- PR 编号--repo/-r- 仓库--format/-f- 输出格式:json(默认值)或vault(用于笔记的 Markdown)
获取 PR 评审评论
python3 ~/.claude/skills/github-skill/github_skill.py pr-comments NUMBER [--repo OWNER/REPO]
获取 PR 评审
python3 ~/.claude/skills/github-skill/github_skill.py pr-reviews NUMBER [--repo OWNER/REPO]
等待你评审的 PR
python3 ~/.claude/skills/github-skill/github_skill.py review-requests [--repo OWNER/REPO] [--limit N]
非常适合准备晨会——显示所有请求你评审的 PR。
列出问题
python3 ~/.claude/skills/github-skill/github_skill.py issues [--repo OWNER/REPO] [--mine] [--limit N] [--state STATE]
获取问题详情
python3 ~/.claude/skills/github-skill/github_skill.py issue NUMBER [--repo OWNER/REPO]
列出你的仓库
python3 ~/.claude/skills/github-skill/github_skill.py repos [--limit N]
未读通知
python3 ~/.claude/skills/github-skill/github_skill.py notifications [--limit N]
工作流示例
准备晨会
# See what PRs need your review
python3 ~/.claude/skills/github-skill/github_skill.py review-requests
# Check status of your open PRs
python3 ~/.claude/skills/github-skill/github_skill.py prs --mine
其中包含:
- 等待你评审的 PR(包含 CI 状态)
- 你待处理的 PR(包含评审决定)
晨会汇报格式:“评审 Andre 的 PR(EPO-428)——CI 通过,等待批准”
检查指定 PR
# Get full details
python3 ~/.claude/skills/github-skill/github_skill.py pr 123 --repo epochml/epoch
# See review comments
python3 ~/.claude/skills/github-skill/github_skill.py pr-comments 123 --repo epochml/epoch
# Get vault-formatted markdown
python3 ~/.claude/skills/github-skill/github_skill.py pr 123 --repo epochml/epoch --format vault
与 Linear 交叉引用
PR 标题通常包含 Linear 问题 ID(例如,“EPO-428:修复清单扁平化问题”)。此技能会在输出中自动提取这些 ID:
{
"number": 123,
"title": "EPO-428: Fix manifest flattening",
"linear_id": "EPO-428",
...
}
与 Linear 技能搭配使用:
# Get PR details
python3 ~/.claude/skills/github-skill/github_skill.py pr 123 --repo epochml/epoch
# Get Linear issue details
python3 ~/.claude/skills/linear-skill/linear_skill.py issue EPO-428
输出
所有命令默认输出 JSON。pr 命令的 --format vault 选项会输出适合 Obsidian 笔记的 Markdown:
## PR #123: EPO-428: Fix manifest flattening
**Status:** OPEN, Changes Requested
**Author:** @andre
**Linear:** EPO-428
**Link:** [epochml/epoch#123](https://github.com/epochml/epoch/pull/123)
### Checks
- CI: OK
- lint: OK
### Reviews
- @idan: CHANGES_REQUESTED - "Need to handle edge case..."
输出字段
PR 列表输出
{
"number": 123,
"title": "EPO-428: Fix manifest flattening",
"author": {"login": "andre"},
"state": "OPEN",
"reviewDecision": "CHANGES_REQUESTED",
"linear_id": "EPO-428",
"checks_summary": "5 passed, 1 pending",
"url": "https://github.com/epochml/epoch/pull/123"
}
评审决定值
APPROVED- 可以合并CHANGES_REQUESTED- 需要修改REVIEW_REQUIRED- 等待评审null- 尚无评审
要求
- 已安装并完成身份验证的
ghCLI - Python 3.9+
安全说明
- 使用现有的
ghCLI 身份验证 - 此技能不存储凭据
- 继承
gh auth status中的权限
评论
支持 Markdown