mcpField
G
github-skill

github-skill

github.com/idanbeck开发1446 次安装2 天前更新
代码仓库

关于 github-skill

github-skill 是一项借助 `gh` CLI 读取、搜索和管理 GitHub PR 与 issue 的技能,面向需要跟踪代码审查和通知的开发者。它提供 PR 评论、评审、CI 状态及通知查询,并可将 PR 信息输出为便于记笔记的 Markdown。

主要功能

  1. 01列出并筛选 PR 与 issue
  2. 02查看 PR 详情、评论和评审
  3. 03查看 CI 检查状态与评审决定
  4. 04查询待处理的评审请求
  5. 05列出仓库与未读通知
  6. 06将 PR 详情导出为 Markdown

适用场景

  1. 01准备每日站会时检查待审 PR
  2. 02跟进 PR 的评审意见与 CI 状态
  3. 03查询 issue 和未读 GitHub 通知
  4. 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 - 尚无评审

要求

  • 已安装并完成身份验证的 gh CLI
  • Python 3.9+

安全说明

  • 使用现有的 gh CLI 身份验证
  • 此技能不存储凭据
  • 继承 gh auth status 中的权限

评论

支持 Markdown