Community影像github.com

rtaylor-talmark/ep-skills

從網址下載機構徽章/標誌/臂章/徽章,去除背景,調整為 512x512 尺寸,分別儲存為以 EP 客戶前綴命名的 .png 和 .jpg 檔案,並上傳至 EP 徽章 S3 儲存桶 (prod-ep-cmh-insignia)。當使用者想要在 Essential Personnel (EP) 中新增、取代或更新客戶/機構的徽章、標誌、臂章或徽章圖片時使用。

ep-skills 是什麼?

這個技能「EP Insignia」專為 Essential Personnel (EP) 系統設計,用來處理機構徽章圖片。它會從使用者提供的圖片 URL(或本地路徑)下載圖片,自動去除背景(支援 AI 分割、邊緣填充等多種模式),將圖片縮放並置中於 512x512 的畫布上,然後分別儲存為透明背景的 PNG 檔和白色背景的 JPG 檔,並以 EP 客戶前綴命名。接著,它會上傳這兩個檔案到指定的 AWS S3 儲存桶 (prod-ep-cmh-insignia,帳戶 ID 405995789491,區域 us-east-2)。 此技能特別實用,因為它自動遵循 EP 系統的檔案命名慣例(例如 `audubonpd.png` 和 `audubonpd.jpg`)和格式要求(512x512、正確的 Content-Type),省去手動操作的時間與錯誤。上傳前,它會建立預覽圖讓使用者確認背景去除與裁切是否正確,並在覆蓋現有檔案時自動備份。支援多種背景處理模式,包括自動偵測(保留透明背景、移除邊緣單色背景、或使用 AI 模型 rembg 進行分割),以及強制指定模式。如果下載失敗(403、429、SVG 或網頁),技能會通知使用者並要求提供合適的圖片連結。 此技能適用於任何支援 CLI 和 AWS CLI 的工具(如 Claude Code、Coder、Codex 等),因為它透過命令列腳本執行,並依賴 `uv` 安裝依賴項。使用者只需提供圖片 URL 和客戶前綴,即可自動完成整個流程。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/rtaylor-talmark/ep-skills/tree/HEAD/skills/ep-insignia

Installed? Explore more 影像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

在你喜歡的 AI 中提問

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

說明文件

EP Insignia

將來源圖片 URL 轉換為 EP 所期望的兩個徽章檔案,並上傳至 s3://prod-ep-cmh-insignia(EP AWS 帳號 405995789491,區域 us-east-2)。

慣例(符合儲存桶中現有檔案):

  • 鍵值:位於儲存桶根目錄的 <prefix>.png 和 <prefix>.jpg,其中 <prefix> 為 EP 客戶前綴(小寫,例如 audubonpd、alexanderncsheriff)。
  • 兩者皆為 512x512。徽章會被修剪、縮放至合適大小並居中,並帶有少量邊距。
  • PNG 背景為透明。JPG 背景為白色。
  • Content-Type 分別為 image/png 與 image/jpeg。該儲存桶使用 BucketOwnerEnforced,因此請勿設定 ACL。

輸入

  1. 來源 URL。 若使用者未提供,請向其索取。本地檔案路徑亦可。
  2. 客戶前綴。 若未提供,請向其索取。請勿從機構名稱猜測。正規化為小寫,並拒絕任何非 a-z 0-9 - _ 的字元。

步驟

1. 處理圖片

在暫存區(或 mktemp -d)中使用全新的工作目錄,然後執行:

uv run -q <skill_dir>/scripts/process_insignia.py "<url>" "<prefix>" "<workdir>"

uv 會從腳本的內嵌 metadata 安裝依賴項。初次執行 AI 背景移除時,會下載約 180 MB 的模型至 ~/.u2net。

預設背景模式(--bg auto)的運作方式如下:

  • 如果來源圖片已有透明背景,則保持不變。
  • 如果邊框是單一純色(通常為白色),則僅移除與邊緣相連的背景。徽章內部的白色文字或細節則予以保留。
  • 否則使用 AI 分割(rembg isnet-general-use)。

覆蓋選項:--bg ai、--bg flood 與 --bg none 可強制指定模式。--margin N 設定內邊距像素數(預設為 4)。

若下載失敗(出現 403 或 429 錯誤),或 URL 指向的是 SVG 或網頁而非圖片,請告知使用者並要求提供直接的圖片連結。他們也可以自行下載檔案並提供本地路徑。

2. 上傳前審查

在對比色背景上建立 PNG 預覽圖,並將其與 JPG 並列顯示:

convert \( <workdir>/<prefix>.png -background '#c33' -flatten \) <workdir>/<prefix>.jpg +append <workdir>/preview.png

使用 Read 工具開啟 preview.png 並檢查:

  • 沒有殘留的背景(紅色一側不應有光暈、方框或邊緣)。
  • 徽章沒有缺失部分(內部白色被移除而出現的洞,或被裁切掉的文字)。
  • 是正確的機構。

如果結果不正確,請使用不同的 --bg 模式重新執行。向使用者展示預覽圖,並顯示腳本報告的背景移除方法,以及任何關於來源圖片過小的警告。

3. 檢查 AWS 存取權限與現有檔案

aws sts get-caller-identity --query Account --output text   # 應回傳 405995789491
aws s3 ls s3://prod-ep-cmh-insignia/<prefix>.

如果 <prefix>.png 或 <prefix>.jpg 已存在,請告知使用者。這是生產環境的儲存桶,因此在覆寫前務必獲得明確確認。請先備份現有檔案:

aws s3 cp s3://prod-ep-cmh-insignia/<prefix>.png <workdir>/backup/<prefix>.png
aws s3 cp s3://prod-ep-cmh-insignia/<prefix>.jpg <workdir>/backup/<prefix>.jpg

即使尚未存在任何檔案,在顯示預覽圖後仍需與使用者確認上傳。

4. 上傳

aws s3 cp <workdir>/<prefix>.png s3://prod-ep-cmh-insignia/<prefix>.png --content-type image/png
aws s3 cp <workdir>/<prefix>.jpg s3://prod-ep-cmh-insignia/<prefix>.jpg --content-type image/jpeg

使用 aws s3 ls s3://prod-ep-cmh-insignia/<prefix>. 驗證上傳,然後回報兩個 S3 鍵值、其大小,以及備份檔案的儲存位置。

相關技能