Communitygithub.com

onovich/RepoCover

一個開源 AI 編碼技能,能在建立可編輯的 1280×640 GitHub 社群預覽圖之前先讀取你的儲存庫。

RepoCover 是什麼?

RepoCover 是一個 AI 技能,專為自動化建立儲存庫特定的 GitHub 社群預覽圖(Social Preview)而設計。它會先讀取儲存庫的內容,然後產出精確的 1280×640 PNG 圖檔(小於 1MB),同時保留可編輯的 SVG 原始檔。此技能支援多種生產路線,包括純程式碼 SVG、螢幕截圖混合或插圖混合,並根據儲存庫中可用的證據(如 README、視覺素材、螢幕截圖)自動選取最合適的路線。它會建立一份設計分類帳(design ledger)來記錄每個決策與驗證步驟,並透過內建腳本進行機械化驗證(尺寸、檔案大小、縮圖可讀性)以及人工視覺檢查。RepoCover 可在 Claude Code、Cursor、Codex 等平台上使用,並遵循嚴格的產品不變量,例如不暗示 GitHub 關聯或背書,以及將圖片建立與 GitHub 上傳視為不同的授權邊界。

相容平台~Claude Code✓Codex CLI~Cursor
npx skills add onovich/RepoCover

在你喜歡的 AI 中提問

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

說明文件

RepoCover 是做什麼的?

建立一個儲存庫專屬的社群預覽圖,並確保在縮圖尺寸下仍清晰可讀。偏好確定性、可編輯的構圖,而非通用的自動生成橫幅。

產品不變量

  • 產出精確的 1280×640 點陣圖,通常為 PNG,且檔案大小小於 1,000,000 位元組。
  • 在點陣圖旁保留一份可編輯的原始檔,通常為 SVG。
  • 所有可見的宣稱、指標、螢幕截圖與證明,皆以儲存庫的證據為基礎。
  • 保留儲存庫的識別性,而非強加統一的風格。
  • 在亮色與暗色背景上驗證完整尺寸以及 320×160 的縮圖效果。
  • 將圖片建立與 GitHub 上傳視為不同的授權邊界。
  • 不得暗示與 GitHub 有關聯或獲得其背書。

載入正確的參考資料

每張封面都需讀取以下兩個檔案:

然後僅讀取適用的路線:

  • 當存在螢幕截圖、執行時期畫面、標誌、插圖、SVG、精靈圖、紋理或其他有意義的視覺素材時,請讀取 references/source-material.md。
  • 當沒有可用的螢幕截圖、執行時期畫面、品牌標誌或儲存庫自有的主要視覺素材時,請讀取 references/cold-start.md。
  • 當要重新整理現有封面、比較候選方案或產生批次版本時,請讀取 references/version-regression.md。

不要只因某個路線存在就載入不相關的路線。references/design-recipes.md 僅作為較舊提示的相容性索引。

工作流程

1. 檢查並界定證據範圍

讀取適用的 AGENTS.md 檔案、README、套件中繼資料、有意義的原始碼路徑、視覺素材以及任何現有的社群預覽圖。辨識以下項目:

  • 儲存庫名稱與主要使用者任務;
  • 一個具體的價值陳述;
  • 最多三個證明點;
  • 最強的產品證據;
  • 已建立的視覺識別與應排除的次要事實;
  • 證據模式:remote-static、local-static、build-tested 或 runtime-tested。

絕不能暗示當僅檢查靜態證據時,就已執行了建置、執行時期、場景或測試。如果 GitHub 的圖片要求可能已變更,請根據官方 GitHub 文件進行驗證。

對於遠端儲存庫,請使用可用的公開或已認證的 GitHub 證據來檢查其 README、目錄結構、清單檔案、有意義的原始碼檔案、目前的預覽圖以及最強的視覺素材。將輸出保留在一個持久的、使用者可見的目錄中,並記錄來源 URL 與宣稱邊界。如果無法存取任何執行時期或具代表性的介面,請陳述此限制,而不是假裝遠端證據等同於可運作的本機預覽。可預覽的本機專案(尤其是具有現有介面的網頁專案)通常能提供最豐富的視覺證據。

2. 撰寫分類帳並選擇路線

