圖表
設計、建立、審查與轉換圖表,同時保持視覺論證與原生原始碼的獨立正確性。
機器可讀的入職合約 列出了外部先決條件。
解決兩個決定
首先選擇表達關係的視圖:流程圖、序列圖、狀態圖、架構圖、資料模型、層級圖、時間軸、比較圖,或其它支援的視圖。接著選擇傳遞格式。不要讓熟悉的檔案格式決定圖表類型。
當明確的格式能夠表達所需的結構時,該格式即勝出。如果它造成了重大的限制,請解釋該限制並提供替代方案,但不可默默地改變傳遞物。
當格式為開放時,使用此矩陣:
| 約束 | Excalidraw | Mermaid | draw.io |
|---|---|---|---|
| 手動座標控制 | 強 | 弱;佈局為自動 | 強 |
| 協作視覺編輯 | Excalidraw 中為強 | 取決於主機 | diagrams.net 中為強 |
| 文字差異比較與程式碼審查 | 差 | 強 | 使用未壓縮 XML 時為中等 |
| 自動佈局 | 手動優先 | 強 | 可用,但手動幾何仍然明確 |
| 自由空間組合 | 強 | 有限 | 強 |
| 分頁、圖層、容器、形狀庫 | 有限 | 有限且依賴渲染器 | 強 |
| 直接 Markdown/聊天渲染 | 罕見 | 當支援時為強 | 罕見 |
| 交接後的原生可編輯性 | .excalidraw | 在相容編輯器中的 Mermaid 原始碼 | .drawio XML |
| 可靠的驗證與渲染 | 需要檢查器加可靠的渲染器 | 需要目標解析器加渲染器 | 需要 XML 檢查加相容的編輯器/匯出器 |
偏好其原生編輯器、驗證器與渲染器在傳遞環境中皆可用的格式。如果沒有任何格式能提供視覺證明,則僅在仍然有用時產生請求的原生原始碼,並將結果標記為 DEGRADED。
擁有視覺論證
確定一個問題、受眾、傳遞視口、進入點與主導的閱讀方向。保留精確的事實與識別碼,同時縮短說明性標籤。在語法或座標之前,先對語意節點、邊界與關係進行建模。
在建立或進行重大修訂圖表之前,請閱讀共享的設計方法。它負責拓撲、層級、密度、分組、邊界、路由、語意形狀/顏色/線條使用、分割標準與視覺驗收。
使用一個格式轉接器
- 對於原生的
.excalidrawJSON,請閱讀 Excalidraw 轉接器。執行其內建的檢查器並檢查忠實的渲染結果。 - 對於 Mermaid 原始碼或聊天內的 Mermaid 區塊,請閱讀 Mermaid 轉接器。使用實際目標或相容的現有工具進行解析與渲染。
- 對於原生的
.drawioXML,請閱讀 draw.io 轉接器。驗證 XML 結構,使用相容的 diagrams.net 工具開啟或匯出,並檢查結果。
格式轉接器負責序列化、轉義、識別碼、繫結、幾何、主題、分頁、圖層與渲染器特定的限制。不要將它們不穩定的機制複製到此核心中。
保留原生原始碼
對於新的命名路徑傳遞物,請求的路徑在首次寫入時即成為規範。對於修訂,現有原始碼保持規範,而變更則存在於候選版本中。編輯器與渲染器使用這些成品;匯出到別處永遠不會隱式地取代規範原始碼。
修訂候選版本僅在滿足完成閘門時才會取代現有原始碼。否則請回報 DEGRADED,保持現有原始碼不變,並將該候選版本標記為未完成。
轉換與審查
在轉換過程中保留語意同一性:節點意義、關係方向、序列、包含關係、邊界、基數與精確的技術記號。當來源與目標都支援時,保留分頁、圖層與容器同一性。陳述損失,例如自動佈局變更、不支援的形狀庫或扁平化樣式;永遠不要承諾像素級別的一致性。
對於僅審查的工作,進行檢查與回報,但不要改寫。分別檢查原生結構與渲染後的組成:解析成功並不保證可讀性,而看似合理的圖片並不保證可編輯性。
觸發邊界
此技能擁有明確的 x9-diagrams 呼叫、格式選取、跨格式轉換、共享的視覺方法,以及結構與視覺的組合驗證。僅限於一般 Mermaid 語法的請求可以由已安裝的專門 mermaid-diagrams 技能處理。此技能對於沒有該第三方技能的用戶保持自包含。
當觸發所有權不明確時,僅在任務需要更廣泛的決策或驗證合約時使用 x9-diagrams。不要僅僅因為請求中出現 Mermaid 就同時呼叫兩個技能。
完成閘門
將完成證據與請求的動作匹配:
- 格式選取: 命名視圖與傳遞格式,將選擇與用戶的約束條件連結起來,陳述重大的限制,並識別是否有相容的驗證器、渲染器或編輯器可用。
- 建立或重大修訂: 選取的視圖回答了所述問題;原生原始碼可解析或開啟且仍可編輯;代理未觸發其自身無法完成的原生檔案或目錄選擇器;適用的話,格式特定的載入後佈局保持穩定;相容的渲染器或編輯器從最終規範原始碼(在其最後一次重大變更後)產生了實際視圖;並且該視圖已在其聲明的傳遞模式下檢查了可讀性、層級、交叉、裁剪與誤導性結構。
- 轉換: 滿足建立證據,並確認重要的語意已存活;陳述佈局、樣式、分頁、圖層、容器或記號方面的任何損失。
- 僅審查: 區分原生結構發現與渲染組成發現,並引述檢查過的證據,而不改寫成品。
如果無法獲得活動動作所需的任何證據,請回報 DEGRADED,並附上確切缺少的檢查、驗證器、渲染器、編輯器或來源成品。Excalidraw 檢查器回歸測試位於 scripts/test_check_scene.py。