GitHub PR 附件
GitHub 本身是 BuildPurdue PR 截图和录屏的批准托管平台。本技能将本地被忽略的证据转换为 GitHub 托管的 PR 附件,而无需将媒体文件提交到仓库。
在 visual-proof 捕获证据之后、用户可见的 PR 被称为就绪之前使用此技能。
前置条件
- 确认证据文件存在且位于被忽略的
artifacts/目录下。 - 确认已通过
gh auth status验证 GitHub CLI 已对该仓库进行身份认证。 - 确认已安装的 CLI 支持附件功能,可通过检查相关命令的帮助信息确认,例如
gh pr edit --help中是否包含--attach。 - 确认目标 PR 和最新推送的提交是正在验证的提交。
不要从 gh 版本字符串推断附件支持,而应直接查询命令本身。
推荐工作流:正文中嵌入证据
当截图需要标题、前后对比表格或特定顺序时,将 PR 正文写入一个被忽略的本地 Markdown 文件,并按常规方式引用本地媒体路径:
## 可视化证据
| 之前 | 之后 |
| --- | --- |
|  |  |
[交互录屏](artifacts/event-flow.mp4)
然后通过同一条命令发布正文并附加所有引用的媒体文件:
gh pr edit <pr> \
--body-file artifacts/pr-body.md \
--attach artifacts/event-before-phone.png \
--attach artifacts/event-after-phone.png \
--attach artifacts/event-flow.mp4
GitHub CLI 会上传这些文件,并将匹配的本地 Markdown 引用重写为最终 GitHub 托管的附件 URL。这比手动粘贴 URL 更优,因为正文在上传前保持可读,且最终 URL 由 GitHub 管理。
仅追加证据
当布局不重要时,可以追加图像或视频而不替换 PR 正文:
gh pr edit <pr> --attach 'artifacts/after.png#之后:修正后的移动端布局'
对于多个文件,重复使用 --attach。为截图使用有用的替代文本。视频不接受替代文本。
如需在 PR 评论而非正文中添加证据:
gh pr comment <pr> \
--body-file artifacts/evidence-comment.md \
--attach artifacts/after.png \
--attach artifacts/interaction.mp4
验证发布
将命令的退出码和 PR 本身视为独立的检查。GitHub 可能成功上传某些文件,而另一个附件可能失败。
每次上传后:
- 检查命令退出状态。
- 重新从 GitHub 读取 PR 正文或评论。
- 确认每个必需的本地路径已被替换为 GitHub 托管的 URL。
- 确认没有因本地 Markdown 路径不匹配而导致的重复追加附件。
- 当活动工具支持时,打开 PR 中发布的媒体。
- 确认媒体证明了最新推送的提交,并且不包含任何秘密、令牌、个人数据、电子邮件地址、一次性密码或不相关的用户内容。
如果任何必需的附件缺失或过时,则 PR 未就绪。
硬性限制
- 绝不要提交仅用于 PR 的截图或录屏。 不要为了链接证据而添加
.github/pr-assets/、public/pr-assets/、文档媒体或其他被追踪的资源目录。 - 绝不要对 BuildPurdue PR 证据使用第三方文件托管服务,除非用户明确批准该托管服务用于特定情况。
- 绝不要发明、预测或手动构造附件 URL。 只使用 GitHub 返回或写入的 URL。
- 绝不要因为缺少上传工具而削弱可视化证据要求。 如果
--attach不可用,报告该确切前提条件,并保持 PR 为未就绪状态。 - 绝不要发布敏感捕获内容。 在上传前进行脱敏或重新捕获。
- 将本地证据保留在
artifacts/中;该目录被有意加入 gitignore,验证 GitHub 托管的证据后可以删除。
存在此技能的原因
这遵循与 T3 Code 相同的操作规则:用户可见的更改带有可评审的可视化证据,该证据上传到 GitHub,且仅用于 PR 的截图永远不会提交到产品历史中。
GitHub 的 CLI 附件功能行为类似于浏览器粘贴/拖放:它将图像或视频上传到 GitHub,并将托管 URL 插入 PR 或评论中。
来源
- T3 Code 贡献者规则: https://github.com/pingdotgg/t3code/blob/main/AGENTS.md
- GitHub CLI 附件文档: https://docs.github.com/en/github-cli/github-cli/attaching-files-with-github-cli
gh pr edit --attach手册: https://cli.github.com/manual/gh_pr_edit
源文件
在 .agents/skills/ 下编辑此副本。pre-commit 钩子会将其镜像到 .claude/skills/;不要直接编辑镜像文件。