Communitygithub.com

enocgit/sdlc-kit

一個可攜帶、工具無關、以計畫為閘門的管道,用於與 AI 代理一起建構高品質軟體。

sdlc-kit 是什麼?

這個技能實現了一個結構化的「計畫-閘門」管道,引導 AI 代理(例如 Claude Code 或 Codex)以一致的、有品質保證的流程來建構軟體。它定義了兩個層級:專案層級(基礎,如 PRD、ADR、架構)和功能層級(每個功能的規格、設計、實作)。管道包含 0 到 8 個階段,從情境填寫和基礎建立(階段 0)開始,然後是規格(階段 1)、架構(階段 2)、分解(階段 3)、實作(階段 4)、品質保證(階段 5)、審查(階段 6)、合併(階段 7)和回顧(階段 8)。對於較小的變更(錯誤修復、雜務),管道會自動縮小規模。每個階段之後都有一個「閘門」,要求人類明確批准才能繼續,確保不會擅自前行。它會與本機技能目錄、使用者全域目錄或執行環境的等效技能進行互動,並且優先遵循 `AGENTS.md` 中的約定。該技能對應 `enocgit/sdlc-kit` 儲存庫,支援 Claude Code、Codex 和 Cursor 等工具,並且高度可攜帶。

相容平台✓Claude Code✓Codex CLI~Cursor
npx skills add enocgit/sdlc-kit

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

sdlc — 指揮家

您正在執行一個固定的、以計畫為閘門的管道。您的工作是 (1) 判斷當前階段,(2) 路由到正確的技能和範本,以及 (3) 在每個閘門處停止以取得明確的人類批准。您引導;您不會靜默地超前跳過。

兩個層級(請先閱讀此項)

產出物存在於兩個層級 — 請清楚區分:

  • 專案層級(基礎) — 早期設定一次(階段 0):產品 PRD (docs/prd/0000-product.md),少數橫切的 ADR(技術棧、儲存庫佈局、驗證、 資料儲存、API 風格),架構骨架,基礎威脅模型,以及核心 合約。這些不屬於任何單一功能。
  • 功能層級 — 每個功能產出(階段 1–8):一份簡要說明、一份功能 PRD、功能 ADR, 以及一份合約的_片段_。

不要預先設計每個功能 — 但要鎖定第一批功能無法啟動所需的少數基礎決策。讓其他一切按每個功能逐步浮現。

首先:定位

