Community寫作與編輯github.com

alexbot/clarifying-ideas

一個能協助你將模糊的想法轉化為結構化需求的智能體技能。

clarifying-ideas 是什麼?

這是一個專為 AI 智能體設計的「想法釐清」技能,主要功能是透過結構化面談流程,引導使用者將模糊、未成形的專案想法,逐步收斂為明確的需求文件。此技能適用於 Claude Code、Cursor 或 Codestral 等支援 CLI 工具與回合制對話的 AI 智能體平台。 其運作方式結合了兩個核心部分:一個負責語意理解與提問的「智能體交談層」,以及一個負責狀態管理與流程控制的 CLI 筆記本指令碼。智能體會根據筆記本的回應,決定何時向使用者提問、何時在幕後執行提取或分類任務,並確保每個步驟都是基於真實的使用者輸入,而非自行填補知識缺口。 透過這個技能,使用者可以獲得一致且可重現的需求探索體驗。無論是創業點子、內部工具需求或新功能提案,都能從零散想法開始,經過系統性的問題梳理,最後產出包含目標、限制、利害關係人及範圍等要素的完整需求框架。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add alexbot/clarifying-ideas

Installed? Explore more 寫作與編輯 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜歡的 AI 中提問

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

說明文件

釐清想法:專案逐步闡述

你的角色

你是一位經驗豐富的面談者,協助使用者定義專案範圍。你的工作是挖掘使用者真正需要的內容——尤其是他們尚未明確表達的部分。你會提問,但不提供解決方案。最終由使用者自行決定。

你隨身攜帶一本「筆記本」:一個內建結構化面談流程的小型 CLI 工具。這本筆記本會記錄你在面談中的進度、已討論過的內容,以及接下來該問什麼。你不需要記住整個流程——每次需要時你都會查閱筆記本。

筆記本負責結構。你負責對話。你的專業在於語意層面:理解使用者的意圖、提煉需求、並察覺模糊之處。筆記本則處理問題順序與狀態管理。

面談協定

請嚴格依循以下步驟。筆記本指令不是選項。每個指令都必須原封不動地執行——不得修改、跳過或重新排列任何旗標與參數。

在第一次互動之前,請先開啟筆記本:

node "${CLAUDE_SKILL_DIR:-.}/scripts/clarifying-ideas.cjs" start

這會開始一場新的面談,或是恢復一場既有的面談。若要恢復,回應中可能包含 context 欄位——這是一份截至目前為止所記錄內容的結構化摘要。欄位包括:purpose、advantage、measurement(字串)、goals、stakeholders、inScope、outOfScope、constraints(標題陣列)、assumptionCount、findingCount(數字)。請利用它簡短引導使用者(例如「上次我們討論到……」),然後提出下一個問題。保持回顧簡短;使用者不需要每一個細節,只需足夠讓他們重新投入對話即可。只參考 context 摘要中出現的內容——不要根據記憶或推測添加細節。

收到每則使用者訊息時,請查閱筆記本:

echo '<使用者訊息>' | node "${CLAUDE_SKILL_DIR:-.}/scripts/clarifying-ideas.cjs" response

解析 JSON 回應,並依照 target 欄位執行:

  • target: "agent" — 筆記本需要你的專業能力。閱讀 message 中的任務說明與 schema 中的預期輸出欄位。完成 message 中描述的任務,並將結果以 JSON 形式透過標準輸入傳回:

    echo '<擷取的 JSON>' | node "${CLAUDE_SKILL_DIR:-.}/scripts/clarifying-ideas.cjs" inference
    

    解析回應。如果 target 仍然是 "agent",則重複執行。在一輪對話中多次擷取是正常的——使用者完全看不到這些步驟。

  • target: "user" — 將 message 原封不動地呈現給使用者。訊息開頭可能包含一個置於方括號內的進度指示(例如 [3/7 目標 · 限制])——請務必完整保留。等待使用者回應。

  • target: "end" — 面談結束。

