Community程式設計與開發github.com

Swap Brand – 品牌重塑

賦予即將銷售的產品獨立品牌身份,並掃描程式碼中殘留的原型痕跡。分為兩個階段:初期(提供命名候選、商標與網域檢查、色彩調性、語調及標誌簡報)與上市前掃描(搜尋文字檔中的原始名稱、網域與顏色,只要有殘留即封鎖部署)。

Swap Brand – 品牌重塑 是什麼?

此技能專為需要將衍生或複製產品徹底品牌化的開發者與產品團隊設計,使產品擁有全新的名稱、視覺與語調,並確保在代碼層面不留任何原始產品的痕跡。技能分為兩個主要階段:初期品牌定義階段,會根據市場調研與競爭分析文件產出五個命名候選,並提供商標、網域、社群帳號與應用商店名稱的檢查清單,同時建立與原始產品截然不同的色彩調性、字體搭配、語調規則與標誌設計簡報;上市前掃描階段則會執行 Python 腳本對整個專案碼庫進行全面的文字掃描,自動找出隱藏在識別碼、註解、文件路徑中的原始名稱、網域與色彩值(hex 與 rgb),並在完全清除前阻止部署。該技能支援 Claude Code、Cursor 等 AI 代理平台,透過明確的檔案結構與輸出格式(swap/brand.md 與 swap/sweep.json)與 swap-architect、swap-design 和 swap-launch 等系列技能協作,形成完整的產品發布流程。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/immy1991/swap-skill/tree/main/swap-brand

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

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

說明文件

Swap Brand – 品牌重塑 是做什麼的?

目的

讓產品清楚地擁有自己的身份:一個新的名稱、外觀與語調在初期就決定,並在上市前進行機械掃描,檢查程式碼文字檔中是否有原始產品的名稱、網域與顏色。這是一個有限度的檢查,並非萬無一失:任何它無法讀取或未檢查的項目,仍需要人工確認。

完整(銷售)流程,步驟 5(品牌身份)與 12(掃描)。讀取 swap/market.md、swap/recon.md;寫入 swap/brand.md、swap/sweep.json。

上下文路由表

來源位置需提取的內容
市場swap/market.md切入角度、目標受眾、經實證的市場缺口
偵查swap/recon.md原始產品的名稱、網域、品牌顏色(需避免的項目)
使用者他們的偏好、現有品牌、擁有的網域限制條件與品味
程式碼產品專案儲存庫掃描所檢查的內容

快速入門

品牌身份階段:1) 列出偵查結果中需避免的項目;2) 提出 5 個與切入角度相關的命名候選;3) 為每個候選提供建議的檢查;4) 設定色彩調性、語調與標誌簡報;5) 寫入 swap/brand.md。 掃描階段:在專案根目錄執行 python3 -I <技能資料夾>/scripts/sweep.py <儲存庫> --avoid "<原始名稱>" --domain <原始網域> --color "<原始顏色>" --exclude swap --json swap/sweep.json(<技能資料夾> 為此技能的資料夾),修正每一個命中,重新執行直到 CLEAN。

工作流程

  1. 先列避免清單。 從偵查結果中取得:原始產品名稱及任何產品名稱、其網域、品牌顏色、獨特標語。將它們寫入 brand.md 的 ## Avoid 區段;掃描不會讀取該檔案,因此請將每個項目明確以 --avoid、--domain 和 --color 參數傳遞給掃描腳本。
  2. 命名候選(5 個)。 每個候選需包含:名稱、其背後的想法,以及為何客戶不會將其與原始產品混淆。名稱不得包含、縮寫或聽起來像原始名稱。不得使用建立在原始名稱上的「X for Y」格式。
  3. 使用者在上線前需執行的檢查(Claude 無法驗證可用性):在使用者所在市場進行商標檢索(國家註冊與國際註冊)、網域與社群帳號檢查、應用商店名稱搜尋,以及在網路上搜尋名稱加上產品類別。記錄每次檢查的日期與結果。若有衝突則淘汰該候選。
  4. 品牌身份。 選定與原始產品明顯不同的色彩調性(不同色相家族,而非其色調)、選用開源或授權字型搭配、建立 5 條語調規則(每條含一個「應做」與「不應做」範例),以及一份由使用者或設計師執行的標誌設計簡報。切勿描述模仿原始產品形狀或概念的標誌。
  5. 掃描(上市前,並在最後一次程式碼變更後再次執行)。 使用避免清單執行掃描。它會找出隱藏在識別碼(OriginalAppEmbed、original_app)、網域、hex 與 rgb 顏色值,以及檔案或資料夾名稱中的原始名稱。修正方式為替換,而非隱藏。僅對無害的較長單字使用 --allow,並在 brand.md 中列出每個使用案例。掃描只會輸出比對到的文字、檔案與行號,不會輸出該行的其餘內容。
  6. 超越程式碼。 掃描僅讀取文字檔。圖片、字型、壓縮檔、超過 2 MB 的檔案及無法讀取的檔案會被列為「未掃描」,只要有任何這類檔案存在,執行結果即為 NOT CLEAN。逐一人工檢查(螢幕截圖、樣本資料、中繼資料、電子郵件範本、替代文字),然後使用 --accept-skipped 重新執行,這會在 sweep.json 中記錄你已執行檢查。--accept-skipped 絕不會隱藏任何命中。

