Agent skill
spec
需求完善度品質閘門。Use for: (1) Phase 1 開始時初始化功能規格骨架 (/spec init), (2) 驗證功能規格的需求完善度 (/spec validate), (3) 判斷需求是否足夠清晰可進入實作。Use when: lavender-interface-designer 在 Phase 1 進行功能設計時,作為內部工具使用。不是流程入口——/tdd 管流程編排,/spec 管產出物品質。
Install this agent skill to your Project
npx add-skill https://github.com/tarrragon/claude/tree/main/skills/spec
SKILL.md
/spec - 需求完善度品質閘門
把模糊需求展開成無歧義的行為契約。
定位與分工
| 工具 | 問的問題 | 階段 | 關係 |
|---|---|---|---|
| /tdd | 「流程走到哪了?下一步做什麼?」 | Phase 0-4 全流程 | 流程編排器 |
| /spec | 「需求描述得夠不夠清楚?」 | Phase 1 內部 | 產出物品質工具 |
| SA | 「該不該做?和現有系統一致嗎?」 | Phase 0 | 架構守門人 |
/spec 不是流程入口:lavender 在 Phase 1 內部使用 /spec 產出功能規格。/tdd 不呼叫 /spec,/spec 不呼叫 /tdd。兩者完全解耦。
子命令總覽
| 子命令 | 用途 | 適用時機 |
|---|---|---|
/spec init |
初始化功能規格骨架 | Phase 1 開始,lavender 收到 Ticket 後 |
/spec validate |
驗證需求完善度 | 規格撰寫完成後,進入 Phase 2 前 |
/spec init - 初始化功能規格骨架
讀取 Ticket frontmatter,自動判斷模式,產出對應模板骨架。
輸入
- Ticket ID(必填):從 frontmatter 讀取 type、where、priority 等欄位
模式判斷(自動)
讀取 Ticket frontmatter
|
v
符合 Full 任一條件?
|
+-- 是 → Full 模式(6 區段)
|
+-- 否 → Lite 模式(3 區段)
Full 模式觸發條件(任一符合):
| 條件 | 判斷依據 |
|---|---|
| 新功能開發 | type == IMP 且 how.task_type == "新增" |
| 修改檔案多 | where.files > 5 |
| 明確指定 | 用戶執行 /spec init --mode full |
Lite 模式:不符合任何 Full 條件,或用戶執行 /spec init --mode lite。
輸出
- 功能規格骨架檔案:
{ticket-id}-feature-spec.md - 存放位置:Ticket 所在目錄(
docs/work-logs/v{version}/tickets/) - Spec 文件即 Phase 1 設計文件(同一檔案,非額外產物)
Lite 模式骨架(3 區段)
# {Ticket ID} 功能規格
## 1. Purpose(目的)
<!-- 用一句話回答:這個功能解決什麼問題?為誰解決? -->
## 2. Scenarios(行為場景)
<!-- 用 GWT 格式描述每個行為場景 -->
### 場景 1: {場景名稱}
- **Given**: {前置條件}
- **When**: {觸發動作}
- **Then**: {預期結果}
## 3. Acceptance(驗收條件)
<!-- 可直接驗證的條件清單 -->
- [ ] {條件 1}
Full 模式骨架(6 區段)
# {Ticket ID} 功能規格
## 1. Purpose(目的)
<!-- 問題背景、目標用戶、核心價值 -->
## 2. API Signatures(介面定義)
<!-- 函式簽名、輸入輸出型別、回傳值語義 -->
## 3. GWT Scenarios(行為場景)
<!-- Given-When-Then 格式,含正常流程和異常流程 -->
## 4. Error Handling(錯誤處理)
<!-- 每個錯誤情境的處理策略和回傳值 -->
## 5. Dependencies(依賴)
<!-- 外部依賴、前置條件、環境假設 -->
## 6. Acceptance(驗收條件)
<!-- 可直接驗證的條件清單,含效能指標(如適用) -->
完整模板含填寫指引和範例:
references/spec-template-lite.md、references/spec-template-full.md
/spec validate - 驗證需求完善度
兩層驗證:結構檢查(機械性)+ AI 語義推演(深度分析)。
輸入
- Spec 文件路徑(必填):
{ticket-id}-feature-spec.md
Layer 1:結構檢查(自動,秒級)
檢查模板區段的存在性和非空性。
| 模式 | 必須存在的區段 | 檢查內容 |
|---|---|---|
| Lite | Purpose, Scenarios, Acceptance | 區段標題存在且內容非空 |
| Full | 全部 6 區段 | 區段標題存在且內容非空 |
額外結構檢查:
| 檢查項 | 規則 |
|---|---|
| GWT 格式 | Scenarios 區段至少 1 個 Given-When-Then 完整三元組 |
| Acceptance 可驗證性 | 每個條件以 - [ ] 開頭 |
| Purpose 簡潔性 | 不超過 200 字(Lite)/ 500 字(Full) |
結構檢查失敗:輸出缺失清單,不進入 Layer 2。
Layer 2:AI 語義推演(深度,需思考)
沿 3 個核心維度掃描規格文件,找出未被展開的需求假設。每個維度產出一組「未回答問題」。Full 模式額外提示情境相關問題(不產出清單、不進入迭代)。
掃描維度
| # | 維度 | 核心問題 | 適用模式 |
|---|---|---|---|
| 1 | 邊界完整性 | 極端值、空值、上限下限的行為定義了嗎? | Lite + Full |
| 2 | 錯誤路徑 | 每個操作失敗時,系統如何回應? | Lite + Full |
| 3 | 狀態完整性 | 所有狀態和轉換都定義了嗎?有不可達狀態嗎? | Lite + Full |
Lite 模式只掃描維度 1-3,降低小型任務的認知負擔。
情境相關提問(Full 模式額外提示)
Full 模式下,validate 完成維度 1-3 掃描後,額外提示以下問題供撰寫者自行考慮。這些不產出未回答問題清單,不進入迭代:
- 並發安全:多個使用者/執行緒同時操作會怎樣?
- 效能約束:資料量增長 10x/100x 時行為如何?有回應時間要求嗎?
- 安全性:誰可以執行此操作?敏感資料如何保護?
- 依賴明確性:外部依賴的契約是否明確?依賴不可用時的降級策略?
語義推演輸出格式
## /spec validate 結果
### 結構檢查:通過/未通過
{缺失清單,如有}
### 語義推演:{N} 個未回答問題
#### 維度 1: 邊界完整性
- Q1: 當 {參數} 為空值時,預期行為是什麼?
- Q2: {集合} 的上限是多少?超過上限時如何處理?
#### 維度 2: 錯誤路徑
- Q3: {操作} 失敗時,是否需要回滾已完成的步驟?
#### 維度 3: 狀態完整性
(無未回答問題)
### 建議
- 必須回答:Q1, Q3(影響 GWT 設計)
- 建議回答:Q2(影響效能設計)
- 可延後:無
迭代機制
/spec validate 可多次執行。回答問題後再次 validate,直到無新問題或達上限。
迭代上限(安全閥)
| 模式 | 上限 | 理由 |
|---|---|---|
| Lite | 2 次 | 小型任務不應花費過多時間在規格上 |
| Full | 3 次 | 第 3 次仍有大量問題表示需求本身不成熟,應升級 PM |
達上限時輸出警告,剩餘問題標記為 Phase 2 待解決。
使用流程
Phase 1 中 lavender 如何使用 /spec 的完整流程,詳見 lavender 代理人定義(.claude/agents/lavender-interface-designer.md「/spec 工具整合」章節)。
/spec 只負責「發現問題」(產出骨架和未回答問題清單),不負責「解決問題」(由 lavender 決定如何回答和組織)。
相關文件
- .claude/skills/tdd/SKILL.md - TDD 流程工具(流程編排)
- .claude/agents/lavender-interface-designer.md - Phase 1 設計代理人(/spec 的使用者)
- .claude/pm-rules/tdd-flow.md - TDD 完整流程定義
- references/spec-template-lite.md - Lite 模板(3 區段)
- references/spec-template-full.md - Full 模板(6 區段)
Version: 1.1.0 Last Updated: 2026-03-25 Source: 0.2.0-W3-003(Phase 3b context 耗盡 → 需求完善度品質閘門) Changes: v1.1.0 - 三人組共識簡化(0.2.0-W3-011):刪除核心抽象/反向提問策略、維度 4-7 降級為提示、精簡迭代機制、init 條件簡化為 2 個
Didn't find tool you were looking for?