Community影像github.com

kahong0418/personal-sticker-pack

將幾張你自己的照片(或你與伴侶、朋友、團隊的照片)轉變為手繪風格的 WhatsApp 貼圖包,但仍保有你的特徵。引導整個流程,從挑選參考照片、選擇風格與表情清單,到為任何圖片模型撰寫生成提示,並將結果打包成 512×512、小於 100KB 的 WebP 檔案,附帶托盤圖示與總覽表。

personal-sticker-pack 是什麼?

這個技能能幫助使用者建立一套「個人化貼圖包」,讓朋友一眼就能認出。它本身不繪圖,而是負責撰寫生成提示、檢查與打包結果。整個流程分為五個步驟:先索取 3-8 張每人清晰的照片,並記錄每人的「身份標記」(如刺蝟頭+粗黑方框眼鏡);接著讓使用者從風格清單與表情清單中挑選;然後填寫生成提示模板,提供給 ChatGPT、Codex 或 Gemini 等模型;再透過 `pack.py` 腳本將生成的圖片裁切、去背、壓縮成 WhatsApp 規格;最後由你手動檢查每個貼圖是否像本人、手部是否正常、文字是否正確。它支援多人群組、多風格、多語言文字,並保障隱私與版權,不使用未經授權的肖像。

相容平台✓Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/kahong0418/personal-sticker-pack/tree/HEAD/personal-sticker-pack

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

在你喜歡的 AI 中提問

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

說明文件

個人貼圖包

你幫助使用者取得一套他們自己的貼圖包,讓朋友一眼就能認出來。 你不需要自己繪製圖片。你負責撰寫提示,使用者(或他們擁有的圖片工具)生成,你則檢查並打包結果。

整個流程分為五個步驟。請依序執行,並說明你正在進行哪個步驟。

步驟 1 · 參考照片

請索取每個人 3 到 8 張照片。

  • 臉部清晰可見、光線良好、沒有太陽眼鏡。正面、三分之四側面與微笑的照片最佳。
  • 僅限近期的照片。如果他們的髮型或眼鏡變了,以現在的造型為準。
  • 一張照片也可以用,但容易產生偏差。請說明這一點,但如果使用者只有一張,還是照樣使用。

然後記錄每個人的身份標記:在卡通中能讓人認出他們的兩到三項特徵(例如:刺蝟頭 + 粗黑方框眼鏡;及肩波浪長髮 + 酒窩)。這些標記將出現在每個提示與每次檢查中。請用一句話與使用者確認。

同時為每個人指定一套服裝,用於整個貼圖包。同一套衣服能讓貼圖包感覺像同一個角色。

⛔ 切勿在對方不知情的情況下使用其肖像。若是情侶或朋友貼圖包,使用者需確認另一個人也同意。

步驟 2 · 風格與表情

向使用者展示 references/styles.md 中的精選清單,讓他們挑選 1 到 3 種風格。先推薦,再提供其他選項。如果他們選了多種風格,每種風格各自成為一個貼圖包。

從 references/expressions.md 中挑選表情清單(每包 12 個是最佳數量;WhatsApp 允許 3 到 30 個)。根據使用者的生活調整:健身教練可加入「拿著麥克風」,家長可加入「孩子終於睡了」。

貼圖上的文字:僅限於生活場景 / 情境風格,每張一句簡短文字,完全照抄。其他風格保持無字,這樣在任何語言中都能使用。

步驟 3 · 生成提示

填寫 references/brief-template.md,並將它作為一個檔案交給使用者。這個提示可以貼到 ChatGPT(附上照片)、交給 Codex,或發送給任何接受參考圖片的模型。

提示中必須包含每個貼圖的:

  • 身份標記與固定服裝
  • 來自 styles.md 的風格描述
  • 「透明背景、白色鏤空邊框、角色居中且有邊距」
  • 一個動作 / 表情,以及任何確切的文字

以及這些禁令(來自真實的失敗案例):

  • ⛔ 不要讓臉部比照片更瘦或更尖
  • ⛔ 不要改變髮型或眼鏡
  • ⛔ 不要鏡像翻轉圖片來取得另一隻手(臉會變成鏡像)
  • ⛔ 不要加入額外文字、標誌或浮水印
  • 若是兩人合照:說明照片中誰是誰,且他們的手不能融合

告訴使用者先為每個貼圖包生成貼圖 01,檢查是否像他們,然後再生成剩下的。一張好的第一張圖片可以省下整批浪費。

如果使用者後來用同一人做第二個貼圖包(例如情侶包),請將提示中的參考指向第一個貼圖包中完成的貼圖,而不是舊照片。角色應該在不同貼圖包之間保持一致。

步驟 4 · 打包

將生成的圖片放入每個貼圖包各自的資料夾,按順序命名(01.png、02.png、......)。然後從這個技能的資料夾中執行 scripts/pack.py,使用其絕對路徑(使用者目前的工作目錄不是技能資料夾):

python3 <這個技能資料夾>/scripts/pack.py <輸入資料夾> <輸出資料夾> --name "My Pack"

它需要 Pillow(python3 -m pip install pillow)。它的功能:

  • 如果圖片回來時沒有透明背景,則移除純白色或純色背景,並重新繪製白色邊框(它會顯示提示;請檢查邊緣)
  • 拒絕照片、漸層或假棋盤背景:請重新生成帶有透明背景的圖片
  • 裁剪、置中並將每張圖片填補至 512×512
  • 為每個貼圖寫入 PNG 與 WebP,並將每個 WebP 壓縮到 100KB 以下
  • 從第一張貼圖(或 --tray 檔案)製作 96×96 的托盤圖示
  • 製作一個帶有編號的 overview.png 網格
  • 如果違反任何 WhatsApp 規範,則以非零狀態碼退出並說明原因

步驟 5 · 檢查後交付

打開 overview.png 自己看一下。然後放大檢查有風險的部分。腳本通過不代表貼圖包就沒問題。

檢查每個貼圖:

  1. 長得像他們:身份標記存在、臉部沒有變瘦、整個貼圖包中的角色一致。
  2. 手部:數一下愛心、OK 手勢、比劃、祈禱手勢、牽手時的手指數量。
  3. 文字(如果有的話):每個字都完全按照書寫,沒有亂碼。
  4. 邊緣:邊框完整、頭髮沒有被去背裁切到。

只重做檢查失敗的貼圖。稍微奇怪的姿勢但如果看起來還能接受就保留。

然後將輸出資料夾中的 png/ 與 tray.png 一起壓縮成 zip 檔,交付該 zip 檔,並引導使用者參考 references/install-whatsapp.md。大多數貼圖應用程式會接受 PNG 並自行轉換;webp/ 資料夾是留給希望直接取得 WhatsApp 最終格式的工具使用的。

小提醒

  • 使用使用者的語言回覆。除非使用者的圖片工具在另一種語言下運作得更好,否則保持生成提示為英文;貼圖上的文字則保留在他們對話時使用的語言。
  • 關於隱私,坦白說:這個技能本身不會上傳任何東西,但照片會被 Claude 讀取,並發送給使用者選擇的任何圖片工具。生成的真人肖像屬於個人資料;除非使用者決定分享,否則請將輸出保留在本地。
  • 不要複製他人的貼圖風格或知名角色。請使用風格清單,而不是「做成像 X 的貼圖一樣」。

相關技能