Communitygithub.com

TrackerJo/github-pr-attachments

將本機 PR 截圖與錄製內容上傳至 GitHub,透過 GitHub CLI `--attach` 功能使用。每當視覺化驗證產出審查證據,或需在本機圖片/影片顯示於 PR 正文或評論中時,即可使用此技能。

github-pr-attachments 是什麼?

這個技能專為 BuildPurdue 開發流程設計,確保 PR 視覺證據(如截圖與錄影)能上傳至 GitHub 且不污染 Git 歷史。它利用 GitHub CLI 的 `--attach` 功能,將 `artifacts/` 目錄下的本機媒體檔案附加到 PR 正文或評論中,並自動將 Markdown 裡的本機路徑取代為 GitHub 託管的 URL。支援圖片的替代文字(alt text)、影片附加(無替代文字),以及透過 `--body-file` 與多個 `--attach` 旗標完成結構化證據佈局(如前後對照表)。上傳後必須以命令退出狀態與 PR 頁面雙重驗證,確認所有檔案已成功取代且無機密內容。此技能嚴格禁止將 PR 專用的媒體檔提交至儲存庫、禁止使用第三方檔案託管服務,也禁止手動偽造附件 URL。若 `--attach` 功能不可用,應回報此前提條件並保持 PR 為「未就緒」狀態。它遵循 T3 Code 的貢獻規則,將視覺證據直接託管於 GitHub,而非產品歷史中。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/TrackerJo/buildpurdue/tree/main/.agents/skills/github-pr-attachments

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

預覽

來自技能 README

修改前:行動活動頁面
修改後:行動活動頁面

說明文件

GitHub PR 附件

GitHub 本身是 BuildPurdue PR 截圖與錄影的核准託管平台。此技能將原本被忽略的本機證據轉換為 GitHub 託管的 PR 附件,無需將媒體檔案提交至儲存庫。

請在 visual-proof 擷取證據之後、使用者可見的 PR 標記為就緒之前使用此技能。

前置條件

  1. 確認證據檔案存在,且位於被忽略的 artifacts/ 目錄下。
  2. 確認 GitHub CLI 已針對此儲存庫通過驗證,使用 gh auth status。
  3. 確認安裝的 CLI 支援附件功能,請檢查相關命令的說明,例如 gh pr edit --help 中是否包含 --attach。
  4. 確認目標 PR 與最新推送的提交正是要驗證的對象。

請勿僅從 gh 版本字串推斷附件支援情況,應直接向命令本身查詢。

偏好工作流程:正文搭配內嵌證據

當截圖需要說明文字、前後對照表格或特定順序時,請將 PR 正文寫入一個被忽略的本機 Markdown 檔案,並正常引用本機媒體路徑:

## 視覺證據

| 修改前 | 修改後 |
| --- | --- |
| ![修改前:行動活動頁面](artifacts/event-before-phone.png) | ![修改後:行動活動頁面](artifacts/event-after-phone.png) |

[互動錄影](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#After: 修正後的行動版面'

對多個檔案重複使用 --attach。請為截圖提供有用的替代文字。影片不支援替代文字。

若要附加證據評論而非 PR 正文:

gh pr comment <pr> \
  --body-file artifacts/evidence-comment.md \
  --attach artifacts/after.png \
  --attach artifacts/interaction.mp4

驗證發布

請將命令的退出碼與 PR 本身視為兩個獨立的檢查項目。GitHub 可能成功上傳某些檔案,而另一個附件卻失敗。

每次上傳後:

  1. 檢查命令的退出狀態。
  2. 從 GitHub 重新讀取 PR 正文或評論。
  3. 確認每個必要的本機路徑都已取代為 GitHub 託管的 URL。
  4. 確認沒有因本機 Markdown 路徑不匹配而產生的重複附加附件。
  5. 如果當前操作環境支援,請從 PR 開啟發布的媒體。
  6. 確認媒體證明的是最新推送的提交,且不含任何機密、令牌、個人資料、電子郵件地址、一次性密碼或無關的使用者內容。

如果缺少任何必要的附件或附件已過時,則 PR 尚未準備就緒。

嚴格限制

  • 絕對不要提交僅供 PR 使用的截圖或錄影。 請勿為了讓證據可連結而建立 .github/pr-assets/、public/pr-assets/、docs 媒體或其他受追蹤的資產目錄。
  • 絕對不要使用第三方檔案託管服務 來存放 BuildPurdue PR 證據,除非使用者在特定情況下明確核准該託管服務。
  • 絕對不要憑空發明、預測或手動建構附件 URL。 只能使用 GitHub 回傳或寫入的 URL。
  • 絕對不要因為缺少上傳工具而弱化視覺化驗證的要求。 如果 --attach 功能不可用,請回報該確切的前提條件,並保持 PR 為「未就緒」狀態。
  • 絕對不要發布含有機密內容的擷取畫面。 請在上傳前進行去敏處理或重新擷取。
  • 將本機證據保留在 artifacts/ 中;該目錄已刻意加入 gitignore,且可在 GitHub 託管的證據驗證完成後刪除。

為何存在此技能

此技能遵循與 T3 Code 相同的運作規則:使用者可見的變更必須附帶可供審查的視覺證據,該證據上傳至 GitHub,且僅供 PR 使用的截圖絕不會提交至產品歷史中。

GitHub CLI 的附件功能行為類似瀏覽器的貼上/拖放:它將圖片或影片上傳至 GitHub,並將託管 URL 插入 PR 或評論中。

來源

原始檔

請在 .agents/skills/ 下編輯此副本。pre-commit 掛鉤會將其同步至 .claude/skills/;請勿直接編輯鏡像檔案。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相關技能