Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
jsc-sdlc — 開發生命週期
jsc 技能組的 sdlc domain:規劃 → 分析 → 實作 → 維護四個階段,全程以 wiki 頁追蹤(PLAN_CONTENTS、PLAN_{HASH}、ANALYZE_CONTENTS、ANALYZE_{HASH}、REPO_CONTENTS、REPO_{HASH}、MAINTAIN_CONTENTS)。另有異常頁(ERROR_CONTENTS、ERROR_{HASH})記錄 hook 或流程失敗。每次切換階段先解析該階段的指定模型鏈(jsc-cli/tools/model-config.sh get {stage},專案 .jsc/models 優先於 $JSC_HOME/models.conf);沒有設定才退回模型能力標籤檢查。通過閘門後由 jsc-hooks 的 sdlc-gate hook 鎖定模型,直到下一階段的閘門重新上鎖;同一階段內換模型會被擋下。
安裝、更新、移除
Marketplace 統一為 jsc(https://gitea.jsc.idv.tw/plugins/jsc.git),安裝 token 為 jsc-sdlc@jsc。每個指令一行:
| CLI | 安裝 | 更新 | 移除 |
|---|---|---|---|
| claude | claude plugin marketplace add https://gitea.jsc.idv.tw/plugins/jsc.git && claude plugin install jsc-sdlc@jsc |
claude plugin marketplace update jsc && claude plugin update jsc-sdlc@jsc |
claude plugin uninstall jsc-sdlc@jsc |
| codex | codex plugin marketplace add https://gitea.jsc.idv.tw/plugins/jsc.git && codex plugin add jsc-sdlc@jsc |
codex plugin marketplace upgrade jsc |
codex plugin remove jsc-sdlc@jsc |
| copilot | copilot plugin marketplace add https://gitea.jsc.idv.tw/plugins/jsc.git && copilot plugin install jsc-sdlc@jsc |
copilot plugin marketplace update jsc && copilot plugin update jsc-sdlc@jsc |
copilot plugin uninstall jsc-sdlc@jsc |
| antigravity | git clone https://gitea.jsc.idv.tw/plugins/sdlc.git ~/plugins/sdlc && agy plugin install ~/plugins/sdlc |
git -C ~/plugins/sdlc pull && agy plugin uninstall jsc-sdlc && agy plugin install ~/plugins/sdlc |
agy plugin uninstall jsc-sdlc |
| kiro | kiro-cli plugin marketplace add https://gitea.jsc.idv.tw/plugins/jsc.git && kiro-cli plugin install jsc-sdlc@jsc |
kiro-cli plugin marketplace update jsc && kiro-cli plugin update jsc-sdlc@jsc |
kiro-cli plugin uninstall jsc-sdlc@jsc |
antigravity 不支援 gitea URL 安裝,改用本地 clone 路徑。批次操作五個 CLI:使用
/jsc-cli:deploy。
Skills 目錄
呼叫方式:Claude / Antigravity /jsc-sdlc:{name};Codex ${name};Copilot / Kiro 描述需求自動觸發。
plan
規劃:讀計畫目錄 → 補充或新建計畫 → 決策樹補全目標、範圍、可行性至共識 → 產生使用者故事 → 寫回 PLAN_{HASH}。純邏輯,禁止程式碼與修改檔案。
analyze
分析:搭配現況(工作目錄與 REPO_{HASH} 盤點複用)分析使用者故事 → WBS 產生編號工作包 → CPM 估工時與天數 → TDD 拆待辦 → 寫回 ANALYZE_{HASH}。純邏輯,禁止程式碼與修改檔案。
implement
實作:產生工作證鎖定「未完成、無相依、無工作證」的工作包 → 逐項 TDD 實作、每完成一項立即更新 wiki → 程式碼審查 → 詢問是否加入維護目錄。
maintain
維護:讀取維護期內的專案,每個專案一個 sub agent:切 develop/master → 至少五種建議維護方法 → commit / push / PR → 更新前次維護時間。僅適用於維護期內已交付的專案;尚在實作中或未登記於 MAINTAIN_CONTENTS 的專案不適用。
範本與參考
| 檔案 | 用途 |
|---|---|
templates/plan-page.md、templates/plan-contents.md |
計畫頁與計畫目錄 |
templates/analyze-page.md、templates/analyze-contents.md |
分析頁(WBS、CPM、TDD 待辦)與分析目錄 |
templates/repo-page.md、templates/repo-contents.md |
存取庫盤點頁(功能與端點,附 commit sha)與盤點目錄 |
templates/error-page.md、templates/error-contents.md |
異常頁與異常目錄 |
templates/maintain-contents.md |
維護目錄(截止日 NULL = 永久維護) |
references/tdd.md |
接縫、紅綠循環規則、反模式 |
環境變數
Wiki 位置:PLAN_{HASH} / PLAN_CONTENTS 只讀 JSC_WIKI_REPO_PLAN,再退回 JSC_WIKI_REPO;ANALYZE_{HASH} / ANALYZE_CONTENTS 只讀 JSC_WIKI_REPO_ANALYZE,再退回 JSC_WIKI_REPO;REPO_{HASH} / REPO_CONTENTS 只讀 JSC_WIKI_REPO_REPO,再退回 JSC_WIKI_REPO;MAINTAIN_CONTENTS 只讀 JSC_WIKI_REPO_MAINTAIN,再退回 JSC_WIKI_REPO。不同類型不可互相代用;兩者都未設定才詢問(見 jsc-gitea)。
HASH 規則:{owner}/{repo} 的共用 wiki hash 一律由 jsc-gitea/tools/hash-id 計算(見 jsc-gitea:wiki),此 domain 不重複實作演算法。