Communitygithub.com

toothpick

用於設計或修改任何使用者介面時:網站、登陸頁面、行銷網站、管理後台、桌面軟體、行動應用、元件、儀表板、表單、深色模式、色彩、排版、README 和圖表。也適用於「做個頁面」、「讓它好看一點」、「重新設計這個」或「建構前端」等請求。協助辨識並移除 AI 生成介面的模板化外觀和常見缺陷,產出克制、精準、源自產品本身的設計。

toothpick 是什麼?

Toothpick 是一個專門用於識別並消除 AI 生成介面中常見模板化風格與缺陷的設計技能。它適用於 Claude Code、Cursor、Codex 等 AI 代理工具,幫助開發者與設計師在建立或修改使用者介面時,能產出更為克制、精準且真正忠於產品本身的設計。該技能的核心概念是「AI 味」(AI flavor),即 AI 在缺乏明確需求時,傾向於使用最普遍的設計選項,例如過時的漸層、圓角卡片、固定的版面結構,或是第二層假裝有品味的風格(如仿手工、仿駭客、仿瑞士風格等)。Toothpick 提供了一套完整的工作流程,從評估變動規模、理解專案現狀、盤點產品獨有元素、撰寫設計論點,到實際建構與檢查結果,並特別強調「產品內容為英雄」的原則,以及透過真實數據與具體內容來取代虛假佔位符。此外,該技能還包含了豐富的參考資料(如基準測試、AI 特徵列表、工藝細節),幫助使用者建立良好的設計判斷力,同時要求交付時需明確區分真實與未完成的部分,避免誤導使用者或開發者。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/xiaomao8090/toothpick-skill/tree/main/skills/toothpick

在你喜歡的 AI 中提問

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

說明文件

Toothpick:挑出 AI 味,打造經得起考驗的介面

這份指南是什麼

這裡沒有「永遠用這個字型」或「絕不能用那個顏色」這類規則。你可以使用任何顏色、字型或版面配置。

它做兩件事:

  1. 幫助你辨識 AI 味:哪些選擇是 AI 未經思考的預設值,以及為什麼人們一眼就能看出來。
  2. 幫助你避免常見缺陷:那些讓介面看起來粗糙、廉價或不專業的錯誤。

只有一個測試:這個選擇是為了這個產品做的,還是你為了任何產品都會這麼做? 後者就是 AI 味。

使用者的明確風格、品牌指南和現有程式碼風格永遠優先,即使他們要求的正是下面列出的「AI 味」之一。


AI 味是什麼

在每個設計決策上,AI 都會傾向於最常見的選項。它分為兩個層次。

第一層,老套的陳腔濫調:紫色到藍色的漸層、用 emoji 當圖示、帶灰色陰影的相同圓角卡片、「置中標題加三個功能卡片」的登陸頁面、像是「解鎖無限可能」的文案。很多人已經能認出這些。

第二層,假裝有品味:一旦被告知「不要讓它看起來像 AI 生成的」,AI 會切換到另一套同樣固定的裝扮:

  • 奶油色紙張背景、大型襯線標題、赭紅色或深紅色強調色,偽裝成「溫暖有品味」
  • 接近黑色的背景、一種螢光綠、琥珀色或朱紅色強調色、到處都是等寬字型,偽裝成「駭客風」
  • 報紙風格的黑色細線、零邊框半徑、密集欄位,偽裝成「瑞士專業風」
  • 每個標題上方都有全大寫標籤、到處都是「A · B · C」中間點字串、每個連結後面都有「→」、每個小數據標籤都用等寬字型、在非序列的內容上使用「01 / 02 / 03」
  • 巨大的裝飾性數字、為不對稱而不對稱、使用終端機的「$」提示符或「●」狀態點作為裝飾

第二層更難察覺,因為它看起來像是「被設計過的」。但它和第一層是同樣的問題:風格是被套上去的,而不是從產品中生長出來的。

完整清單,以及為什麼每一項看起來像 AI,以及何時實際上是 OK 的,在 references/ai-tells.md 中。

好的介面長什麼樣

