plan-status
列出 .spec/ 目錄中所有活躍與已完成的任務(純本地操作,不呼叫 Notion)。當使用者提到 /plan-status、「.spec 任務狀態」、「CREW 任務列表」時觸發此 Skill。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
列出 .spec/ 目錄中所有活躍與已完成的任務(純本地操作,不呼叫 Notion)。當使用者提到 /plan-status、「.spec 任務狀態」、「CREW 任務列表」時觸發此 Skill。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
CREW 環境健診 —— 一次性檢查 CREW 所有必要與選配依賴(Node/Git/Notion MCP/Agent Teams/瀏覽器 MCP/config/專案註冊/CLAUDE.md),列出綠黃紅燈與修法。當使用者提到 /crew-doctor、「CREW 環境健診」、「CREW 為什麼不能用」時觸發此 Skill。
瀏覽與探索已有的 .spec/ 規劃文件 —— 深度閱讀、跨任務比較、模式搜尋。當使用者提到 /plan-browse、「瀏覽 .spec 規劃」、「看之前的規劃設計」時觸發此 Skill。
從 .spec/{slug}/plan.md 以 Agent Teams leader-delegate 模式產生程式碼,含退出驗證與錨點有效性檢查,Leader 只協調不寫 code。當使用者提到 /plan-build、「從 spec 產生程式碼」、「plan-build 產碼」時觸發此 Skill。
結案前先跑文件漂移硬關卡(FAIL 擋、WARN 需明示放行),通過後蓋章 verified_at_commit、提交 Git、批次同步 plan.md 與 deploy.sql 到 Notion。當使用者提到 /plan-close、「feature 結案」、「同步 spec 到 Notion 並結案」時觸發此 Skill。
智慧推薦 CREW 當前任務下一步 —— 呼叫 crew-state.py 讀 state.json 算出下一個 /plan-* 指令並轉成人話。當使用者提到 /plan-next、「CREW 下一步指令」、「這個 spec 接下來做什麼」時觸發此 Skill。
CREW 規劃 —— spec / db / arch 三個 pass 把決策與驗收條件寫進 .spec/{slug}/plan.md,DB 設計另產 deploy.sql(零 Notion 呼叫)。當使用者提到 /plan、「CREW 完整規劃」、「一次跑完 spec/db/arch」時觸發此 Skill。
| name | plan-status |
| description | 列出 .spec/ 目錄中所有活躍與已完成的任務(純本地操作,不呼叫 Notion)。當使用者提到 /plan-status、「.spec 任務狀態」、「CREW 任務列表」時觸發此 Skill。 |
純本地操作。狀態一律由 crew-state.py 讀寫(.spec/{slug}/state.json 是唯一權威),本 skill 只負責呈現與清理。不呼叫任何 Notion API。
前置檢查:參照 plugin 根目錄
references/prerequisites.md(相對 SKILL.md 為../../references/)檢查 CLAUDE.md 是否存在。
/plan-status # 列出所有任務(含已結案)
/plan-status --active # 只列出未結案的任務
/plan-status --detail # 詳細模式:每個任務的階段進度與檢查結果
/plan-status --cleanup # 清除超過 30 天(預設)的已完成任務
/plan-status --cleanup=<N> # 清除超過 N 天的已完成任務,例:--cleanup=60
/plan-status --park <slug> # 擱置指定任務
/plan-status --unpark <slug> # 恢復指定任務
/plan-status --migrate <slug> # 把 v1 舊結構任務機械搬移到 v2(過渡期,見 legacy-v1.md)
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/crew-state.py" list --all --format json
--active 時去掉 --all(script 即不含已結案任務)。回傳每筆含 slug/name/type/phase/closed/parked/inferred/updated/stale_days/next。
/plan-start不要自行掃 frontmatter 或重建索引:crew-state.py list 即時掃 .spec/*/state.json,沒有快取可漂移。
依 closed / parked 分成三組。inferred 為 true 的任務在該列尾標 ⚠️ 推測。
📋 任務狀態
## 進行中({N} 個)
| # | 類型 | 名稱 | 階段 | 停滯 | 下一步 |
|---|------|------|------|------|--------|
| 1 | 🔧 feature | 推播標籤查詢 | build | 3 天 | /plan-build --resume |
| 2 | 🐞 bug | SSO 登入錯誤 | verify | 1 天 | /plan-verify |
## 擱置中({N} 個)
| # | 類型 | 名稱 | 擱置時階段 | 擱置原因 |
|---|------|------|-----------|---------|
| 1 | 🔧 feature | 資料匯出 | db | 等 DBA 回覆 |
## 已完成({N} 個)
| # | 類型 | 名稱 | 完成日期 |
|---|------|------|---------|
| 1 | 🔧 feature | 訂閱推播統計 | 2026-03-10 |
額外唯讀讀取 .spec/{slug}/state.json(只讀,不寫)取 steps、work_unit、results、resume_hint:
### 1. 🔧 推播標籤查詢(push-tag-query)
階段:build|分支:feature/push-tag-query|Notion:{notion.page_id 有值時附連結,無則「未建立」}
步驟:start ✅ spec ✅ db ⏭️ 跳過(DB_REQUIRED=false) arch ✅ build ⏳ 3/7 security ⬜ verify ⬜ review ⬜ close ⬜
結果:verify —|review —|security —
下一步:/plan-build --resume(build 中斷於 3/7 檔案)
步驟圖示對應 steps.{name}.status:done ✅/in_progress ⏳/skipped ⏭️(附 reason)/failed ❌/pending ⬜。
一律交給單一寫者,不要自己改任何檔案:
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/crew-state.py" park --slug <slug> --reason "<原因>"
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/crew-state.py" unpark --slug <slug>
--reason 為選填;使用者沒說原因就不帶。script 的輸出(✅ {slug} 已擱置… / ✅ {slug} 已復工|下一步:…)照實轉述即可。擱置中的任務不會出現在 session 開場提醒。
未指定 <N> 時預設 30 天;天數從 steps.close.at(結案時間)算起。
以下已完成任務超過 30 天:
| # | 名稱 | 完成日期 | 天數 |
|---|------|---------|------|
| 1 | 訂閱推播統計 | 2026-02-10 | 34 天 |
是否清除?(會刪除 .spec/ 目錄,Notion 資料不受影響)[y/N]
確認後才動手(未確認一律不刪):
.spec/{slug}/ 目錄/plan-close 用 git add -f 加入版本控制(見 plan-close 的 Gotchas),一併 git rm -r --cached .spec/{slug}/ 取消追蹤;plan-start 產生的 .gitignore 規則不需還原或修改把 v1 舊結構任務搬到 v2。判定與適用情境見 ../../references/legacy-v1.md
(先讀它再動手 —— 大多數 v1 任務更適合「照舊跑完」而不是遷移)。
🔴 只做機械搬移,不做語意轉換。 這條沒有例外。
動手前先確認,列出將搬走哪些檔案,使用者回覆才執行:
準備遷移 push-tag-query(v1 → v2):
搬到 archive/:spec.md(313行) db.md(99行) arch.md(583行) log.md(254行) files.md(121行)
合併:db.sql + deploy.sql → deploy.sql(去重)
轉換:README.md frontmatter → plan.md frontmatter + state.json
新建:plan.md(六章節骨架,內容留 TODO 佔位由你補)
原文一個字都不會改。是否執行?[y/N]
確認後依序執行:
.spec/{slug}/archive/,原封搬入 spec.md/db.md/arch.md/log.md/files.md/review.md/security.md/verify.md(用 git mv 或 mv,不改內容、不刪除)db.sql 與既有 deploy.sql 合併去重 → 單一 deploy.sql;衝突時保留兩者並標注,讓人決定,不要自己挑一個README.md frontmatter 的身分欄位 → plan.md frontmatter;狀態欄位 → crew-state.py init + set(🔴 不手寫 JSON)plan.md 六章節骨架(與 /plan-start 完全相同),每個內容章節放一行佔位:
TODO(migrate): 從 archive/{來源檔} 補 —— 標明去哪找原文🔴 禁止用 LLM 把 archive 的內容摘要、壓縮或改寫進 plan.md。理由見 legacy-v1.md
「為什麼不做自動語意轉換」——壓縮不可驗證,且會幻覺出從未做過的決策。
已結案的 v1 任務不遷移(_index.md 標已完成,或無進行中跡象):直接整包搬進
archive/ 即可,不必建 plan.md。
crew-state.py。本 skill 若直接編輯 state.json 或 plan.md frontmatter,會繞過原子寫入與併發鎖,是欄位漂移的來源。list 掃不到的目錄不會出現在輸出。若使用者說「有個任務不見了」,跑 crew-state.py rebuild --slug <slug> 重建,重建結果會標 inferred。crew-state.py park 不檢查 closed,對已結案任務照樣寫入成功。擱置語意是「稍後繼續」,已結案的沒有繼續的必要 → 呼叫 park 前務必先用 list --all 確認該任務 closed 為 false,是 true 就拒絕並說明理由。--cleanup 是刪檔操作:一定要先列出清單、取得使用者明確確認,且只刪已結案且超期的任務。.spec/ 不存在或無任務:提示先執行 /plan-startresume_hint.branch 但標「分支不存在」--park/--unpark 指定不存在的 slug:script 回 exit 1,照其訊息回報並列出可用任務--unpark 指定非擱置任務:script 會直接把 parked 設為 null(冪等操作、exit 0);輸出時說明該任務原本就未擱置