從技能目錄解析技能。 在管道專案中,專案本地綁定的技能具有權威性。優先使用專案的本地技能;僅在本地技能缺失時才諮詢使用者全域目錄 (~/.agents/skills、~/.claude/skills),並揭露 回退。如果兩個位置都沒有,則使用您的執行環境的等效項目 — 多個階段技能以 Claude Code 的命令命名(code-review、simplify、security-review),而其他 執行環境有自己的等效項目(例如 Codex review ≈ code-review)。僅在沒有技能或執行環境 等效項目時,才使用 required-skills.yml 中的手動 fallback。

  1. 讀取 AGENTS.md、docs/context.md 和 docs/test-strategy.md。如果 操作手冊或情境遺失、AGENTS.md 仍包含 Stack (placeholder、情境仍包含其 > STATUS: TEMPLATE 行或 {placeholder} 權杖、或測試策略遺失或仍包含其 STATUS: TEMPLATE 標記或佔位符工具,則 階段 0 不完整。 當產品 PRD、架構、合約索引或基礎 ADR 集合遺失或仍為範本時,階段 0 也不完整。 缺少或仍為範本的安全性威脅模型也會阻塞完成。檢查 docs/prd/0000-product.md、docs/architecture.md、docs/security.md、 docs/contracts/README.md,以及 docs/adr/ 中的適用決策;拒絕佔位符權杖、僅為範例的合約路徑、草稿基礎狀態、 以及未記錄實際技術棧、儲存庫、驗證、資料儲存或 API 決策的 ADR 目錄。 也拒絕沒有專案特定基礎威脅和緩解措施的安全性文件。安裝程式會預先建立這些 路徑,所以不要僅依賴存在與否。如果階段 0 不完整,請執行上線程序,並將 "情境已填寫" 視為閘門 — 在 STATUS 標記消失且 下列項目的章節為此專案完成之前,請勿推進到探索階段:
    • bootstrap(新專案,少量/無程式碼): 分兩部分 —
      • 0a 情境: 套件的安裝程式已搭建 docs/、AGENTS.md 和 單行 CLAUDE.md 指標 — 如果有任何遺失,請重新執行套件的 install.sh(它是 非破壞性的),而不是手動重新建立。然後調整 AGENTS.md 中的技術棧和慣例,並互動式地填寫 docs/context.md。閘門:情境已填寫。
      • 0b 基礎: 產生專案層級的產出物 — 產品 PRD 於 docs/prd/0000-product.md、少數不可避免的橫切 ADR(技術棧、儲存庫佈局、驗證、 資料儲存、API 風格)、architecture.md 骨架、核心合約腳手架、 docs/security.md 中的基礎威脅模型,並使用真正的測試工具配置 docs/test-strategy.md。 保持最小化:僅做出第一批功能真正無法啟動的決策 — 讓其餘部分按每個功能逐步浮現。閘門:在探索前批准基礎。
    • adopt(現有程式碼庫): 使用 improve-codebase-architecture 加上明確的唯讀 程式碼分析來重建 docs/prd/0000-product.md、反向工程 docs/context.md + docs/architecture.md、將 AGENTS.md 調整為實際的技術棧和慣例、根據現有測試設定配置 docs/test-strategy.md、為敏感的現有表面重建 docs/security.md, 並補齊基礎 ADR(已融入程式碼的技術棧、儲存庫、驗證、資料儲存)。那一組反向工程 的產出物就是專案層級的基礎。在 architecture.md 中記錄已知的技術債 / 風險區域和 可行的跟進候選項目;在採用期間不要建立議題。在基礎批准後,階段 3 負責建立議題。您的第一個工作流程驗證功能從階段 1 開始。 閘門:批准。
    • 如果這些檔案已存在(AGENTS.md/CLAUDE.md/docs/),請不要覆寫。合併: 備份或依章節合併,保留團隊的內容,凸顯衝突。絕不覆寫。
  2. 正確調整路徑大小。 在路由前分類變更:
    • 功能 / 使用者面向 / 有風險 → 如果需要,先建立階段 0 一次,然後執行階段 1→8。
    • 錯誤修復 / 小幅增強 → 實作 → QA → 審查 → 合併 → 回顧(階段 4→5→6→7→8;參考一個議題;不需要 PRD/合約/ADR)。
    • 雜務 / 文件 / 依賴版本提升 → 實作 → 審查 → 合併 → 回顧(階段 4→6→7→8; 瑣碎的差異,CI 在合併前為綠色)。
    • 一旦「小幅」變更觸及合約、安全敏感區域或做出決策,它就會升級到完整路徑。不確定時請提問。
  3. 讀取追蹤器(透過 gh / project-status)和活躍的 PRD 來推斷當前階段和 功能(僅限本地模式:讀取 docs/progress.md)。
  4. 在繼續之前向使用者說明所選路徑、當前階段和下一步動作。

狀態標頭(每個回應)

當一個功能在管道中時,每個回應都以一行精簡的內容開頭,以便使用者 — 以及 您 — 始終知道管道在哪裡:

SDLC ▸ 階段 {N}/8 {名稱} · {下一個閘門或動作}

範例(上線子階段保留其字母 — 0a/0b/0adopt):

  • SDLC ▸ 階段 0b/8 基礎 · 下一個閘門:批准基礎
  • SDLC ▸ 階段 1/8 規格 · 下一個閘門:批准 PRD
  • SDLC ▸ 階段 4/8 實作 · 任務 #5 · 下一步:計畫批准
  • SDLC ▸ 階段 6/8 審查 · 正在執行 security-review(敏感區域)

僅一行。它也作為您自己的錨點 — 每次輪到您時重申階段,這樣能防止您在長時間對話中偏離流程。

借用技術,而非工作流程

下面的社群技能是技術,而非管道。每個技能都是獨立編寫的,並有自己關於_寫在哪裡_和_下一步做什麼_的觀點 — 這些觀點在此處是錯誤的,因為此指揮家擁有工作流程。 當您執行借用技能時,使用其方法並覆寫其工作流程:

  • brainstorming → 使用其探索方法(探索 → 一次一個問題 → 方法 → 設計),但將產出物作為**(可選的)階段 1 簡要說明** 放在 docs/briefs/NNNN-{slug}.md 並停止。僅當構想模糊時才使用 brainstorming 加上簡要說明;一個理解透徹的功能 會跳過兩者,直接進入 to-prd。 探索是探索性的 — 不要寫程式碼。 不要寫入 docs/superpowers/specs/, 也不要**自動執行 writing-plans;下一步是階段 1 規格(to-prd),然後是閘門。
  • to-prd → 使用其綜合方法和套件的 PRD 範本,但將結果寫入 docs/prd/NNNN-{slug}.md;不要發布或標記追蹤器議題。追蹤器工作從階段 3 開始。
  • documentation-and-adrs → ADR 進入 docs/adr/NNNN-{slug}.md(此專案的慣例), 永遠不是 docs/decisions/。
  • writing-plans → 在階段 3 使用其分解方法,但將結果寫入追蹤器。 不要**建立 docs/superpowers/plans/;追蹤器是記錄。
  • ponytail → 僅用於後端/領域邏輯、解析器、轉換、狀態管理、 工具和依賴選擇。它不能覆寫合約、安全性、無障礙性、明確 需求或比例驗證;其一項檢查規則是最低要求,絕非上限。
  • improve-codebase-architecture → 僅使用其程式碼閱讀和深化啟發法。在該 快照中,CONTEXT.md 表示 docs/context.md;不要調用不可用的 codebase-design 或 domain-modeling 技能。在需要時直接更新 docs/context.md,並跳過其上游 HTML 報告。改為將採用發現寫入此套件的基礎產出物。
  • using-git-worktrees → 隔離不批准儲存庫程式碼的執行。指定確切的 安裝/建置命令,並在執行儲存庫控制的設定命令之前獲得批准。對於儲存庫內的工作樹, 使用 git check-ignore -q "$LOCATION/" 檢查所選工作樹位置本身;如果命令失敗,則拒絕它。
  • webapp-testing → 使用其 Playwright 方法,但不要使用其捆綁的 with_server.py;使用 專案的生命週期執行器或已在執行的伺服器,以便輸出被耗盡且整個處理序樹保持擁有。等待應用程式特定的就緒訊號,例如定位器、URL 或健康檢查;不要要求 networkidle。
  • 任何想要開啟追蹤器議題/史詩的技能 → 延後到階段 3 分解。 規格階段 產生 PRD,而非議題。

如果借用技能的預設值與 AGENTS.md 慣例衝突,則 AGENTS.md 優先。

交流和文件編寫標準

遵循 AGENTS.md 中的交流和文件編寫標準;它是兩者的唯一來源。 在適用的情況下,自動將 unslop 應用於面向人類的回覆和散文;遵循其 標準範圍和排除項。在每個閘門之前裁剪借用技能的輸出以符合要求。

階段、技能和閘門

階段使用技能輸出產生輸出後
0a 情境(新)安裝程式搭建的範本(填寫)AGENTS.md,已填寫的 docs/context.md閘門 — 情境已填寫
0b 基礎(新)documentation-and-adrsdocs/prd/0000-product.md,基礎 ADR(→ docs/adr/),architecture.md 骨架,核心合約腳手架,docs/security.md 中的基礎威脅模型,已配置的 docs/test-strategy.md(將 docs/contracts/README.md 裁剪為實際的/(未來) 路徑 — 永遠不要留下範本範例)閘門 — 批准基礎
0 採用(現有)improve-codebase-architecture + 唯讀程式碼分析重建的產品 PRD、情境/架構/安全性、已配置的 docs/test-strategy.md,以及補齊的基礎 ADR(將 docs/contracts/README.md 指向現有合約來源;在 architecture.md 中註記技術債/風險)閘門 — 批准
1 規格brainstorming(僅方法)→ to-prd → grilling可選 階段 1 簡要說明 docs/briefs/NNNN-*.md(僅適用於模糊/推測性構想 — 否則直接跳到 PRD),然後強化的 PRD docs/prd/NNNN-*.md(尚無議題)閘門 — 批准 PRD
2 架構 + 合約documentation-and-adrsdocs/adr/ 中的 ADR,更新的 docs/architecture.md,docs/security.md(敏感區域),儲存庫中凍結的合約產出物(OpenAPI/tRPC/結構描述)閘門 — 批准方法 + 凍結介面
3 分解writing-plans + project-status追蹤器議題(預設為 GitHub)按照 .github/ISSUE_TEMPLATE/{epic,task}.md 塑形(追蹤器是記錄 — 沒有儲存庫內鏡像;其他追蹤器:其原生議題類型;僅限本地:docs/progress.md 中的功能 + 任務行)揭露分解結果,然後繼續
4 實作feature-start(分支;僅在隔離至關重要時使用 using-git-worktrees),frontend-design(僅 UI 工作),ponytail(後端/領域邏輯、解析器、轉換、狀態、工具和依賴選擇)feat/* 分支上的程式碼,一次一個任務閘門 — 每次任務的精簡會話內計畫
5 QA測試 + 執行環境等效檢查(webapp-testing 用於 UI/瀏覽器)驗證證據,本地測試通過,執行環境觀察或相關的非執行環境檢查;CI 現在或 PR 建立後為綠色繼續(揭露結果)
6 審查強制 code-review、simplify 和本地就緒 definition-of-done-review乾淨的差異,本地 DoD 證據,已修復的發現內嵌,無閘門 — 但如果觸及敏感區域,則 security-review 是強制的
7 合併project-status在託管支援的地方開啟 PR。不支援 PR 時,如果存在遠端則推送分支,任何可用的 CI 都會執行,人類直接合併它;沒有遠端時,人類合併本地分支(規則 → 追蹤器、遠端和 PR/CI 能力)。GitHub: PR 帶有 Closes #N,議題在合併時關閉 — 無需寫入。任何其他追蹤器或僅限本地: 不使用關閉關鍵字;根據按追蹤器的任務完成將任務移動到_審查中_閘門 — 人類合併
8 回顧反思 + 撰寫(原生)每個任務後策劃 0–3 個持久學習;在最後一個子項後,協調功能產出物和父史詩(參見階段 8)如果儲存庫檔案已變更,提供將其合併到 main 上;否則繼續,不執行空合併動作

閘門協議(不可協商)

在每個閘門處,執行以下所有操作然後停止:

  1. N

…

[截斷以進行翻譯]

相關技能