references/benchmarks.md 包含來自 Vercel、GitHub、ChatGPT、Google 和 Linear 的測量數據,以及中國產品 DingTalk、Juejin、WeChat Read 和 sspai,以及中文介面的差異(更重的標題、更高的行高、更小的尺寸)。這些英文參考資料的共同點:

  • 非常少的顏色:幾乎全是黑色、白色和灰色,加上一種功能性顏色
  • 一種字體家族;標題很大但不是很粗
  • 輕微的分隔:空白、淺色細輪廓、非常淡的陰影,而不是黑色規則和重陰影
  • 產品本身是主角;裝飾幾乎為零
  • 每個畫面一個焦點

這些是參考,不是模板。一間咖啡店不應該看起來像 Vercel,但它應該同樣克制和精準,並把內容放在前面。

參考資料本身也可能變成新的預設值。如果你最近的幾個專案,遮住名稱後看起來都一樣——白色、中性灰、藥丸按鈕和細邊框面板——那麼參考資料已經變成模板了。用它來校準工藝:線條要多細、陰影要多柔軟、標題要多細。顏色、材質和主角則來自步驟 2 的清單。


工作流程

0. 首先,評估變動規模

變動範例要執行的步驟
小顏色、間距或文案變更;修正一個元件;新增一個按鈕閱讀相關程式碼和樣式變數,在現有樣式中修改,檢查 references/ai-tells.md 中少數相關條目,並用一兩句話交付(只有在有佔位符時才附上佔位符清單)
中在現有產品中新增一個頁面或一個新功能的畫面步驟 1,一個三到四行的計劃,然後步驟 5 到 7。保持產品現有風格;跳過清單盤點和論點
大新產品、網站、登陸頁面、重新設計全部七個步驟

有疑問時,選擇較小的規模;使用者會要求更多。不要為一個按鈕寫設計計劃。

1. 理解這是什麼:先閱讀專案,再閱讀訪客

  • 在現有專案中,在接觸任何東西之前先閱讀它。 在任何計劃或程式碼之前,找出:

    • 該專案實際上具有哪些功能(閱讀 README、路由、頁面和 API;不要從頁面標題猜測)
    • 現有元件、樣式變數、圖示集和字型。新的 UI 使用它們;不要啟動一個並行系統
    • 資料模型和 API 回傳的真實欄位。基於這些欄位建構 UI
    • 文案中現有的詞彙。用同一個名稱稱呼同一件事

    用幾行寫下「這個專案有什麼」,並基於此制定計劃。對於任何你無法讀取的內容(例如,後端不在儲存庫中),詢問使用者或明確說明你的假設。

  • 產品或內容是什麼?是給誰用的?如果不清楚,做出具體的假設,用一句話說明,然後繼續,而不是反覆詢問。

  • 決定這個頁面的模式(判斷頁面,而非產品:開發者工具的首頁是「說服」,其儀表板是「操作」):

模式訪客的成功定義範例設計重點
說服決定並行動首頁、登陸頁面、活動頁、定價頁觀點與衝擊;用真實圖像說服
操作完成任務管理後台、儀表板、編輯器、設定、工具可掃讀、一致、高效;個性存在於精確的細節中
閱讀理解內容文件、文章、幫助中心、更新日誌清晰的結構、舒適的閱讀體驗
展示沉浸於作品中作品集、畫廊、案例研究作品領先,介面退居幕後

匹配參考:說服和展示使用 references/web.md,操作使用 references/app-desktop.md,行動裝置另外使用 references/mobile.md。專案 README 及其內部的思維導圖或圖表使用 references/readme.md。

  • 改良還是重新設計? 改良保持現有風格、文案和行為,只更改範圍內的東西。重新設計替換整體外觀,但保留產品事實、內容和功能。不要將新風格半途而廢地修補到舊風格上。

2. 盤點只屬於這個主題的東西

寫下 8–12 個具體的、屬於這個客戶且不屬於任何競爭對手的東西:名稱及其含義、街道和城市、門牌號碼和商店招牌、材料和顏色、它的數字(座位數、海拔、營業年數)、它的限制(一個月一批、冬天關閉)、它的儀式(烤箱在五點點燃)、它世界中的印刷品(收據、標籤、時刻表)。

設計想法來自這個清單,而不是來自「這個行業的網站通常長什麼樣」。我們參考的一個開源技能進行了盲測:勝出的頁面使用了這類清單中的項目;失敗的頁面則有基於通用行業理念的良好構圖。

