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);輸出時說明該任務原本就未擱置