关于 cli-gh
cli-gh 是用于协调 GitHub 仓库工作的命令行技能,面向 Agent。它将写入任务路由至 yeet,规定操作审批边界,并提供 CI 故障排查与结果验证流程。
主要功能
- 01通过 yeet 路由仓库写入
- 02设定 GitHub 写入安全规则
- 03指导 CI 故障排查
- 04使用结构化命令行输出
- 05变更后验证结果
适用场景
- 01调查 GitHub Actions 运行失败
- 02创建或更新议题与拉取请求
- 03确认已请求的 GitHub 变更结果
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ paulrberg/ agent-skills --skill cli-gh安装后在 Claude Code 中输入/cli-gh确认已加载。
附带文件agents/openai.yamlreferences/version.txt
详细介绍
GitHub CLI
此技能免于协调:对其声明的工作跳过 ai-coord 门禁。
路由
使用 yeet 创建或更新拉取请求、议题、议题评论或讨论。yeet 负责语义分析、仓库模板、Paul 的写作风格、幂等性和直接发布。通过 repo-rename 处理仓库重命名,以便 GitHub 和本地状态同步变更。
权限
- 无需确认即可读取和检查。
- 只有在用户明确要求达成相应结果时,才执行可逆或常规的 GitHub 写入操作。
- 切勿删除仓库、发布版本/资产、工作流运行/缓存、机密/变量、密钥、codespace、扩展或 gist。
- 删除标签是唯一的破坏性例外:展示目标仓库、确切标签、命令以及对议题/拉取请求的影响,然后在后续消息中要求用户批准,之后才能执行
gh label delete ... --yes。
工作流
-
如果当前工作目录存在歧义,明确解析仓库。让第一个必需的只读命令验证身份验证。仅在诊断身份验证问题时运行
gh auth status。 -
使用已安装的
gh <command> <subcommand> --help确认标志、JSON 字段和命令行为。CLI 的 JSON 字段名称可能与 API 字段不同。对于结构化输出,优先使用--json搭配--jq。 -
对大范围写入操作,预览涉及的仓库、确切目标、命令以及对议题/拉取请求的影响。用户已要求执行的常规写入无需再次批准。
CI 失败排查
用户询问 CI 失败原因或要求修复失败的运行时,使用此工作流。每条命令的输出都要限制在合理范围内。
-
查找分支或提交对应的失败运行:
gh run list --branch <branch> --status failure --limit 5 gh run list --commit <sha> --status failure --limit 5 -
仅提取失败步骤对应的行。切勿打印原始日志。
gh run view <run-id> --log-failed | rg --no-config -n 'error|FAIL|panic|✗' | head -80 -
修改代码前,先检查工具链是否发生偏移。对比
.github/workflows/*.yml中锁定的版本与本地--version输出。常见情形包括 Foundry(forge)、Bun(bun)、Node.js(node)和 Rust(rustc)。 -
如果用户要求修复,就修复原因并推送提交。
-
使用
gh run list --commit <new-sha> --limit 5获取新的运行 ID。然后监视该运行:gh run watch <run-id> --exit-status --compact -
使用
gh run view <run-id> --json url --jq .url报告运行 URL 和最终运行状态。
值得注意的标志(gh 2.98+)
gh pr checkout --worktree <path>和gh issue develop --checkout --worktree <path>会检出到关联的 git 工作树,而不是切换当前分支。gh search issues --search-type semantic|hybrid会按相关性排序:仅搜索议题,仅一页,不支持--sort/--order,且不适用于 GitHub Enterprise Server。gh config set api_host <gateway> --host <host>会将该主机的 API 流量经由网关路由。此功能为实验性功能,不构成安全边界。gh auth login和gh auth refresh默认会将 OAuth 设备码复制到剪贴板(2.101+)。如需退出此行为,运行gh config set clipboard disabled。gh auth login --expiring(2.103+)会优先使用由gh刷新的可过期 OAuth 令牌。如需在每次登录时都优先使用此类令牌,运行gh config set expiring_credentials enabled。每次需要令牌时运行gh auth token。切勿缓存其输出。GH_TOKEN和GITHUB_TOKEN的值永远不会刷新。- 在创建、编辑议题/拉取请求以及发表评论时使用
--attach '<file>#<alt>'可上传图片或视频。这些写入操作应通过yeet执行。从 2.103.2 起,GitHub App 安装令牌可以用于附件上传,权限由上传端点决定。
完成
当命令输出验证了所请求的 GitHub 数据或状态时,即视为完成。写入后,获取生成的资源。如果操作部分失败或结果不明确,重试前先检查状态是否已变更。报告已验证的状态及其 URL 或稳定标识符。未完成时,说明具体错误和后续操作,并区分结果未知与已确认失败。