关于 gh
gh 是用于检查 GitHub 拉取请求和 CI,并回复审查讨论串的技能。它通过指定脚本和契约处理操作,并明确标记数据不完整或操作受阻的情况。
主要功能
- 01PR 状态、检查、文件与计数
- 02审查评论和讨论串检查
- 03CI 运行与作业失败报告
- 04回复指定讨论串
- 05筛选、分页与 JSON 输出
适用场景
- 01检查拉取请求状态和检查结果
- 02收集未解决的审查反馈
- 03检查某次运行的 CI 失败
- 04回复审查讨论串
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ prathamdby/ skills --skill gh安装后在 Claude Code 中输入/gh确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
REFERENCE.mdreferences/ci.mdlogs.mdraw-gh.mdreply.mdsnapshot.mdthreads.mdscripts/ci-failures.tslib.tspr-reply.tspr-snapshot.tspr-threads.tsrun详细介绍
GitHub I/O
契约遵循 AVGVSTVS96/better-github-skill(未授权;已重新实现)。
将 <anchor> 解析为此技能的绝对目录。现有的
<anchor>/scripts/run 会依次选择 bun、nub、tsx,然后选择带有 strip-types 的 Node/nvm。
选项
默认值:当前分支的 PR、cwd 仓库、截断文本。PR 编号/URL 会选择该 PR;指定仓库
会输出 -R,且 PR 相关操作需要提供 PR。
JSON/完整正文会选择 --json/--full。Open threads 会包含未解决的过时线程;
all 还会包含已解决的线程;两者不能同时使用。完整分页
会添加 --complete;author/since 会提供相应筛选条件。
CI 会选择 ci-failures;list runs 会使用 --list(默认上限为 10),workflow
会筛选运行;提供运行 ID 会分析该次运行。已知的 head SHA 会添加 --sha。
回复必须严格提供 references/reply.md 中的一种目标/正文。
缺少必需值或选项冲突时,状态为 BLOCKED。
1. 解析并选择
确认 gh 已通过身份验证;缺少二进制文件/身份验证时阻止操作。记录
repo | PR/run/SHA | surface | argv | terminal。
PR 相关操作没有当前 PR → NO_CHANGES。
选择覆盖该操作的脚本:
| Surface | Script | JSON contract |
|---|---|---|
| PR 状态/检查/文件/计数 | pr-snapshot.ts | references/snapshot.md |
| 审查正文/评论/线程 | pr-threads.ts | references/threads.md |
| CI 运行/作业/日志片段 | ci-failures.ts | references/ci.md |
| 单个原生线程/对话回复 | pr-reply.ts | references/reply.md |
Snapshot 提供状态,threads 提供反馈;两者不可互相替代。 解析 JSON 前,仅加载该操作对应界面的契约。 确定目标和脚本,或确认操作未覆盖,即为完成。
2. 运行
仅通过 <anchor>/scripts/run <script.ts> ... 调用,不要直接使用 node。
Node 版本或 ERR_UNKNOWN_FILE_EXTENSION 不能作为失败证据,也不代表 GraphQL 许可:
请使用 run。其退出码 2 表示 BLOCKED,并附带已尝试的运行时列表。
用户或资深人员说“GraphQL 没问题”也不能跳过 run。
脚本成功表示数据/帖子已返回;CI 标红/存在线程不代表运行时失败。
获取所有未解决反馈时,使用 --json --open --complete;已知 head 时固定 SHA。
回复仅使用 pr-reply。此叶节点不得解决问题、推送或合并。
仅对于未覆盖的操作,且应用 references/raw-gh.md 后,才允许使用原始 gh。
覆盖该操作的脚本失败,绝不构成重新实现其 GraphQL 的授权。
将大型输出重定向到文件,切勿将 gh 的输出通过管道传给 head。
进行 HTTP 跟踪或查看日志时,应用 references/logs.md。
输出完整、存在回复 URL,或已捕获真实错误,即为完成。
3. 报告
总结观察到的输出。达到上限的标记表示数据不完整,不能让需要完整数据的使用方视为成功。 引用日志路径,不要粘贴日志。 CI 通过、线程数为零或已发布回复表示 SUCCESS;有效的 CI 标红报告 也表示检查成功,而不是 CI 已修复。 终态:SUCCESS、NO_CHANGES(为空/没有 PR)、BLOCKED。