在開始繪圖之前,使用隨附的範本建立一份設計分類帳。至少記錄以下項目:

  • 承諾、證明、排除事項;
  • 證據模式與宣稱邊界;
  • 素材診斷或冷啟動語意骨架;
  • 選擇的生產與解讀路線;
  • 素材、素材角色、版面配置與線條的決策;
  • 輸出版本、驗證結果與推廣決策(如適用)。

選擇能保留識別性的最小生產路線:

  • 程式碼原生 SVG(推薦): 開發者工具、圖表、圖表、標誌、函式庫及推斷出的視覺系統。
  • 螢幕截圖或來源混合: 僅在診斷後,自包含的來源素材仍是最清晰的證明時使用。
  • 插圖混合: 僅在插圖是儲存庫識別性的核心時使用;產生不含重要文字的素材,並在 SVG 中覆蓋確切的文字。

不要為了模仿既有的向量系統而呼叫圖片生成。

3. 建置並版本化管理可編輯的原始檔

除非儲存庫有明確的素材慣例或使用者指定了其他目錄,否則預設路徑為 docs/social-preview.svg 與 docs/social-preview.png。

  • 使用 1280 640 的 viewBox 與全畫布背景。
  • 將基本內容保留在大約 72 像素的外部安全區域內。
  • 將文案、產品證明、說明文字與簽名區分為不重疊的區域。
  • 除非儲存庫提供了適當的授權字型,否則使用系統字型。
  • 嵌入本機證據,或使用確定性的 SVG 基本元素來重現;避免外部執行時期依賴。
  • 將圖表、螢幕截圖、重複標記與波形裁剪至其所屬區域。
  • 除非明確要求替換,否則保留現有封面並建立一個版本化的副本。

4. 以機械方式渲染與驗證

當 Sharp 可用時,使用隨附的腳本進行渲染:

node <skill-directory>/scripts/render_svg.mjs <source.svg> <output.png>

僅在範圍內需要取代已命名的輸出時,才使用 --force。在 Codex Desktop 中,載入工作區依賴項,並使用傳回的 Node 可執行檔與套件路徑(透過 NODE_PATH);未經許可不得安裝任何依賴項。

驗證 PNG 與 SVG:

python <skill-directory>/scripts/validate_preview.py <output.png> --svg <source.svg>

建立標準的縮圖檢查表:

node <skill-directory>/scripts/create_review_sheet.mjs <preview.png> <review.png>

在 Windows 舊版字碼頁上,請為讀取 UTF-8 來源的工具設定 PYTHONUTF8=1。

5. 以視覺方式驗證

以完整尺寸檢查點陣圖,並檢查產生的檢查表。確認:

  • 儲存庫名稱與價值陳述在 320×160 時仍可讀;
  • 產品證明顯而易見且在技術上忠實呈現;
  • 文字、標記、裁切、面板與裝飾元素沒有碰撞或卡掉;
  • 構圖在亮色與暗色背景上皆可行;
  • 每個可見元素都對應到承諾或證明;
  • 設計通過每個適用的路線特定否決條件。

從左到右、從上到下掃描,一次修正一個指定的缺陷,重新渲染,並重新執行驗證。不要將已知的缺陷移交出去。

對於批次處理,請建立一份聯絡表,並在推廣候選方案之前檢查是否有意外的共用範本偏移。

6. 僅在要求時才上傳

建立素材並不代表授權更改 GitHub 設定。當明確要求上傳時,請開啟:

https://github.com/<owner>/<repo>/settings

使用 Social preview → Edit → Upload an image… 並遵循現行的 UI 確認政策。上傳後,請擷取公開的儲存庫頁面,並驗證 og:image 是否解析為新的 1280×640 圖片。不要僅憑設定頁面的縮圖就回報成功。

交接

顯示最終圖片並回報:

  • 可編輯原始檔路徑;
  • 點陣圖路徑、格式、尺寸與位元組大小;
  • 一句話的設計理由;
  • 驗證與版本推廣狀態;
  • 上傳狀態:未要求、待處理或已公開驗證。

不要將專案範圍的輸出僅留在暫存目錄或模型擁有的目錄中。

相關技能