此技能會根據當前的對話上下文和對代碼庫的理解,產出產品需求文檔(PRD)。請勿對用戶進行訪談——僅需匯整你已知的資訊。
問題追蹤器和分類標籤詞彙表應已提供給你——如果尚未提供,請執行 /setup-matt-pocock-skills。
流程
-
探索代碼庫以了解當前狀態(如果尚未這麼做)。在整個 PRD 中使用項目的領域詞彙表詞彙,並在你觸及的區域中尊重相關的架構決策記錄(ADR)。
-
草擬你將用來測試該功能的隔離邊界(seam)。優先選用現有的隔離邊界,而非新增。使用盡可能高的隔離邊界。如果需要新的隔離邊界,請在你所能達到的最高層級提出建議。代碼庫中的隔離邊界越少越好——理想數量是一個。
與用戶確認這些隔離邊界是否符合他們的預期。
- 使用以下模板撰寫 PRD,然後將其發布到項目問題追蹤器。套用
ready-for-agent分類標籤——無需額外的分類處理。
問題陳述
從用戶角度出發,用戶面臨的問題。
解決方案
從用戶角度出發,問題的解決方案。
用戶故事
一個長篇、編號的用戶故事列表。每個用戶故事應遵循以下格式:
- 身為一個<角色>,我希望<某個功能>,以便<某個好處>
此用戶故事列表應非常詳盡,並涵蓋該功能的所有方面。
實現決策
一系列已做出的實現決策。可以包含:
- 將要構建/修改的模組
- 這些模組將要修改的介面
- 來自開發者的技術說明
- 架構決策
- 資料表結構變更
- API 合約
- 特定互動
請勿包含特定的檔案路徑或程式碼片段。它們可能很快就會過時。
例外:如果原型產生的程式碼片段能夠比散文更精確地編碼某個決策(例如狀態機、reducer、資料表結構、類型形狀),則將其內聯到相關決策中,並簡短註明其來自原型。僅保留富含決策價值的部分——不是一個可運行的展示,僅是重要的部分。
測試決策
一系列已做出的測試決策。包含:
- 什麼構成一個好的測試的描述(僅測試外部行為,不測試實作細節)
- 哪些模組將被測試
- 測試的前例(即,代碼庫中相似的測試類型)
不在此範圍內
此 PRD 中不涵蓋的事項的描述。
進一步說明
關於此功能的任何進一步說明。