Codex的GitHub平台操作SKILL配置
本文记录 2026-09-19 的个人配置,由主代理使用
safe-github-platformSKILL 处理 GitHub 平台操作。文末提供完整SKILL.md,可直接复制。这些操作约定来自个人配置,不代表 Codex 的默认行为。
这套配置解决什么问题
代码推送完成后,可能还需要发布版本、上传程序附件、创建合并请求或查看自动化任务。这里使用 GitHub 命令行工具 gh 完成这些操作。
这套 SKILL 要求主代理先检查工具、账号、仓库和具体对象,再按用户确认的范围执行,最后查询实际结果。它由主代理直接执行,不委派专用子代理。
| 操作对象 | 用途 | 需要核对的内容 |
|---|---|---|
| Release | 发布一个版本及其程序附件 | 标签、对应提交、草稿或正式发布状态、附件名单 |
| PR(Pull Request,合并请求) | 提议将来源分支的修改合入目标分支 | 仓库、来源分支、目标分支、标题和正文 |
| Issue | 记录问题、建议或任务 | 仓库、编号、正文及拟执行的操作 |
| Actions | 查看或运行 GitHub 自动化工作流 | 工作流、运行编号、分支或提交、输入参数 |
普通 Git 暂存、提交和推送使用另一篇《Codex的Git提交与推送SKILL配置》中的 safe-git-github-workflow。Git 的凭据助手和 gh 认证分别处理,不能只凭一方可用就认定另一方也可用。
例如,“提交并推送文章”只需要 Git SKILL;“发布一个 Release 并上传程序附件”使用本文的 SKILL。如果发布前还需要推送代码,应先完成 Git SKILL 的确认、推送与核验。本文的 SKILL 不负责程序构建或服务器部署。
配置文件与调用规则
本文环境使用以下文件:
1 | ~/.codex/AGENTS.md |
这里记录的是本机实际使用的位置。换到其他环境时,应先核对当前客户端列出的技能和加载目录。
SKILL.md 包含名称、适用条件和执行说明。Codex 先读取名称和描述,决定使用后再加载完整内容;因此,完整流程放在 SKILL 中,AGENTS.md 只保留调用约定即可。OpenAI Docs:构建技能
可以将以下约定加入已有的 AGENTS.md:
1 | # GitHub 平台操作 |
文末 SKILL 中的“全局授权规则”指所在环境的操作授权要求。复制时还需保留自己环境中的授权规则;上面的调用约定明确了本文要求的确认步骤。
GitHub 平台 SKILL 的四个步骤
1. 检查工具与身份
先确认 gh 的实际路径、版本和所需子命令,只使用系统 PATH、用户级或系统级安装目录中的工具,排除项目目录中的同名程序。
Windows 下先核对运行账号。如果沙箱账号与正常登录用户不同,或无法可靠确认,应在首次认证检查前申请宿主用户环境执行。
随后确认目标主机上的登录账号和必要权限。只报告认证是否有效、账号和必要权限,不读取或输出令牌、Cookie 等原始凭据。
缺少工具、认证或权限时说明原因并停止,不自动登录、切换账号、扩大权限或运行 gh auth setup-git。获得工具执行权限,也不等于获得发布或修改远端内容的许可。
2. 核对目标与内容
在操作前确认主机、owner/repo、仓库可见性,以及具体的标签、PR 编号、Issue 编号或工作流运行 ID。命令应显式指定目标仓库,查询优先使用便于逐项核对的结构化结果。
发布文字、附件和准备展示的日志都要检查敏感信息。仓库可见性未知时按公开仓库检查;发现问题只报告类型和位置,不回显敏感值。
程序附件逐个列出准确文件名和路径,不使用通配符上传,避免把临时文件、调试资料或本地配置一起传到远端。
3. 按确认范围操作
远端写入前,说明准确对象、操作范围、影响和恢复方式,并取得本次明确许可。账号具备权限、对象已经存在或之前执行成功,都不能代替这次确认。
Release 与程序附件
先核对标签对应的提交、草稿或正式发布状态,以及待上传的附件。本文配置默认使用已有远端标签,并要求创建命令带 --verify-tag;远端没有该标签时,命令会停止。GitHub CLI:创建 Release
若需要新建标签,另行确认准确提交,不隐式采用默认分支的最新提交。同名附件不能自动覆盖。草稿和正式发布也应明确区分,因为正式发布后其他人可能获取内容,撤销不能保证收回。
PR
先确认来源分支已存在于远端,以及希望合入哪个目标分支。创建时显式指定 --head 和 --base,避免依赖当前目录或默认值判断。
不要把 gh pr create --dry-run 当作完全只读的预演:官方文档说明它仍可能推送 Git 改动。GitHub CLI:创建 PR
创建 PR 不包含合并或删除分支的许可。需要先推送来源分支时,先执行 Git SKILL 的确认和验证流程。
Issue 与 Actions
Issue 操作需要确认具体仓库、编号和变更内容;查询不附带编辑或关闭。
触发 Actions 前明确工作流、运行的分支或提交,以及输入参数。使用 gh workflow run 手动触发时,工作流需要支持 workflow_dispatch;--ref 用于选择包含工作流版本的分支或标签。GitHub CLI:运行工作流
查看运行状态不等于允许触发、重跑或取消工作流,这些操作分别按准确对象确认。
4. 核验并简报
执行后立即查询实际状态,返回准确目标、链接、结果和本次变化。
| 操作 | 应核验的结果 |
|---|---|
| Release 与附件 | 标签和发布状态是否正确,预期附件是否存在 |
| PR | 实际来源分支、目标分支、标题和状态是否符合确认范围 |
| Issue | 对应编号的内容或状态是否按要求变化 |
| Actions | 运行对象是否正确,目前处于排队、运行中还是已完成状态 |
工作流已触发不代表运行成功;运行成功也不能自动证明网站部署符合预期。若任务包含部署验证,还需要检查相应结果。
部分完成或结果不明时先查询,不能盲目重复创建、上传或触发。失败时说明停在哪一步和哪些内容已经改变,不输出完整日志或敏感信息。
如何提出任务
请求中尽量写清仓库、对象和期望操作。例如,下面只表示查询:
1 | 检查指定仓库中某次 Actions 运行失败的原因,返回失败步骤和必要的错误摘要。 |
需要写入远端时,可以先把候选内容准备好,再确认执行范围:
1 | 为指定仓库的已有远端标签准备 Release 标题、说明和准确附件名单,核验后展示发布对象、影响和恢复方式,等待我确认发布。 |
这里的“指定仓库”和“已有远端标签”需要在实际任务中换成准确值。发布文字、附件名单或分支发生变化时,也应同步调整确认范围。
常见问题
为什么不与 Git 提交放在同一个 SKILL 中
Git 提交与推送处理本地版本记录和远端分支,本文处理 GitHub 平台对象。分别配置后,普通提交不必检查 gh;处理 Release 或 PR 时才读取对应规则。
创建 Release 会顺便编译程序吗
不会。本文配置负责检查和上传已准备好的附件。需要构建程序或部署服务器时,应在任务中另外明确。
已登录 gh,为什么仍然要求确认
登录和权限检查只说明工具能否执行操作;发布到哪个仓库、上传哪些文件、是否覆盖或改变状态,需要按本次任务确认。
操作报错后能否直接重试
先核验对象是否已经创建或修改,区分完全失败和部分完成。确认实际状态后,再决定后续动作,避免重复发布、重复上传或重复触发。
SKILL
以下是 2026-09-19 使用的 safe-github-platform/SKILL.md 完整内容,可复制到前面列出的同名文件中,配合本文的 AGENTS.md 调用约定使用。
本文保留这个日期的配置版本,后续本地微调不一定同步到文章;流程发生明显变化时再更新本节。
1 | --- |