# SKILL-023:規格書轉 MD
將任何格式的 Google Sheet 規格書轉換為統一結構的 MD 檔案,供 AI 讀取展開測試項目。
| 項目 | 說明 |
|---|---|
| 觸發 | 用戶說「轉換 XX 規格書」或「規格書更新了」 |
| 輸入 | Google Sheet 連結 + 指定頁籤(或全部) |
| 輸出 | 統一格式 MD 檔案 + 轉換報告 |
| 執行者 | qa-sheet-worker |
| Schema | /root/.agend/wiki/specs/_schema.md |
Step 1:用戶提供 Sheet 連結 + 指定頁籤 Step 2:qa-sheet-worker 用 API 讀取(includeGridData=True) Step 3:程式化判斷每行狀態(hidden/背景色/刪除線/移除標記) Step 4:按 _schema.md 格式轉換為 MD Step 5:產出 MD 檔案 + _index.md + 轉換統計報告 Step 6:用戶確認(首次轉換需逐章節確認)
| Sheet 特徵 | MD 狀態 |
|---|---|
| 正常可見行 | ✅ |
| hidden=true | 🔒 |
| 背景灰色 | 💡 |
| 文字刪除線 | ❌ |
| 內容含「移除」「刪除」+日期 | ❌(日期) |
| 灰色+刪除線 | ❌ |
| Sheet 特徵 | MD 層級 |
|---|---|
| 合併儲存格(跨欄) | 章節標題(## H2) |
| 粗體/較大字 | 子章節(### H3) |
| 一般行 | 項目(清單項) |
[⚠️ 缺少:欄位名][未提供] 佔位wiki/specs/
_schema.md ← 格式規範
[遊戲代號]/
_index.md ← 頁籤目錄 + meta
[頁籤名].md ← 各頁籤轉換結果
| 項目 | 規則 | 範例 |
|---|---|---|
| 遊戲資料夾 | 遊戲代號(英文) | A9+/、A8+/、ladybug/ |
| 頁籤檔名 | 小寫英文+連字號 | system-settings.md |
每次轉換完成後必須回報:
轉換完成: - 總行數:X 行 - ✅ 有效:X 項 - 🔒 隱藏:X 項 - ❌ 已移除:X 項 - 💡 灰色:X 項 - 章節數:X 個 - 缺少必填欄位:X 個(列出)
| 步驟 | 做法 |
|---|---|
| 觸發 | 用戶說「規格更新了」 |
| 方式 | 全量重轉(覆蓋舊檔) |
| 合併 | [未提供] → 有新值則覆蓋;已有值 → 不覆蓋;衝突 → 標 [衝突] |
| AI 補充 | 永遠不覆蓋(用戶確認過的) |
| 產出 | diff 報告:「新增 X 項、修改 X 項、移除 X 項」 |
includeGridData=True 讀取,不遺漏隱藏行/格式資訊| 機器人 | 角色 |
|---|---|
| qa-sheet-worker | 執行轉換 |
| general | 協調、觸發 |
| qa-test-expander | 使用轉換後的 MD 展開測項 |