# 產品需求文檔 (Write-a-PRD) 技能指南 ## 概述 `write-a-prd` 技能將抽象的功能需求轉化為結構化的產品需求文檔 (PRD)。它結合了用戶訪談、代碼分析和模組設計,最終產出一份開發者可直接執行的技術準則。 ## 🚀 運作流程 1. **需求挖掘**:要求用戶提供詳細的問題描述與初步解決方案想法。 2. **現況核實**:探索現有代碼庫,驗證用戶的假設並理解技術現狀。 3. **壓力訪談**:調用類似 `grill-me` 的邏輯,對方案的每個細節進行深度追問,直到達成共識。 4. **模組設計**: - 規劃需要建立或修改的模組。 - 追求**深層模組 (Deep Modules)**:將複雜功能封裝在簡單、穩定且可獨立測試的接口中。 - 與用戶確認模組劃分及測試優先級。 5. **正式撰寫**:根據標準模板撰寫 PRD。 6. **提交發佈**:將 PRD 保存為文件並提交為 **GitHub Issue**。 ## 📥 輸入與輸出 ### 輸入 (Input) - 用戶對問題的詳細描述。 - 潛在的解決方案想法。 - 現有代碼庫的上下文。 ### 輸出 (Output) - **路徑**:`docs/prd/{date}-{feature}.md` - **格式 (PRD 模板)**: - **問題陳述 (Problem Statement)**:從用戶視角描述目前面臨的痛點。 - **解決方案 (Solution)**:從用戶視角描述解決後的狀態。 - **用戶故事 (User Stories)**:格式為 `作為 <角色>, 我想要 <功能>, 以便於 <獲益>`。 - **實作決策 (Implementation Decisions)**:模組變更、接口定義、架構決定、Schema 變更等(不含具體文件路徑)。 - **測試決策 (Testing Decisions)**:定義測試標準、確定測試模組及參考案例。 - **超出範圍 (Out of Scope)**:明確定義本次開發**不**包含的功能。 - **補充筆記 (Further Notes)**:其他相關資訊。 ## 🔒 注意事項 - **工作環境**:建議在獨立的 `worktree` 中運行。 - **同步性**:最終 PRD 必須同步至 GitHub Issue 以便團隊追蹤。