反合理化

Claude 可能想什麼為何這是錯的
「這是乾淨室建置,不需要品牌重塑」乾淨室涵蓋程式碼。容易讓客戶混淆的名稱或外觀是另一個問題。
「和原始產品相似有助於用户找到我們」混淆相似性是商標風險。必須刻意區隔。
「掃描只找到一個註解,忽略它」註解中提及原始產品名稱會隨套件發布。必須移除。
「我檢查過名稱是空的」只有使用者進行的註冊檢索才能確認。需記錄誰執行及何時執行。
「跳過圖片與螢幕截圖」掃描無法讀取它們。需人工檢查並回報已檢查。

輸出格式

嚴格遵守。swap/brand.md 的標題順序:## Avoid、## Name candidates(每個候選需包含想法與執行檢查的日期與結果)、## Chosen name、## Palette and type、## Voice、## Logo brief、## Sweep log(每次執行:命令、命中數、修正內容)。swap/sweep.json 為腳本未經編輯的輸出。

參考輸出(虛構範例,簡化):

## Chosen name
Skyline。商標檢索(英國、歐盟、美國):尚未執行。網域與商店名稱搜尋:尚未執行。

## Sweep log
執行 1:7 個命中(名稱 x4、網域 x1、顏色 x1、路徑 x1)。已全部替換。
執行 2:CLEAN,掃描 4 個檔案,0 個未掃描。

規則

  • 原始名稱、色彩調性、標誌、用語。絕不能使用原始產品的標誌、商標、文案或資產,無論何種形式。
  • 不得聲稱某名稱已可用或可註冊;這屬於使用者的檢查和律師的判斷。
  • 絕不手動編輯 sweep.json。

跨技能路由

品牌身份確定 → swap-architect 然後 swap-design(其從此處取得色彩調性)。掃描 CLEAN → swap-launch。若因產品中包含供應商擁有的資產而無法通過掃描 → 移除該資產;不得將其加入許可清單。

退出檢查清單

附帶證據的證明區塊;然後是「無法驗證」。 品牌身份階段(在程式碼存在之前):

  • ## Avoid 列出原始產品名稱、其網域及至少一種品牌顏色
  • 每個命名候選都已記錄四個檢查的日期,或標明「尚未執行」
  • 色彩調性、語調與標誌簡報已撰寫,且與原始產品不同

掃描階段(上市前,並在最後一次程式碼變更後再次執行):

  • swap/sweep.json 的 "passed" 值為 true,且來自最後一次程式碼變更後執行的掃描
  • 掃描命令使用 --exclude swap(或掃描了不包含筆記的目錄樹);每個未掃描的檔案都已人工檢查且 skipped_accepted 為 true,或清單為空
  • 每個 --allow 的使用案例都已記錄在掃描記錄中
  • 螢幕截圖、文案與中繼資料已人工檢查,並告知使用者掃描無法讀取它們

自我改進

每次執行後,詢問一次:「對此技能是否有任何反饋要記錄?」沉默或「無」表示無需變更。若有:草擬模式、展示給使用者、僅在使用者同意後附加到 references/learnings.md;「更新技能」則顯示確切編輯內容、確認、寫入、更新 metadata.version 並記錄一行。絕不在同一個工作階段中將記錄的模式提升到這個檔案中。首次執行後,命名所使用的套件檔案以及從頭建立且未來會再次需要的項目,並提議儲存(也須經同意)。

相關技能