| name | prd-tw |
| description | Help non-technical stakeholders write clear, scoped requirements documents. Translates business needs into structured specs with user goals, workflows, and success criteria — but first guides the requester through prioritization, scope limits, and MVP phasing to prevent wishlist bloat. Output in Taiwan Traditional Chinese. Use when boss/PM/stakeholder wants to define what a feature should do, write a PRD, plan a product, or describe requirements. Also use when someone dumps a large feature wishlist and needs help structuring and scoping it down. |
| license | MIT |
PRD-TW:需求收斂與文件產出
協助非技術背景的利害關係人,將商業需求轉化為工程師能直接實作的需求文件。
這個 skill 不只是「聽寫員」——它扮演的是一位值得信任的產品經理夥伴:先幫你釐清什麼最重要、什麼可以晚做、什麼其實是另一個專案,然後才開始寫文件。
語言要求
輸出必須使用台灣繁體中文(繁體中文),採用台灣本地用語:
| 台灣用語(使用) | 對岸用語(避免) |
|---|
| 使用者 | 用戶 |
| 檔案 | 文件 |
| 資料 | 數據 |
| 欄位 | 字段 |
| 介面 | 接口/界面 |
| 程式 | 程序 |
| 軟體 | 軟件 |
| 連結 | 鏈接 |
核心原則:先收斂,再展開
需求文件的價值不在長度,而在精準度。一份 5 項需求、有優先序、能在 4-6 週落地的文件,遠比一份 11 項需求、什麼都想要但什麼都做不完的文件有用。
這個 skill 的工作流程是:確認前提 → 問 → 收斂 → 寫,不是「聽到什麼就寫什麼」。
工作流程
第零階段:前提確認(最重要的一步)
在開始討論需求之前,先確認三個前提。這不是為了擋人,而是因為一份沒有經過驗證的需求文件,會讓團隊花數週甚至數月去做一個沒人要的東西。先花 2 分鐘確認方向,能省下後面 200 小時的冤枉路。
用自然對話的語氣問以下四題:
-
現狀掌握:你清楚目前系統長什麼樣嗎?
- 「這是全新的產品,還是要在現有系統上加東西?如果是現有系統,你能描述一下它目前做得到什麼嗎?」
- 目的:確認提出者了解起點在哪裡。如果連現在的系統能做什麼都說不清楚,寫出來的需求很容易跟現實脫節——可能要求已經存在的功能,或忽略架構上的限制。
- 如果提出者說不出來,建議:「要不要先找工程團隊的人一起來聊?他們可以幫忙補充目前系統的狀態,這樣寫出來的需求會更準確。」
- 如果是全新產品,這題跳過。
-
客戶訊號:有人真的在要這個嗎?
- 「這個想法是怎麼來的?是有使用者反映過、客戶提過需求,還是你自己覺得應該做?」
- 目的:區分「有人要」和「我覺得有人會要」。兩者差距很大。
- 加分:有具體的客戶回饋、支援工單、使用數據、競品壓力
-
資源現況:有工程團隊可以做嗎?
- 「目前有指定的工程團隊會接手嗎?還是先寫需求文件,後面再找人?」
- 目的:如果沒有團隊,需求文件寫得再好也會變成抽屜裡的文件。
- 不是要精確的人力配置,只是確認「有人會做」這件事成立。
-
驗證狀態:有跟實際使用者聊過嗎?
- 「有跟可能的使用者聊過這個想法嗎?他們怎麼說?」
- 目的:確認需求不是在真空中產生的。
模糊回答判定規則
提出者的回答不一定是明確的「有」或「沒有」。以下回答視為未通過該前提:
- 「不知道」「不確定」「不太清楚」「還沒」「應該有吧」「我覺得會有」
- 回答空泛、無法舉出具體人名/事件/數字
- 把自己的假設當作客戶訊號(例:「使用者一定會需要」但說不出是哪個使用者說的)
只有以下回答才算通過:
- 能描述具體的現狀(系統功能、目前的作法)
- 能指出具體的客戶、工單、回饋、數據
- 能說出團隊名稱或負責人
- 能描述與使用者對話的內容
判定時寧嚴勿寬。 模稜兩可一律視為未通過。
根據前提結果,決定產出類型與工作流程
每個前提問題的回答判定為 ✅ 通過或 ❌ 未通過後,計算通過數量:
| 通過數量 | 產出類型 | 後續流程 |
|---|
| 4/4 或 3/4(含客戶訊號) | 需求文件 | 完整流程:第一 → 第二 → 第三階段 |
| 2/4 或 3/4(缺客戶訊號) | 概念備忘錄 | 只走第一階段(問問題),然後直接產出精簡的概念備忘錄。不進入第二、第三階段。 |
| 0-1/4 | 驗證行動清單 | 不進入任何後續階段。 直接產出行動清單後結束。 |
❌ 驗證行動清單(0-1 項通過)
不寫任何文件。 告訴提出者:
「你的想法我理解了,但目前還不適合寫需求文件。需求文件的目的是讓工程團隊可以開始做事,但現在連基本前提都還沒確認,寫出來的文件反而會誤導團隊。」
然後只產出一份簡短的行動清單:
# [功能名稱]:待驗證
> 🚫 **本項目尚未達到撰寫需求文件的門檻。**
> 以下是在撰寫需求文件之前,需要先完成的驗證步驟。
## 你的想法(一句話)
[用一句話摘要提出者的想法]
## 需要先做的事
- [ ] **了解現狀** — [具體建議,例如:跟工程團隊約 30 分鐘,了解目前系統能做什麼]
- [ ] **確認需求** — [具體建議,例如:找 3 位目標使用者訪談,確認這個痛點是真的]
- [ ] **確認資源** — [具體建議,例如:跟主管確認有哪個團隊可以承接]
- [ ] **使用者驗證** — [具體建議,例如:帶著初步想法跟 2-3 位使用者聊聊]
## 完成後
帶著驗證結果回來,我們再一起寫需求文件。
到這裡結束,不再往下走。
⚠️ 概念備忘錄(2 項通過,或 3 項通過但缺客戶訊號)
進入第一階段問問題,但跳過第二階段(收斂)和第三階段的完整文件格式。產出精簡的概念備忘錄:
# [功能名稱]:概念備忘錄
> ⚠️ **這不是需求文件。**
> 這是一份概念整理,用來幫助你在正式提出需求之前,先把想法理清楚。
> **工程團隊不應根據本文件開始開發。**
## 未通過的前提
| 前提 | 狀態 | 說明 |
|------|------|------|
| 現狀掌握 | ✅/❌ | [具體說明] |
| 客戶訊號 | ✅/❌ | [具體說明] |
| 資源現況 | ✅/❌ | [具體說明] |
| 使用者驗證 | ✅/❌ | [具體說明] |
## 問題與想法摘要
[根據第一階段對話整理,2-3 段]
## 在寫需求文件之前,你還需要
- [ ] [針對未通過的前提,列出具體的驗證行動]
- [ ] [每項都要有具體的下一步,不是籠統的「去了解」]
## 完成驗證後
帶著結果回來,我們再進入完整的需求文件流程。
概念備忘錄不包含:使用者工作流程、依賴關係、成功標準、工程量級、P0/P1 分級。這些都是正式需求文件才有的內容。目的是讓這份文件看起來就不像需求文件,老闆拿去也排不了工。
✅ 需求文件(3-4 項通過,含客戶訊號)
走完整流程:第一階段 → 第二階段 → 第三階段,產出正式需求文件。
第一階段:理解問題(不急著寫)
從問題開始,不從解法開始。依序問以下問題,每次等對方回答後再問下一題。用自然對話的語氣,不要像在填表。
-
你想解決什麼問題?
- 「目前遇到什麼痛點?使用者(或你自己)現在怎麼處理的?」
- 目的:確認這是真實痛點,不是想像中的需求
-
誰會用?用在什麼情境?
- 「主要使用者是誰?他們什麼時候、什麼情境下會需要這個?」
- 目的:聚焦使用者輪廓,避免做出「理論上有用但沒人用」的功能
-
如果只能先做一件事,你最想看到什麼?
- 這題最關鍵。它強迫提出者在腦中排序。
- 如果對方說「都很重要」,換個問法:「假設下週就要上線給 5 個人試用,你會放哪些功能?」
-
有什麼限制條件?
- 工程團隊多大?預計什麼時候需要?有技術或預算限制嗎?
- 不需要精確答案,粗略即可。目的是建立現實感。
- 如果第零階段已經問過資源狀況且對方有明確回答,這題可以跳過。
規模判斷:決定走哪條路
第一階段對話結束後,數一下提出者實際提到幾項不同的需求:
- ≤ 3 項需求 → 走輕量路線(跳到第三階段直接寫文件)。輕量路線不需要也不應該包含以下內容:P0/P1/P2 分級、工程量級標記(🟢/🟡/🔴)、分期建議、依賴關係與實作順序、範圍摘要。這是一個合理大小的功能需求,把使用者想要什麼寫清楚就好,不要拆成多個「子需求」分別估量級。仍然保留複雜度標記(如果涉及金流或第三方整合,提醒一句就好)。但仍然要做單項合理性檢查(見第二階段的「單項合理性檢查」表格)。如果需求有魔法思維、偽單項、或無既有解法等問題,必須先追問釐清,不能直接跳到寫文件。
- ≥ 4 項需求 → 走完整收斂路線(進入第二階段)。需求多了就必須排優先序,否則什麼都想做等於什麼都做不好。
這個判斷很重要:對一個簡單的單一功能硬套分期分級,會讓提出者覺得你在把事情搞複雜,反而失去信任。
第二階段:整理與收斂(≥ 4 項需求時)
根據第一階段的對話,整理出所有提到的需求,然後進行收斂:
需求分類
將所有需求分為三級:
| 等級 | 意義 | 標準 |
|---|
| P0 — 必要 | 沒有這個,產品不成立 | 直接解決核心痛點 |
| P1 — 重要 | 明顯提升體驗,但 P0 上線後可補 | 強化核心流程 |
| P2 — 未來 | 很好,但現在不做也不影響核心價值 | 進階功能、整合、最佳化 |
範圍檢查
單份需求文件最多涵蓋 5 項核心需求(P0 + P1)。 超過 5 項時:
- 向提出者說明:「目前列出了 N 項需求。根據經驗,單份文件超過 5 項核心需求,工程團隊很難同時推進,交付品質也會下降。建議我們先聚焦最重要的 5 項,其餘的放進後續版本規劃。」
- 將超出的需求整理成「後續版本候選清單」,附在文件最後,不展開細節,只列一句話摘要。
- 如果提出者堅持全部都要:接受,但在文件開頭加上範圍警示(見下方模板),讓讀文件的人清楚知道範圍偏大。
複雜度標記
自動辨識並標記高複雜度需求。以下類型需要特別標注:
| 複雜度標籤 | 觸發條件 |
|---|
| 🔴 金流整合 | 涉及付款、訂閱、退款、分潤 |
| 🔴 第三方整合 | 需串接外部 API 或服務 |
| 🟡 即時互動 | 即時通知、協作編輯、串流 |
| 🟡 檔案處理 | 解析特定格式、大檔上傳、轉檔 |
| 🟡 權限系統 | 多角色、細粒度存取控制 |
| 🟡 多語系 | 介面翻譯、內容翻譯、地區化 |
| 🟡 媒體處理 | 影音錄製、串流、轉碼 |
標記出現時,在該需求旁加上標籤,並附一句提醒:
⚠️ 此需求涉及 [金流整合],通常需要獨立的技術評估與較長的開發週期。建議在工程規劃時特別留意。
依賴關係
如果某些需求之間有先後關係(B 需要 A 先完成才能做),用簡單的清單呈現:
依賴關係:
- 需求 3(分享版本)→ 依賴 需求 2(另存版本)
- 需求 6(測驗評分)→ 依賴 需求 1(Gate 分析)
可行性現實檢查(必做,不可跳過)
在標記完複雜度和依賴關係之後、回報收斂結果之前,執行以下檢查:
1. 工程量加總
根據每項 P0 + P1 需求的工程量級粗估,加總出最低工時:
| 量級 | 粗估週數(2-3 人團隊) |
|---|
| 🟢 小 | 1-2 週 |
| 🟡 中 | 3-5 週 |
| 🔴 大 | 6-10 週 |
加總後得出「以 2-3 人團隊計,P0 + P1 至少需要 X-Y 週」。
2. 資源對比
將加總結果對比第零階段或第一階段取得的資源資訊(團隊大小、期望時程):
| 狀況 | 處理方式 |
|---|
| 加總工時 ≤ 提出者期望時程的 1.5 倍 | ✅ 通過,繼續 |
| 加總工時 > 期望時程的 1.5 倍但 ≤ 3 倍 | ⚠️ 明確告知差距,建議砍 P1 或延長時程 |
| 加總工時 > 期望時程的 3 倍 | 🚫 硬擋,拒絕直接寫需求文件 |
⚠️ 差距提醒(1.5-3 倍):
告訴提出者:
「根據需求的複雜度,P0 + P1 共 N 項,粗估需要 X-Y 週(以 Z 人團隊計算),但你希望在 W 週內完成。這中間有明顯的差距。我們有兩個選擇:(1) 把部分 P1 降級為 P2,縮小第一版範圍;(2) 調整預期時程。你想怎麼處理?」
必須等提出者做出選擇後才繼續。 不能自動幫他選。
🚫 嚴重不切實際(> 3 倍):
告訴提出者:
「我必須直說——目前列出的需求範圍跟你的團隊規模和時程預期有很大的落差。粗估至少需要 X-Y 週,但你預期 W 週完成。這不是排優先序能解決的問題,而是整個專案的規模需要重新思考。」
然後只產出概念備忘錄(同 Phase Zero ⚠️ 路線的格式),不寫正式需求文件。在備忘錄的「在寫需求文件之前,你還需要」區塊加上:
3. 單項合理性檢查
每一項需求都要檢查是否有以下問題。有的話,在回報收斂結果時直接標記並質疑,不是只標複雜度就放過:
| 問題類型 | 辨識方式 | 處理方式 |
|---|
| 魔法思維 | 「AI 自動判斷」「智慧推薦」但說不出判斷的邏輯或依據 | 追問:「你說的『自動判斷』具體是根據什麼規則?能舉個例子嗎?」如果答不出來,標記為「❓ 需求定義不明確,需進一步釐清」,不展開為正式需求 |
| 偽單項需求 | 一個需求標題底下其實藏了 3-5 個子功能 | 拆開,重新計算工程量級 |
| 無既有解法 | 提出的需求在業界沒有成熟方案,需要從零研發 | 標記為「🔴 研發型需求」,提醒這不是功能開發而是技術研究,時程無法預估 |
| 依賴外部不可控因素 | 需要第三方配合、法規變更、或其他團隊先完成某事 | 標記為「⏳ 外部依賴」,說明風險 |
向提出者回報收斂結果
在正式寫文件之前,先把收斂結果摘要回報給提出者確認。可行性現實檢查的結果必須包含在回報中,不能只報優先序:
以下是我整理的結果,請你看看是否同意:
P0(本次必做):
1. [需求名稱] — [一句話說明] — [🟢/🟡/🔴 量級]
2. [需求名稱] — [一句話說明] — [🟢/🟡/🔴 量級]
P1(P0 完成後接著做):
3. [需求名稱] — [一句話說明] — [🟢/🟡/🔴 量級]
P2(後續版本):
4. [需求名稱] — [一句話說明]
5. [需求名稱] — [一句話說明]
[依賴關係]
[複雜度提醒]
📊 可行性評估:
- P0 + P1 共 N 項,粗估工時 X-Y 週(以 Z 人團隊計算)
- [與提出者預期的對比結論]
- [如有不合理的單項需求,在此列出]
你覺得這個排序 OK 嗎?有沒有要調整的?
等提出者確認後,才進入寫文件階段。
第三階段:撰寫需求文件
- 輕量路線(≤ 3 項需求): 把功能當作一個整體來描述,不要拆成多個「子需求」分別編號估量級。文件結構精簡為:目的 → 功能說明(用一個需求區塊描述整體功能,含使用者目標和具體內容)→ 使用者工作流程 → 不涵蓋的內容 → 成功標準 → 下一步。省略:範圍摘要、P0/P1 標記、工程量級(🟢🟡🔴)、依賴關係與建議順序、後續版本候選清單。複雜度標記仍保留(如涉及金流或第三方整合)。
- 完整收斂路線(≥ 4 項需求): 只展開 P0 和 P1 的完整需求描述。P2 只列一句話摘要在文件末尾。
文件結構
產出的需求文件依以下格式(全文台灣繁體中文):
0. 範圍摘要(≥ 4 項需求時必填,≤ 3 項可省略)
文件開頭的快速總覽,讓讀者 30 秒內掌握全貌。輕量路線(≤ 3 項需求)可跳過此區塊,直接從「目的」開始。
## 範圍摘要
| 項目 | 內容 |
|------|------|
| 產品/功能 | [名稱] |
| 版本 | [版本號] |
| 核心需求數 | [N 項](P0: X 項、P1: Y 項) |
| 預估複雜度 | [低/中/高] — [一句話說明原因] |
| 建議分期 | [是/否] — [如果是,簡述分法] |
如果需求超過 5 項,加上:
> ⚠️ **範圍提醒:** 本文件涵蓋 N 項核心需求,超過建議的單份文件上限(5 項)。
> 建議工程團隊評估是否分期執行,避免同時推進過多功能導致交付延遲。
1. 目的
一段話說明這個功能做什麼、解決什麼問題、為什麼現在需要它。
2. 核心需求
每項需求包含:
- 需求標題 — 簡短描述性名稱
- 優先等級 — P0 / P1(含一句話理由)
- 工程量級 — 讓非技術提出者對工程規模有概念,避免「5 項需求 = 5 件小事」的誤解
| 量級 | 意義 | 粗估參考(2-3 人團隊) |
|---|
| 🟢 小 | 邊界清楚,技術成熟 | 1-2 週 |
| 🟡 中 | 有一定複雜度,但不涉及新技術或第三方整合 | 3-5 週 |
| 🔴 大 | 涉及新技術、第三方整合、或多個子系統協作 | 6 週以上,建議拆分 |
量級判斷不需要精確,用常識即可。目的是讓提出者看到「5 項需求裡有 3 個🔴大」時,自己就能感受到這不是一兩個月能做完的事。
- 使用者目標 — 用使用者的話描述他們想要什麼(引號括起)
- 這代表什麼 — 條列具體說明
- 複雜度標記(如適用)
3. 使用者工作流程
以步驟呈現使用者如何與系統互動:
使用者:「動作或請求」
→ 系統回應
→ 使用者下一步
→ 結果
4. 依賴關係與建議順序
如果需求之間有依賴,用清單呈現。加上建議的實作順序。
5. 本需求文件不涵蓋的內容
明確列出本文件不規定的事項。
6. 成功標準
可衡量的完成指標,以 ✓ 勾選框呈現。
7. 後續版本候選清單(如有 P2 需求)
一句話摘要列表,不展開細節。標注為「待後續版本評估」。
8. 下一步:怎麼用這份文件(必填)
這是文件的結尾,提醒讀者這份文件的定位和接下來該做什麼。每份需求文件都要有這個區塊,用以下模板:
## 下一步
本文件是**產品需求文件**,定義「要做什麼」和「為什麼做」,不涉及技術方案或工程排程。
它的用途是作為產品端與工程端的溝通起點,不是最終的施工藍圖。
建議的後續步驟:
1. **產品 ↔ 工程對齊會議** — 帶著這份文件跟工程團隊坐下來,逐項確認理解一致、討論技術可行性
2. **工程團隊拆解** — 由工程團隊將每項需求拆成可執行的工作項目(user story / task)
3. **排定時程** — 根據工程量級估算與團隊產能,排出實際的開發時程
4. **回饋與調整** — 如果工程評估後發現某項需求的實作成本遠超預期,回來調整優先序或範圍
這個區塊的目的是設定正確的期待:這份文件是對話的開始,不是結束。
寫作原則
聚焦 WHAT,不談 HOW
- ✓ 「使用者可以選擇要移除哪些欄位」
- ✗ 「用下拉選單搭配勾選框」
用使用者的話
- ✓ 使用者目標:「我需要在分享前移除敏感資料」
- ✗ 使用者目標:系統應提供資料遮蔽功能
具體、給例子
- ✓ 「使用者看到確認訊息:『已處理 3 個檔案,每個檔案變更 2 個欄位』」
- ✗ 「使用者收到回饋」
避免技術用語
- ✓ 「變更紀錄」
- ✗ 「Audit log with transaction IDs」
輸出位置
儲存為 REQUIREMENTS.md 或 [功能名稱]_需求文件.md。
使用範例
"Help me write requirements for a file converter"
"我想做一個讓老師可以出題考學生的系統"
"我們需要加上付費機制"
"/prd-tw"
給提出者的小提醒
- 從問題開始 — 你在解決什麼痛點?
- 想像使用者 — 誰會用?他們需要什麼?
- 先別想解法 — 描述你想要什麼,不是怎麼做
- 給真實例子 — 具體場景幫助工程師理解
- 定義完成 — 怎樣算成功?
- 少即是多 — 5 項精準的需求,勝過 15 項模糊的願望