Community生產力與協作github.com

btczoa/diagram-design

建立品牌架構、架構差異、IT 現狀、流程圖、序列圖、狀態機、ER/資料模型、時間軸、泳道圖、象限圖、雷達/蜘蛛圖、極座標圖(極座標/徑向棒棒糖圖)、循環/飛輪圖、巢狀圖、樹狀圖、組織圖、圖層堆疊圖、分解軸測圖、軸測平面圖、文氏圖、金字塔/漏斗圖、樹狀圖和馬賽克圖、熱圖、長條圖與啞鈴圖、瀑布圖、折線圖(坡度圖、脊線圖、河流圖、碰撞圖)、甘特圖和散佈圖(泡泡圖、蜂群圖、盒鬚圖)、高階圖、流程圖、獎章圖、資料流圖、資料平台整合圖、資料平台安全矩陣、桑基圖、魚骨圖、Wardley 地圖、看板圖、使用者旅程圖、服務藍圖、部署圖、依賴圖、UML 類別圖、故事地圖或資料庫綱要圖,以 HTML/SVG/PNG 格式輸出,並支援 .drawio、Mermaid 和 .excalidraw 匯入,另包含生命週期階段圖、區塊分解樹和入門指引。

diagram-design 是什麼?

「Diagram Design」是一個專為 AI 代理(如 Claude Code、Cursor、Codex)設計的進階圖表技能,能根據語意模式與視覺類型,產生具備品牌設計系統的自包含 HTML 檔案(內嵌 SVG)。它支援超過 45 種圖表類型,從常見的流程圖、序列圖、架構圖,到專業的軸測圖、Wardley 地圖、資料庫綱要圖,涵蓋軟體工程、資料架構與商業分析等領域。該技能的核心哲學是「少即是多」,強調每個節點與連線都應承載明確資訊,並內建複雜度預算機制,避免圖表過於擁擠。它透過可抽換的樣式指南實現品牌自訂,使用者可在首次使用時透過互動流程設定顏色、字體與代碼。此技能也支援從 Drawio、Mermaid 和 Excalidraw 等外部工具匯入圖檔,並提供豐富的反模式檢查清單,確保輸出的圖表品質專業,而非 AI 產生的粗糙內容。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add btczoa/diagram-design-skill

Installed? Explore more 生產力與協作 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

在你喜歡的 AI 中提問

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

說明文件

圖表設計

建立自包含的 HTML 檔案,內嵌 SVG 和編輯設計系統。

四十五種視覺類型。語意模式描述行為;類型參考描述佈局。


0. 首次設定 — 樣式指南閘門

在為新專案產生第一個圖表之前,請先確認樣式指南已自訂。

請勿在未經自訂的情況下,將預設外觀的圖表靜默地放入有品牌的專案中。

首先,請依照參考文件 references/profiles.md 解決任何專案 .diagram-design 標記;成功解決的標記會選取對應的設定檔,並繞過此閘門。該參考文件負責處理失敗情況、受保護的預設值以及儲存行為。

