Community生產力與協作github.com

RafaelFerSilva/需求探索與精煉技能

將原始利益關係人輸入(逐字稿、簡報、電子郵件、功能點子)轉換為史詩和候選使用者故事,並發佈到追蹤系統中;當範圍超出單一工作階段時,建立決策地圖並在每次工作階段解決一個決策。

需求探索與精煉技能 是什麼?

這項技能旨在將非結構化的利益關係人輸入,例如會議記錄、電子郵件和簡短的功能描述,轉換為結構化、可追蹤的需求,並以史詩和候選使用者故事的形式呈現。它透過蘇格拉底式提問流程來運作,不僅記錄陳述的內容,還會挖掘隱含的假設、標記不明確之處,並提出有根據的推論。該技能會根據資訊的可用性對輸入進行分類(可用、部分可用、不可用),並對不可用的輸入產生問卷,以引導進一步的需求蒐集。它也支援在單一工作階段無法確定所有決策時建立「決策地圖」,允許在後續工作階段中逐一解決。此技能設計為與 `/refine-story` 和 `/requirements-discovery` 等工具命令整合,並遵循工作區中 `docs/agents/refinement.md` 檔案定義的配置。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/RafaelFerSilva/refinement-agent-skills/tree/HEAD/skills/requirements-discovery

Installed? Explore more 生產力與協作 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

在你喜歡的 AI 中提問

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

說明文件

探索

透過蘇格拉底式提問,將非結構化的利益關係人輸入轉換為可追蹤的需求。你不是轉錄員:捕捉已陳述和暗示的內容,標記不明確之處,並產生候選故事,讓 /refine-story 帶入衝刺規劃。輸入不支援的內容不進入;輸入暗示的內容作為有根據的推論進入;輸入未明確定義的內容則變成一個問題。

輸入:$ARGUMENTS

開始之前

閱讀工作區中的 docs/agents/refinement.md:它定義了操作模式、語言(en-US 或 pt-BR,預設為 en-US)和發佈路徑。如果缺少該檔案,請請求 /configure-refinement 並停止。如果參數是一個規格且 Status: open map(或 Status: mapa aberto),直接跳到「恢復決策地圖」。如果輸入來自 /meeting-minutes,它已區分陳述事實與假定:將假定協議視為未經確認。提問和產生的規格將遵循配置的工作區語言。