3. 在選擇區塊之前先寫下論點

行銷頁面的每個區塊都應該是一個主張及其證據,每個一行:

主視覺:本週三次烘焙,週五出貨 → 證據:三個袋子,烘焙日期
咖啡豆:每種都有清晰的產地和風味 → 證據:真實產地、海拔、杯測筆記
...

刪除任何沒有主張的區塊。這可以讓你避免陷入標準的「主視覺、Logo 牆、三個功能、客戶推薦、定價、常見問題」結構。

4. 寫一個簡短的計劃

  • 顏色:4–6 個值,每個值說明使用位置
  • 字型:哪些字型以及各自的用途
  • 版面:一句話說明想法,如果有用則加上簡單的 ASCII 線框,以及對齊方式
  • 主視覺:這個頁面上最有說服力的東西,以及你實際上擁有哪些素材(不要圍繞不存在的圖像進行設計)
  • 強度:克制(操作和閱讀模式的預設值)、一個主角(說服模式的預設值:從盤點清單中選一個大膽的圖像,其他一切保持安靜)、或一個完整概念(請參閱下方「何時投入一個強烈的概念」)

5. 檢查計劃:預設值還是選擇?

  • 如果收到類似的簡報,我會得出大致相同的計劃嗎?如果是,那部分就是預設值;回到步驟 2 的清單尋找靈感。
  • 它是否擊中了 references/ai-tells.md 中的任何內容?如果是,更改它,或者能夠說明為什麼這個產品需要它。
  • 裝飾是否多於內容?

在你的回覆中簡短說明你更改了什麼以及為什麼。

6. 建構

  • 使用 CSS 變數管理顏色和間距。注意選擇器特異性,避免 class 互相覆蓋(特別是區塊 padding)。
  • 範例內容是真實且具體的,並且數字加總正確。
  • 當頁面顯示產品的介面時(例如 SaaS 首頁上的螢幕截圖區塊),將其建構為該產品的真實片段:真實數據、加總正確的數字、一個明確的發現。而不是灰色區塊和假數字。
  • 工藝細節在 references/craft-details.md 中。

7. 查看結果,分批修正,然後移除一個東西

  • 查看真實尺寸:桌面、手機(約 375px)、如果有建構深色模式也要看。一次查看,一起修正所有問題;不要在每次調整後都截圖。
  • 瀏覽 checklist.md。
  • 就像離開家前檢查鏡子一樣,移除一個配件。
  • 當你無法看到結果時(模型無法讀取圖片,或沒有瀏覽器):不要假裝你看過了。改為審查程式碼:最長的文字在每個斷點是否能容納於欄位中、根據顏色值計算的對比度是多少、所有互動狀態是否都已編寫?在你的交付中說明你尚未在瀏覽器中看過,並請使用者提供一張桌面和一張手機截圖,以便進行另一輪檢查。

克制不是空無一物

移除裝飾只完成了一半的工作。一個失去了標籤、規則和卡片,卻沒有得到任何東西來填補的頁面,讀起來會很薄弱,並且可能會輸給一個仍然有一些 AI 味但更豐富的頁面。另一半是實質內容:更大膽的字級範圍、整片的顏色區塊、這個主題世界的真實圖片、每個區塊都填滿了完整內容。

何時投入一個強烈的概念

克制是預設值,不是天花板。當以下所有條件成立時,一個整個頁面的視覺概念(例如漫畫、報紙、技術圖紙、票券)是合適的:

  • 它有來源:使用者要求了它,或者這個主題本身的世界講述了這種語言(建築師的圖紙、印刷廠的打樣、鐵路時刻表),而且你可以在步驟 2 的清單中找到它
  • 每個裝置都對應到內容:將對應關係寫下來,例如「速度線:堆積的請求」、「網點密度:鎖的沉重程度」。捨棄任何無法對應的裝置
  • 它仍然能被準確閱讀:程式碼、數字、表格和按鈕仍然可以無誤地閱讀和點擊。概念服務於內容,絕不讓人誤讀
  • 事實不變:新的風格保留所有的產品事實、功能、數字和佔位符清單
  • 它知道何時停止:在主線中充分使用它,並在細節中保持克制;不要在任何角落都放置主題元素

