SuperAPI AI 工具集

cli-gh

部署与运维

查看项目

更新于 10-16 03:16

技能介绍

用途:面向 GitHub CLI(gh)的自动化操作技能,处理仓库读取、工作流运行、搜索、Codespaces、发布、配置以及 gh 命令语法等问题。该技能声明为协调豁免,其声明范围内的工作跳过 ai-coord 门禁。

路由:撰写或更新拉取请求、issue、issue 评论或 discussion 应改用 yeet,由 yeet 负责语义分析、仓库模板、写作风格、幂等性与直接发布。仓库重命名走 repo-rename,以保证 GitHub 与本地连续性同步。

权限:读取与检查无需确认;仅在用户明确要求该结果时执行可逆或普通的 GitHub 写入;绝不删除仓库、发布/资产、工作流运行/缓存、密钥/变量、密钥对、Codespaces、扩展或 gist。标签删除是唯一的破坏性例外:需先展示目标仓库、确切标签、命令及对 issue/PR 的影响,并在后续消息中获得批准后才执行 gh label delete ... --yes。

工作流:cwd 不明确时显式解析仓库;用首个必需的只读命令验证认证,仅在诊断认证时运行 gh auth status。用已安装的 gh <command> <subcommand> --help 解析标志、JSON 字段与命令行为,CLI 的 JSON 字段名可能与 API 不同,结构化输出优先用 --json 配合 --jq。范围较大的写入需预览仓库、确切目标、命令及 issue/PR 影响;已请求过的普通写入无需二次批准。

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 worktree 而非切换当前分支;gh search issues --search-type semantic|hybrid 按相关性排序,仅限 issues、单页、不支持 --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 关闭;issue/PR 创建、编辑与评论的 --attach '<file>#<alt>' 可上传图片或视频,这些写入应走 yeet。

完成标准:命令输出验证了所请求的 GitHub 数据或状态即完成;写入后获取结果资源;部分或模糊失败时先检查是否已变更再重试;报告已验证状态与 URL 或稳定标识符;未完成时给出具体错误与下一步,并区分未知结果与确认失败。