開啟 references/style-guide.md 並檢查預設代碼。如果它們仍是出廠預設值(紙張 #f5f5f5、墨色 #2d3142、強調色 #bf4520),請暫停並詢問使用者:

「這是您在此專案中的第一個圖表,樣式指南仍是預設值。要立即自訂嗎?選項:(a) 網站 URL、(b) 已安裝技能、(c) 本地資料夾/設計系統、(d) 貼上代碼、(e) 保留預設、(f) 載入已儲存設定檔。」

然後根據 references/onboarding.md 的對應章節進行分支處理;對於選項 (f),請遵循 references/profiles.md。

一旦樣式指南已自訂(或使用者明確選擇預設值),後續執行時將跳過此閘門。前置的設定檔標頭會指出已複製的啟用中設定檔。若無標頭,任何與出廠預設值不同的語意角色值或印刷字型系列,均表示已自訂但未儲存:跳過閘門,並提供儲存為設定檔的選項。所有代碼均為預設值且無標記/標頭時,則會觸發閘門。入門流程結束後,請依照 references/profiles.md 提供儲存為具名客戶端設定檔的選項。


1. 理念

最高品質的動作通常是刪除。

應用於示意圖:

  • 每個節點代表一個獨特的概念。總是一起出現的兩個節點應該合併為一個。
  • 每個連線都承載資訊。如果關係可以從佈局中明顯看出,請移除線條。
  • 珊瑚色是編輯用途,而非標記。 每個圖表 1–2 個焦點節點。在 5 個節點上使用它會消除訊號。
  • 示意圖不是在所有東西都加上後才完成。而是在沒有東西可以移除時才完成。

目標密度:4/10。 足夠達到技術上的完整性。但不會過於密集,以至於需要指南。超過 9 個節點時,很可能需要分成兩個圖表。


2. 使用時機

當讀者從視覺圖表中獲得的資訊比從散文、表格或項目符號列表更多時,可使用上述 45 種視覺類型(§3)中的任何一種。

請勿用於:

  • 快速 Unicode 圖表 → 請使用獨立純文字工具,例如 wiretext。此技能不提供此類工具。
  • 事物列表 → 表格或項目符號。
  • 僅屬性的前後對比 → 表格;拓撲變化 → 架構差異圖。
  • 單一形狀的「圖表」→ 直接寫成句子。

在繪製前,捫心自問:讀者從此處獲得的資訊,會比從一段寫得好的段落中獲得的更多嗎? 如果否,就不要繪製。


3. 選擇:語意模式,然後是視覺類型

當行為、狀態、強制執行或風險承載意義時,首先載入 references/semantic-patterns.md 並選擇一個主要模式。然後為佈局選擇最接近的視覺類型。如果沒有匹配的模式,則直接選擇類型。

行為觸發條件語意模式 → 最接近的類型
扇入、佇列深度、有限容量、瓶頸扇入佇列 / 瓶頸 → 資料流
跨階段的反覆問題 / 輸入 / 治理 / 輸出插槽具有語意插槽的階段框架 → 流程
對話或鬆散輸入轉變為結構化的持久工件非結構化輸入 → 結構化工件 → 資料流
需要通過/失敗/跳過/未到達及首次分歧的兩條規則追蹤配對的政策評估追蹤 → 流程圖
信任邊界加上允許/禁止的入口或部署路徑安全鋪設路徑 → 架構
按執行位置分組的控制項治理 / 控制目錄 → 圖層堆疊
防禦措施補償先前的缺口,且殘餘風險會傳播補償性安全層 → 圖層堆疊
層級式、可透過 ID 定址的分解,需要每個區塊的 I/O、約束條件和程式碼連結可追蹤的區塊分解 → 樹狀圖
一個主體經歷多個階段、等待、重試、取消和最終結果生命週期階段圖 → 狀態機

模式擁有語意基本元素及其更嚴格的預算;類型擁有佈局語法。僅在請求動畫或動畫能實質性地闡明有序變化時,才使用 references/animation.md;靜態圖表仍為預設值。

視覺類型指南(45 種)

如果你在展示…使用參考文件
單快照中的元件 + 連線;巢狀管理與流量範圍架構type-architecture.md
同步的 Before / After 拓撲之間的結構性變化,附帶變更記錄架構差異type-architecture-delta.md
按階段或部門劃分的舊有 IT 環境;顯示之前的狀態IT 現狀type-it-state.md
帶有分支的決策邏輯流程圖type-flowchart.md
參與者之間按時間排序的訊息序列圖type-sequence.md
狀態 + 轉換 + 守衛條件狀態機type-state.md
實體 + 欄位 + 關係ER / 資料模型type-er.md
按時間定位的事件時間軸type-timeline.md
跨功能流程與交接泳道圖type-swimlane.md
雙軸定位 / 優先級排序象限圖type-quadrant.md
跨 3–5 個定量標準評分的多個實體雷達 / 蜘蛛圖type-radar.md
一個跨循環類別的定量序列;角度=類別,半徑=量級極座標圖type-polar.md
增強循環;最後一步回饋到第一步,且中樞累積狀態循環圖type-loop.md
透過包含關係 / 範圍形成的層級結構巢狀圖type-nested.md
父 → 子關係樹狀圖type-tree.md
人/代理/團隊的所有權、報告、路由、升級組織圖type-org-chart.md
堆疊的抽象層級圖層堆疊type-layers.md
沿一個軸拆解一個物件的各部分:拆解、開箱、組裝順序分解軸測圖type-exploded.md
從一個角度俯視的一個樓層或場地:帶有家具的房間、按階段劃分的建築物軸測平面圖type-axonometric-plan.md
集合之間的重疊文氏圖type-venn.md
排序的層級結構或轉換流失率金字塔 / 漏斗圖type-pyramid.md
跨類別的定量比較長條圖type-bar.md
透過正負貢獻(預算橋接、員工人數差異)將起始總數橋接到結束總數瀑布圖type-waterfall.md
整體的組成部分,其中相對大小是重點樹狀圖type-treemap.md
交叉列表資料;填色編碼每個儲存格的值熱圖type-heatmap.md
隨時間變化的連續趨勢、恰好兩個狀態之間的變化(坡度圖)、每個序列一個分佈(脊線圖)、或跨多個快照的排名變動(碰撞圖)折線圖type-line.md
時間軸上的任務和階段甘特圖type-gantt.md
兩個變數的相關性或分佈;泡泡圖(三個變數)、蜂群圖(一個變數,每項目一個點)、盒鬚圖(每組的五數摘要)變體散佈圖type-scatter.md
容器叢集上的端到端資料棧高階圖type-high-level.md
帶有資料交接的多參與者順序流程流程圖type-process.md
具有品質等級和存取策略的多層資料儲存獎章圖type-medallion.md
按角色劃分的資料流:每個管線步驟誰做什麼資料流type-data-flow.md
資料平台的整合拓撲 — 來源 → 核心 → 消費者DP 整合圖type-dp-integration.md
按角色 / 按元件的存取權限矩陣DP 安全矩陣type-dp-security-matrix.md
一個數量跨階段分裂與合併,頻寬寬度 = 數量桑基圖type-sankey.md
一個觀察到的結果的多個原因,按類別分組(根本原因分析)魚骨圖type-fishbone.md
針對演化的價值鏈 — 該構建什麼、購買什麼、以及什麼在移動Wardley 地圖type-wardley.md
按狀態劃分的進行中工作,附帶 WIP 限制和受阻項目看板圖type-kanban.md
一個人在體驗的各個階段做什麼,以及感受如何使用者旅程圖type-journey.md
客戶做什麼 vs 服務隱藏什麼,跨階段,帶有可視界線服務藍圖type-service-blueprint.md
軟體在哪裡執行 — 區域、主機、工件、副本、連接埠部署圖type-deployment.md
什麼依賴什麼,具有樹狀圖無法表達的扇入和循環依賴圖type-dependency.md
帶有操作、繼承、組合的類別(其他 UML 路徑請參考別處)UML 類別圖type-uml-class.md
按發行版本切割的敘事主幹,帶有截止線故事地圖type-story-map.md
實體表格:SQL 類型、約束條件、索引、欄位層級的外鍵資料庫綱要type-db-schema.md

經驗法則:

  • 如果一個三欄表格能傳達相同資訊,請選擇表格。
  • 如果兩種類型似乎都有用,請選擇主軸;語意模式可能會添加特定於行為的基本元素,而不是第二種佈局語法。
  • 如果你超出了複雜度預算(§7),請拆分為總覽 + 詳細資訊。

在繪製前,請務必載入指南中連結的所選類型參考文件。 當透過以上流程路由時,也請載入 semantic-patterns.md;當選擇動畫時,請載入 animation.md。

繪製前確認

在渲染之前,用一條簡短的訊息說明計劃:所選的視覺類型(以及如果經由路由的語意模式)、尺寸預設值,以及任何因複雜度預算(§7)而必須排除的內容。如果使用者可以聯繫到,請讓他們在繪製前重新導向;如果不行,則繼續進行,並在交付物旁邊註明假設。僅在請求已明確指定類型、尺寸和內容時,才跳過此暫停步驟。


4. 通用反模式

這些標誌著任何類型的「AI 垃圾」示意圖:

反模式為何失敗
深色模式 + 青色/紫色發光看起來「技術性」,但缺乏設計決策
JetBrains Mono 作為泛用「開發者」字型等寬字型僅用於技術性內容 — 連接埠、命令、URL。名稱應使用 Geist 無襯線字體。
每個節點使用相同的方框抹去了層級結構
圖例漂浮在圖表區域內與節點衝突
箭頭標籤沒有遮罩矩形會從線條中透出
箭頭上的垂直 writing-mode 文字難以閱讀
3 個等寬的摘要卡片作為預設值通用網格 — 應變化寬度
任何元素上的陰影陰影已過時。邊框正流行。
方框上的 rounded-2xl最大圓角半徑 6–10px 或無
每個「重要」節點都使用珊瑚色珊瑚色是 1–2 個編輯重點,不是一種信號系統
重現 Mermaid 的渲染器佈局匯入時應使用編輯佈局,而非自動間距和路由
任何違反 §6 中六條連線規則的行為自動失敗:對角線傾斜、標籤觸及其筆畫、遮罩被後續節點裁剪、路徑重疊、共享連接點、穿過非端點盒子的路徑

特定類型的反模式存在於指南中連結的每個類型參考文件中。


5. 設計系統

設計系統是可換膚的。 references/style-guide.md 是顏色、字體、代碼和預設色板的單一事實來源;此文件命名語意角色(paper、ink、muted、accent、link…)。要套用品牌,請編輯 style-guide.md 或執行 references/onboarding.md 中基於 URL 的流程。

當以下規格或類型參考文件中提及「ink」、「accent」、「muted」等時,請在 style-guide.md 中查詢目前的十六進位值。

類型參考文件片段將角色寫為佔位符:{ink}、{ink @ 0.40}(表示帶有不透明度的角色),以及 {node-name}、{sublabel}、{eyebrow}、{arrow-label}、{title}、{callout}(表示字型)。在輸出前,請根據 style-guide.md 解析所有佔位符。

語意角色(一覽)

角色用途
paper、paper-2頁面背景和容器背景
ink主要文字 / 筆畫
muted、soft次要文字 / 筆畫
accent強調色,用於 1–2 個焦點節點
link超連結顏色

(更多角色和它們的十六進位值、字型系列、間距代碼,請參閱 style-guide.md。)


6. 連線規則

所有圖表類型的連線都必須遵循這六條規則:

  1. 連線必須是正交的(水平和垂直路徑)。禁止對角線。
  2. 標籤不得接觸其筆畫。 始終為文字標籤使用遮罩矩形(<rect>),覆蓋在其後面的連線部分之上。
  3. 遮罩不得被其他節點裁剪。 確保標籤遮罩的 z 索引高於所有重疊的節點。
  4. 連線不得重疊。 多條平行線之間至少保持 4px 間距。
  5. 連線必須連接到專用的連接點。 節點上的每個連接點只能用於一條連線的起點或終點。
  6. 連線不得穿過非端點節點。 路徑必須繞過其端點之間的中間節點。

違反任何規則都是自動失敗。


7. 複雜度預算

  • 節點上限(大多數類型):9 個。 超過此數量,請將圖表一分為二,或為主要圖表選擇 9 個關鍵節點,並將其餘的放入詳細圖表中。
  • 連線密度: 每節點不超過 2 條連線(平均)。總連線數應少於節點數的 2 倍。
  • 圖層上限(圖層堆疊):6 層。
  • 泳道上限:5 條泳道。

超過這些限制會觸發結構性重新設計,而不是簡單的調整。


8. 輸出格式

  • HTML(預設): 自包含的 HTML 檔案,內嵌 SVG、CSS 和字型。所有內容都內嵌,無外部依賴。副檔名:.html。
  • SVG: 純 SVG 檔案,帶有內嵌字型。副檔名:.svg。
  • PNG: 透過伺服器端渲染的點陣圖。副檔名:.png。尺寸從 HTML/SVG 輸出中推斷。

使用者可要求任何格式。


9. 匯入格式

支援從以下來源匯入:

  • Drawio (.drawio): 從 Drawio XML 格式解析節點、連線和文字。佈局將被重構以符合編輯設計系統。
  • Mermaid: 接受 Mermaid 定義(文字或 .mmd 檔案)並將其轉換為編輯佈局,保留語意結構。
  • Excalidraw (.excalidraw): 從 Excalidraw JSON 格式匯入。

匯入流程:

  1. 載入來源檔案或文字定義。
  2. 擷取語意結構(節點、連線、標籤、分組)。
  3. 將結構映射到編輯設計系統的佈局語法。
  4. 根據 §1 和 §6 的規則最佳化佈局(如有必要,移除冗餘的連線和節點)。
  5. 根據所選的視覺類型重新渲染。

10. 儲存與設定檔

  • 設定檔: 品牌自訂(顏色、字型、代碼)可以儲存在 references/profiles.md 中的具名設定檔下。
  • 專案標記: 在專案根目錄中放置一個空的 .diagram-design 檔案,以標記該專案已準備好使用此技能。
  • 提示快取: 此文件的內容可以快取,以加快後續呼叫的速度。

11. 生命週期階段圖與區塊分解

除了 §3 中的 45 種類型之外,此技能還包括:

  • 生命週期階段圖: 一個專用於展示主體(產品、功能、資料)如何隨時間演進的模式,具有清晰的階段、閘門和遷移規則。在語意模式觸發時使用。
  • 區塊分解樹: 一個專用於展示可透過 ID 定址的層級式分解的模式,每個區塊具有 I/O、約束條件和程式碼連結。在語意模式觸發時使用。

兩者都包含在參考文件中,並遵循與上述 45 種類型相同的編輯規則。


12. 入門指引

對於新使用者,此技能在 references/onboarding.md 中提供互動式入門流程。流程如下:

  1. 樣式指南設定: 在首次圖表之前自訂顏色和字型。
  2. 類型選擇: 引導使用者根據其資料選擇視覺類型。
  3. 複雜度檢查: 確保圖表保持在複雜度預算之內。
  4. 輸出格式: 選擇 HTML、SVG 或 PNG。
  5. 回饋: 如果使用者在 Spark 工作室中,請提供編輯建議。

入門流程旨在無縫上手,並在生產開始前解決所有設定問題。


13. 反模式與最佳實務

始終:

  • 使用語意角色({ink}、{accent})而非硬編碼的顏色。
  • 保持節點統一:所有節點應具有相似的形狀和尺寸,除非類型另有指定。
  • 使用清晰的標籤:每個節點一個簡短名詞短語。避免在標籤中使用完整句子。
  • 保持連線整潔:僅在線條交叉或語意不明確時才添加標籤。
  • 尊重密度目標:4/10。

從不:

  • 混合使用兩種類型的佈局語法(例如,在流程圖中使用泳道規則)。
  • 在沒有語意意義的情況下使用動畫。
  • 提供多個出口 — 如果路徑分歧,則是兩個圖表。
  • 在沒有考量語意模式的情況下選擇類型,除非使用者已指定類型。

14. 參考文件索引

文件內容
references/style-guide.md顏色、字型、代碼
references/semantic-patterns.md行為觸發條件和模式
references/animation.md動畫規則
references/profiles.md設定檔儲存和載入
references/onboarding.md入門流程
references/type-*.md45 種類型的參考文件

所有參考文件都位於 references/ 目錄中。技能的超智慧至`

相關技能