如果它不符合任何一項,則退回使用一個主角:只在主視覺或一個區塊中使用該語言。與風格服裝的區別:服裝適合任何產品(奶油色和襯線、接近黑色和霓虹燈、報紙細線);一個強烈的概念只對這一個產品有意義。

當你交付時,用一兩句話解釋設計理念,以便使用者可以輕鬆引導,並附上佔位符清單(請參閱「不造假,不愚弄開發者」)。

當使用者要求更改時

使用者說意思
更大膽更大的尺寸對比、整片的顏色區塊、更大的主視覺。而不是更多裝飾
更安靜 / 太雜亂更少的顏色和動畫、更少的字型大小、移除次要元素
簡化刪除沒有主張的區塊和元素;保留核心
更精緻工藝:對齊、間距、圓角、陰影、狀態、瀏覽器原生部分
可以發佈了嗎?錯誤狀態、空狀態、非常長的內容、其他語言、邊界情況

不造假,不愚弄開發者

使用者和開發者都應該能夠分辨什麼是真實的,什麼是尚未完成的。

不要在使用者面前造假

  • 沒有虛構的標誌、客戶 Logo 牆或合作夥伴徽章。沒有用「$」、「▲」或「●」等符號組成的假 Logo;沒有 Logo 時,使用純文字的產品名稱就夠了。
  • 沒有虛構的使用者數、滿意度、成長率、客戶推薦或媒體報導。
  • 檢查專業事實(技術細節、標準、法規、醫學、金融、統計)。AI 可以流暢地撰寫這些內容,而其錯誤看起來也同樣流暢:
    • 列出頁面上的專業聲明。在文件或標準中查閱你能查到的內容,並在程式碼註解中引用來源
    • 你無法確認的內容,要嘛省略,要嘛在佔位符清單中列在「未驗證」下
    • 頁面上的數字必須相互一致(每秒 70 個請求持續 41 秒是 2,870 個請求)

不要愚弄開發者

  • 沒有虛構的功能:介面中顯示的每個功能都存在於專案中,或是被明確要求的。不要為了讓頁面看起來更好而添加「智慧推薦」或「一鍵匯出」。
  • 模擬數據絕不冒充真實數據:在可能的情況下連接真實 API。當你無法連接時,將模擬數據放在一個地方(例如 mock/),使用與真實 API 相同的欄位,並在程式碼中標記為模擬。不要將吸引人的數字硬編碼到元件中,讓頁面看起來像是「完成了」。
  • 沒有假的互動:一個未連接的按鈕、表單或連結,不能有點擊動畫假裝它運作正常。停用它並標記為「未連接」,或在交付說明中列出。
  • 從頭開始建構的展示和概念可以使用虛構的品牌和數據,但頁面必須說明這是一個範例。

附上佔位符清單

對於任何未完成的內容,附上一份簡短的清單:

  • 缺少的資料庫或 API 欄位
  • 待確認的事實和數字
  • 你需要品質保證使用者產生的內容的區塊
  • 你做出的但需要確認的假設

將它放在交付說明的頂部,以便開發者知道可以真正信任什麼。


可供參考的參考資料

使用這些文件;本技能包含它們是有原因的。

檔案用途何時閱讀
references/benchmarks.md良好介面的測量與模式規劃新產品或重新設計時;校準工藝時
references/ai-tells.md完整的 AI 味清單以及何時它是 OK 的審查你的計劃時;檢查成品時
references/craft-details.md字型、間距、陰影、按鈕的具體細節建構時;需要超越基礎知識時
references/web.mdWeb 的版面模式和約定為說服或展示模式規劃時
references/app-desktop.md桌面應用程式的模式和約定為操作模式規劃時
references/mobile.md行動裝置的考量(較小的點擊目標、滑動手勢、單欄)任何需要行動裝置的時候
references/readme.md專案 README 和圖表的模式規劃或寫作 README 文件時
checklist.md在交付前要檢查的內容步驟 7

關於本技能

Toothpick 是由 Ethan Marcotte(@beep)啟發的一個想法的直接實踐。它是在 Nils Binder(@nilsbinder)的「Design to the nines」工作後衍生的,並借鑒了 Andy Bell(@piccalilli_)的「Be the browser's mentor」中提出的概念。

相關技能