步驟

  1. 載入和分類。 讀取輸入、CONTEXT.md,並為 requirements-rigor 調用技能工具。掃描反模式(單獨閱讀 requirements-rigor 中的 ANTI-PATTERNS.md)以及總是觸發問題的術語:此掃描為分類奠定基礎。透過計算摘錄數量(而非文字量)進行分類:USABLE(每個摘錄都能結構化一個需求)、PARTIALLY USABLE(至少一個摘錄能結構化一個需求,且至少一個不能)、UNUSABLE(沒有摘錄能結構化一個需求)。UNUSABLE:陳述此結果並附上逐個摘錄的理由,列出 3 到 5 個最簡短的問題並附上收件人(除非能在詞彙表中識別出領域角色,否則為輸入的提供者),按照 requirements-rigor 中的 QUESTIONNAIRE.md 編寫一份問卷,告知使用者 /requirements-discovery 將在收到回覆後重新執行,然後停止,不再發佈其他工件;填充性故事對誰都沒幫助。PARTIAL:繼續進行,最終工件以一個列出未使用摘錄及其缺失內容的列表開頭。 完成條件:分類以一行陳述,當不是 USABLE 時,後面跟著逐個摘錄的理由。

  2. 廣度優先的映射。 在產生任何故事之前,掃描完整輸入:具有信心評級(高、中、低;低表示探索需要在後續對話中進行)的業務領域、具有類型(業務、技術、最終使用者)及其主張的利益關係人、具有複雜度 S、M、L 或 XL(並用一行證明其合理性)的史詩;沒有封閉列表或可衡量標準的摘錄暫時不會成為史詩,仍在部分處理中,直到提問為其界定範圍。當輸入是轉述時,筆記記錄者以類型「來源」進入利益關係人表格。兩個聲音在同一個需求上持相反立場:添加 [CONFLICT],記錄兩種立場,不單方面解決。由單一聲音陳述的需求,若確認至關重要,則添加 [VALIDATE WITH TEAM]:未被滿足的角色需求、由非決策者做出的範圍決策;當兩個聲音討論不相關的主題時,不要標記所有內容。業務需求和技術限制來自不同的利益關係人,擁有不同的權重:區分它們。 完成條件:每個輸入摘錄都被映射到一個領域和史詩,或列為未開發。

  3. 在提問前搜尋事實。 檢查詞彙表、.scratch/ 中的先前故事、工作區文件,以及在程式碼模式下,檢查程式碼庫:提到的整合是否已存在?門檻值是否已實作?找到的事實會成為帶有引用來源的建議答案。在無程式碼模式中,搜尋僅限於工作區文件,不涉及子代理;如果什麼都沒找到,在第一輪頂端用一行陳述此情況。 完成條件:每個候選問題都被標記為有來源回答或保持開放。

  4. 決定範圍大小。 為 socratic-examination 調用技能工具,並進行廣度優先的提問:目標成果(此探索交付的內容)、範圍邊界、衝突以及影響史詩大小的因素。SLA、管道和邊緣情況屬於深度問題,推遲到步驟 5。如果在此輪結束時,問題邊界適合在單一工作階段內完成,則繼續步驟 5。如果仍然存在大量的迷霧(預期會需要做出決策,但由於依賴待定的答案而尚無法明確表述),則打開地圖:按照 TEMPLATE.md 發佈規格,設定 Status: open map,每個可明確表述的待決決策在 issues/NN-decision-<slug>.md 中各有一個檔案,在依賴其他決策時標記 Blocked by:,而無法明確表述的迷霧則放在「尚未指定」中。決策與迷霧之間的區別在於,你現在是否能精確地表述問題,而不是你是否能回答它。繪製迷霧地圖是某個工作階段的目標:停止並通知使用者 /requirements-discovery <spec-path> 每次工作階段解決一個決策。 完成條件:問題邊界適合在單一工作階段內,或者存在帶有開放地圖和待決決策檔案的規格。

  5. 提問。 逐個史詩進行 socratic-examination 的深度輪次:角色、能力、成果、輸入提示的邊緣情況、依賴關係。解決的領域術語立即添加到 CONTEXT.md 中。沒有與會者知道的事實會收到 [TO CONFIRM: whom](或 [A CONFIRMAR: quem])並留在問題邊界中。 完成條件:問題邊界為空,或使用者要求關閉。

  6. 綜合。 按照 TEMPLATE.md 撰寫探索規格,並按照 skills/refine-story/TEMPLATE.md 為每個故事建立一個候選故事檔案,帶有 Status: candidate(或 Status: candidata)和初步的 INVEST 計分卡。未通過 INVEST 的故事不會成為乾淨的卡片:它仍然是候選故事,但帶有 [INVEST-FAIL] 和解決指引。包含未宣告的依賴關係:故事要能實作所需的整合、外部服務和架構決策,每個都配對其所阻擋的故事和所需動作。候選故事中的每一行都必須符合輸入或有效的 [INFERENCE: base];沒有依據的添加是鍍金,必須移除。 完成條件:規格和候選故事存在於 docs/agents/refinement.md 定義的路徑中,並附有最終免責聲明。

  7. 路由未決項目。 將會話外部的未決 [TO CONFIRM] 項目路由給收件人:按照 requirements-rigor 中的 QUESTIONNAIRE.md,為每個收件人編寫一份問卷,與規格一同放置。 完成條件:沒有留下未指定收件人或問卷的開放問題。

  8. 報告。 已建立的史詩、候選故事數量、未解決的衝突以及後續步驟:每個故事執行 /refine-story,或者如果地圖是開啟的,執行 /requirements-discovery <spec-path>。

恢復決策地圖

當參數是一個帶有 Status: open map 的規格時:

  1. 讀取完整的規格和 issues/ 中的待決決策。一個決策在解除阻擋的條件是:它是開放的,且 Blocked by: 中的所有決策都已被解決。 完成條件:你知道哪些決策是解除阻擋的。
  2. 選擇決策:由使用者指定名稱,或按編號第一個解除阻擋的。在開始之前,將檔案中的狀態標記為 Status: in examination,以防止並行工作階段選取它。 完成條件:檔案狀態已更新。
  3. 使用 socratic-examination 解決它,每次工作階段一個決策。研究型決策透過閱讀帶有引用的外部來源來解決,無需提問輪次。直接在檔案的 ## Answer 下記錄答案,將狀態標記為 Status: resolved,並在規格的「提問決策」部分添加一行摘要和路徑。 完成條件:決策已解決並從規格連結。
  4. 答案可能會清除周圍的迷霧:新可明確表述的項目離開「尚未指定」並成為新的待決決策;範圍外的項目移至「超出範圍」。任何被答案判定為無效的決策,都將以一行理由關閉。 完成條件:沒有待決決策與答案衝突,且迷霧已重新評估。
  5. 沒有待決決策開放時:將規格更新為 Status: in progress,並繼續進行主要步驟的步驟 5,如果上下文允許則在同一個工作階段內進行,否則在下次工作階段使用相同命令進行。 完成條件:規格離開開放地圖狀態,或者你報告還有多少決策待解決。

待決決策格式:

# 決策 NN:<一句話的問題>

狀態:<開放 | 提問中 | 已解決 | 已關閉>
被阻擋於:<NN, NN 或 無>
類型:<提問 | 研究>

## 問題

<必須決定什麼以及為什麼它阻礙進展>

## 答案

<解決時:決策內容、決策者、日期>

最終通知

⚠️ 此輸出為分析草稿。在進入衝刺規劃前需要人工審閱。驗證事項:技術可行性、合規性及未映射的依賴關係。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

相關技能