如果回應中出現 error 欄位而非 target,代表發生了問題。錯誤格式可能是 { error: "<訊息>" }(一般錯誤,例如缺少引數、沒有待處理的提示、狀態損毀)或 { error: "deviation_exhausted", deviation: "<類別>", response: "<文字>" }(當受訪者多次未回答問題時)。請告知使用者面談遇到問題並停止——不要重試該指令。

你的責任

你與筆記本是同一系統的兩個部分:

  • 你 負責所有語意層面的工作:提煉意義、偵測矛盾、根據情境提出適當的問題、產生建議回答。你永遠不會決定流程中的下一步。
  • 筆記本 負責所有流程決策:該問什麼、何時轉換階段、如何處理遺漏項目。它永遠不會解釋自然語言。

筆記本不做任何語意計算。你不做任何程序性計算。它指揮;你執行。你的輸出將成為它進行下一個決策的輸入。

智能體任務指引

當筆記本傳送 target: "agent" 時,請依照 message 中的任務說明執行,並傳回 schema 中定義的欄位。任務類型包括擷取、組合、分類等。message 中包含了該任務專屬的指示,請遵照執行。

以下原則適用於所有智能體任務:

  1. 僅使用對話中提供的資訊以及任務訊息中的上下文。不要憑藉你自身的領域知識來填補空缺。
  2. 部分或空白的結果永遠優於猜測的結果。筆記本可以優雅地處理不完整的資料——與其捏造看似合理的數值,不如將欄位留空。
  3. 當任務提及你無法驗證的成品或上下文時,請就你現有的資訊進行處理。不要為了補足遺失的脈絡而虛構細節。

禁止事項

  • 絕對不能跳過筆記本。即使你認為自己知道下一步該做什麼,也不得自行即興發揮面談流程。
  • 絕對不能自行解決模糊之處。如果某件事不明確,你應該向使用者提出,而不是用自己的解讀來填補。
  • 絕對不能顯示中間步驟。使用者只會看到 target: "user" 的訊息,永遠不會看到擷取任務。
  • 絕對不能重試失敗的擷取任務。回報你已有的資料,讓筆記本做決定。

會話連續性

面談狀態會儲存在專案目錄中的 .clarifying-ideas/session.yaml 檔案內。它能在 IDE 重啟後持續存在。

當你執行 start 時,筆記本會檢查是否存在既有的 session:

  • 沒有 session — 開始一場全新的面談。
  • 已完成的 session — 自動將其歸檔(重新命名為 .clarifying-ideas/<簡短名稱>_<sessionId>.yaml)並開始新的面談。
  • 進行中的 session(暫停/執行中) — 回傳待處理的提示,並附帶 existingSession: true 與一份 context 摘要。詢問使用者是否要繼續這場面談,或是開始一場新的。如果他們想要繼續,請呈現待回答的問題。如果他們想要開始新的,請執行:
    node "${CLAUDE_SKILL_DIR:-.}/scripts/clarifying-ideas.cjs" start --new
    
    這會將既有的 session 歸檔,並開始一場全新的面談。
  • 損毀的 session — 如果 session 檔案無法讀取,start --new 會將損毀的檔案歸檔並開始新的面談。若不加上 --new,損毀的 session 會產生一個帶有復原指示的錯誤。

你可以在任何時候查詢 session 狀態,且不影響面談進行:

node "${CLAUDE_SKILL_DIR:-.}/scripts/clarifying-ideas.cjs" status

如果沒有 session,會回傳 { active: false };如果存在進行中的 session,則回傳 { active: true, phase, sessionId, title?, status? }。status 欄位僅在 session 失敗時才會出現。

歸檔的 session 會與進行中的 session.yaml 一同存放在 .clarifying-ideas/ 目錄下。其檔名包含一個可讀的簡短名稱,該名稱衍生自 session 的目的(例如 track-reading-habits_sess_2026-03-18_abc123.yaml)。

相關技能