domain-modeling
運用活躍詞彙建立精準的領域模型
當團隊使用不一致的術語或忘記當初決策的原因時,軟件項目便會受困。這個技能透過挑戰術語、發掘邊界案例,以及在 CONTEXT.md 與 ADR 中記錄決策,協助你主動建立並磨練你的領域模型。
下載技能 ZIP
在 Claude 中上傳
前往 設定 → 功能 → 技能 → 上傳技能
開啟並開始使用
測試它
正在使用「domain-modeling」。 使用者說:「當客戶取消訂單時,我們需要退款給他們。」
預期結果:
回應:「你的詞彙表將『cancellation』定義為在履行之前結束訂單,但退款是帳務概念。你是要取消訂單並在帳務中觸發退款事件,還是取消本身就是一個帳務操作?讓我們釐清哪個上下文擁有這個行為。」
正在使用「domain-modeling」。 使用者在事件溯源系統中決定對寫入模型使用 PostgreSQL。
預期結果:
回應:「這符合 ADR 的條件——難以逆轉(資料庫選擇)、缺乏脈絡時令人意外(為何選 Postgres 而非事件儲存?)、存在真實權衡(曾考慮其他方案)。我現在建立 ADR-0003-postgres-for-write-model.md。」
安全審計
安全This skill contains only markdown documentation describing domain modeling practices, CONTEXT.md format, and ADR format. Static analysis flagged false positives: backtick matches are markdown inline code formatting, not shell execution; cryptographic matches are coincidental word fragments in documentation; system reconnaissance flags refer to file path references in examples, not actual filesystem access. No executable code, scripts, network calls, or malicious patterns were found.
風險因素
📁 檔案系統存取 (3)
品質評分
你能建構什麼
建立新的領域模型
適用於在撰寫程式碼之前,啟動新專案時建立初步詞彙並記錄關鍵架構決策。
解決術語衝突
適用於團隊討論中,不同成員使用不同詞彙指稱同一概念而需要釐清時。
記錄架構決策
適用於做出重大的技術選擇時,例如資料庫選用或整合模式,這些決策將需要讓未來的開發人員理解。
試試這些提示
協助我為這個專案建立領域模型。請先閱讀 CONTEXT.md(如果存在的話),然後在我們討論設計時主動挑戰我所使用的任何術語。
我剛才在討論中使用了「account」這個詞。請檢查 CONTEXT.md,告訴我這是否與我們定義的詞彙衝突,然後提出我們應該使用的精準詞彙。
我們剛定義了 Order 與 Invoice 之間的關係。請發想 3 個能夠探測這兩個概念之間邊界的邊界案例情境,迫使我們更精準地表達。
我們剛決定對寫入模型採用事件溯源(event sourcing)。請檢查這是否符合 ADR 的三項條件(難以逆轉、缺乏脈絡時令人意外、存在真實權衡)。如果符合,請使用 ADR-FORMAT.md 中的格式建立 ADR。
最佳實務
- 僅在有值得記錄的內容時才建立 CONTEXT.md 與 ADR,採延遲建立原則
- 立即挑戰每個含糊不清的術語,不要讓混亂累積
- 將 CONTEXT.md 的定義保持在一到兩句話,聚焦於該術語「是什麼」
- 僅針對難以逆轉、缺乏脈絡時令人意外,或涉及真實權衡的決策撰寫 ADR
避免
- 將 CONTEXT.md 當作規格書或實作細節的草稿區
- 為明顯且無真正替代方案的決策撰寫 ADR
- 將通用程式設計概念(逾時、錯誤類型)加入詞彙表
- 批次累積術語更新,而不是在解決當下即時記錄