Community影像github.com

圖片背景幻化

將一張圖片(插畫、繪畫、照片)轉換為 Claude Desktop 的背景修改模組,適用於 Claude Code,並搭配相符的側邊欄/面板/選單顏色,以及可選的晝夜配對,跟隨視窗的淺色或深色模式。當使用者希望將自己的圖片設為 Claude Desktop 或 Code 分頁的背景或主題、詢問為什麼主題圖片或背景未顯示,或希望在追蹤的背景中獲得更多細節時使用。

圖片背景幻化 是什麼?

這個技能讓使用者能將任何圖片(例如插畫、繪畫或照片)轉換為 Claude Desktop 的個人化背景主題,專為 Claude Code 設計。它會自動將圖片轉換為向量路徑,以避免直接使用光柵圖像導致的相容性問題,並生成一個輕量級模組,包含側邊欄、面板和選單的配色,且支援跟隨系統淺色或深色模式的晝夜切換。技能在工作流程中整合了 vtracer 和 SVGO 等工具,透過追蹤圖片區域並嚴格遵守字元大小限制(每個場景約 259500 個字元,每個 SVG 約 98000 個字元)來確保背景能正確繪製。它主要適用於希望自訂開發環境外觀的 Claude Code 使用者,特別是那些偏好將自己的藝術作品或照片作為背景,而非使用內建主題的用戶。最終輸出的是一個可直接在 Claude Desktop 中載入的模組,使用者可以透過 `/backdrop day|night|auto` 等指令切換背景。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/kamioj/claude-picture-backdrop/tree/HEAD/skills/picture-backdrop

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

在你喜歡的 AI 中提問

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

說明文件

圖片背景幻化 是做什麼的?

桌面只會將修改的背景繪製為模組自己渲染的 scene,且不會在其中繪製任何光柵圖像。 因此,圖片會被追蹤為向量路徑,在嚴格且無聲的大小限制下打包,並由一個小型模組繪製。 在變更模組的繪製方式之前,請先閱讀 references/limits.md;它列出了我們測量過的內容以及哪些情況會無聲失敗。

工作流程

  1. 取得圖片。 一張圖片,或一張淺色(日間)和一張深色(夜間)圖片。橫向約 1600x1000 的效果不錯; 應用程式會使用 xMidYMid slice 進行裁切,因此請將主體遠離頂部和底部。帶有筆觸感、柔和的藝術風格 比帶有輪廓的賽璐珞風格更容易逐個字元追蹤;照片也可以。如果使用者要生成藝術圖像, 請在他們操作前告知。
  2. 在臨時資料夾中安裝工具(不在模組中):
    python -m pip install --target "$TMP/pb-vtracer" vtracer
    mkdir -p "$TMP/pb-svgo" && cd "$TMP/pb-svgo" && npm init -y >/dev/null && npm install svgo@4
    
  3. 建立模組資料夾 在 ~/.claude/skills/<id>/ 下(每次工作階段都會載入):複製 assets/mod-template/,然後從外掛編寫技能中複製 make-colors.js 和 make-colors.d.ts 到其 hooks/ 目錄中,保持不變。填寫每個 __PLACEHOLDER__(__ID__ 是資料夾 名稱,使用小寫字母和連字號)。對於單張圖片,請刪除另一個匯入、其場景和外觀,並將 auto 指向該張圖片。
  4. 查看圖片 並列出其區域(裁切和檢視它們):主體、臉部、皮膚區域、每一側。 在模組旁邊(而非 hooks/ 內部)為每張圖片編寫一個設定檔,使用 references/tracing.md 選擇區域和設定,並以 assets/example-night.json(一個坐在入口右側的女孩)作為範例。對於一組晝夜圖片,為每個設定檔給予 "scheme" 和兩個預算:{"FULL": 259500, "HALF": 129500};對於單張圖片,僅使用 FULL 且不要有 scheme。
  5. 追蹤,在背景執行(一次執行需要幾分鐘):
    python -I scripts/trace_scene.py night.json --vtracer "$TMP/pb-vtracer" --svgo "$TMP/pb-svgo" --preview "$TMP/pb-preview/night.html"
    
    它會對每個區域的每個選項進行一次追蹤,符合每個預算(首先所有區域,然後按優先順序補充細節), 並寫入 scene-<name>.ts。將設定檔的 out 指向模組的 hooks/ 目錄。
  6. 預覽 在瀏覽器面板中開啟 HTML(使用 python -m http.server 提供其資料夾服務)。以 2 倍裁切檢查 主體,因為應用程式會放大圖片。根據 tracing.md 中的表格修正看起來不對的地方,然後重新追蹤。
  7. 顏色。 從圖片中取樣表面顏色(主要的牆壁或天空色調;深色模式保持深色) 並執行 makeColors;其問題清單不得包含「Desktop 不會繪製」的條目。
  8. 驗證並移交:claude plugin validate <模組資料夾>。告訴使用者重新載入視窗或開始一個 新的工作階段,輸入任何訊息(主題會在第一次提示時設定),然後嘗試 /backdrop day|night|auto。 請他們查看特定區域;他們的螢幕截圖才是真正的測試。之後刪除臨時工具資料夾。

會咬人的規則

  • 僅使用單引號括住 SVG,任何 Svg 中不得使用 "、\ 或反引號:跳脫字元會計入總字元數。
  • 一個場景的所有 Svgs 總和 ≤ 約 259500 個字元;每個 Svg ≤ 約 98000 個字元。超過任一限制,桌面就會什麼都不顯示且什麼 都不說;模版會在工作階段開始時記錄過大的場景。
  • 保持 glass 為開啟狀態;為同時適用於兩種模式的畫面保留 tint。
  • 不要使用 image、color、gradient 或 vector 背景、<image> 或 overrideColorScheme:它們都不會繪製 或產生效果。
  • 在 prompt.submit 時設定主題,而非 session.start。
  • 改善某個區域時,保留使用者表示喜歡的部分:為該區域指定自己的區域或優先順序, 而不是重新調整所有內容。每次變更時都要報告受影響的區域。

相關技能