Community生產力與協作github.com

dtiger1889-ops/fanout

明確觸發的發散式思維增強工具(透過 Agent 工具原生執行 5 框架輻射)。僅在使用者輸入 /fanout 或說「執行 fanout」、「fanout 這個」、「給我 X 的框架」時使用。針對開放性問題(設計、API 表面、命名、策略、假設生成、「給我想幾種方法來...」)平行執行 5 個認知框架的構想 Agent 加上一次評論。不用於收斂性工作——除錯根因、「X 為什麼壞了」、驗證修正、任何有單一可驗證答案的事——單次回答在那種情況下更好且更便宜。成本約為單次回答 token 數的 7 倍,以換取小幅的廣度/陷阱覆蓋增益,因此是閘控的,絕不自動觸發。

fanout 是什麼?

Fanout 是一個專為發散性設計任務設計的選擇性增強技能,由維護者的兩階段評估支持。它在開放式、高風險問題上提供微小但一致的優勢,而對收斂性根本原因工作則無幫助。此技能要求使用者明確觸發(透過 /fanout 命令或類似短語),絕不自動執行,因為其 token 成本約為單次回答的 7 倍。工作流程包含一個強制性的閘門(檢查任務是否為開放式且高風險),然後讀取專案上下文(如 CHECKPOINT.md),接著平行執行 5 個不同視角的認知框架 Agent(架構/系統、對抗/魔鬼代言人、第一原理、實務者/運營者、通才局外人),最後由一個評論 Agent 對結果進行評分、聚類、合併陷阱並深化前三個選項。此技能僅支援原生 Agent 工具,不應透過巢狀 CLI 啟動,且每次調用為一次性(如需變異檢查可再次調用)。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/dtiger1889-ops/claude-harness-toolbox/tree/main/skills/fanout

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

在你喜歡的 AI 中提問

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

說明文件

Fanout -- 選擇性發散思維階段

經驗基礎:維護者的兩階段評估。Fanout 在發散性設計任務上提供微小但一致的優勢,而在收斂性根本原因工作上則毫無幫助。僅當任務是開放且高風險時,才值得付出約 7 倍的 token 成本。此技能的存在是為了讓提升能力在需要時可用,而絕不應用於例行工作。

步驟 0 -- 執行前的閘門(強制)

根據選擇器檢查任務。兩者必須為真:

  1. 開放式? 有多個有效答案(「為 X 設計/命名/方法/假設」)。如果任務是「X 為什麼壞了」、「修正有效嗎」、「根本原因是什麼」,或任何有單一可驗證答案的事 -> 這是收斂性。告訴使用者單次回答是此處更好的工具,並在執行前詢問是否仍要繼續。不要在收斂性任務上默默執行。
  2. 足夠高風險以值得~7 倍 token? 一個承載重要規則/API 形狀/命名/策略,而非無關緊要的項目。如果看起來風險低,請說明並確認。

如果閘門不明確,說明你的判斷並提問。一旦通過,繼續進行。

步驟 1 -- 取得問題

接受來自以下來源的問題陳述:一個 @ 提及的檔案、一個檔案路徑,或使用者訊息中貼上的文字。如果只給了一個模糊的主題,先要求一兩句問題框架——框架需要一些具體內容。

步驟 1.5 -- 如果目標是專案成品則進行 ORIENT(強制)

/fanout <檔案路徑> 看起來已預先定向,但事實並非如此:框架僅根據成品本身進行推理,如果你不將專案狀態提供給它們,它們會自信地與專案的即時狀態相矛盾。在步驟 2 之前,如果問題是(或提及)專案資料夾下的檔案——規格書、決策文件、CHECKPOINT 執行緒、程式碼檔案——先完整讀取該專案的 CHECKPOINT.md(以及如果掛鉤未提供的 CLAUDE.md)。SessionStart 回執是字節/行數,不是檔案——預覽不等於讀取。然後提取承載重要約束條件(截止日期、資金/排序門檻、既決定策、已嘗試/拒絕的項目、硬性數字)並逐字貼入每個框架提示和評論者的提示中,方式與成品文字相同。一個獲得成品但未獲得專案狀態的框架是紀錄在案的失敗(一個針對成本規格的 fanout 產生了「過早,應在損益平衡後進行」的框架,而專案的 CHECKPOINT 直接與之矛盾)。僅當問題確實與專案無關時(一個貼上的抽象問題、一個沒有生命狀態的命名/API 形狀練習),才跳過此步驟。

步驟 2 -- 發散(5 個平行 Agent 呼叫,一條訊息)

平行觸發 5 個 general-purpose Agent(一條訊息,5 個工具呼叫)。給予每個 Agent 相同的問題和一個獨特視角。每個 Agent 的指令:「僅從你指定的視角分析。產生 4-6 個不同的方法/點子;對每個點子,指出其失敗模式(陷阱)並說明機制。具體描述,命名機制,不要模糊,不要排序,不要評估你自己的點子。保持簡潔(這將提供給評論者)。」直接回傳輸出(除非使用者要求儲存,否則不寫入檔案)。

5 個視角(逐字):

  1. 架構/系統 -- 以狀態機、資料流以及資訊被轉換或遺失之處思考;系統在可見行為之下的層級做什麼;在併發、故障或規模下如何崩潰。
  2. 對抗/魔鬼代言人 -- 假設每個選項都有致命缺陷並找出它;每個選項默默假設了什麼;如果顯而易見的答案是誘餌,那什麼會是正確的。
  3. 第一原理 -- 剝離到底層機制,從真實約束條件重建,懷疑慣例;什麼是真正必要的,什麼只是習慣性的。
  4. 實務者/運營者 -- 你已在生產環境中執行過它,並在凌晨 3 點被它傳呼過;關心現場故障、邊緣情況、運營負擔、可觀測性、設計與值班現實之間的差距。
  5. 通才局外人 -- 無領域背景;什麼在直覺上合理;懷疑隱藏循環推理的行話;專家內部可能錯過的顯而易見陷阱。

步驟 3 -- 評論(1 個 Agent 呼叫)

當所有 5 個回傳後,觸發一個 general-purpose Agent,給予所有 5 個輸出 + 問題。指令:「1) 對每個方法的新穎性/可行性/契合度進行評分(0-10)。2) 根據底層策略跨框架聚類;注意 2 個以上框架匯聚之處(該匯聚是訊號)。3) 陷阱合集:所有 5 個框架中不同、以機制陳述的陷阱的去重合集,每個陷阱附帶其機制。4) 深化前 3 名:更清晰的版本、機制、要避免的陷阱、其所依據的最危險假設 + 在投入前測試該假設的最便宜方式,以及一個具體的第一步。輸出章節:## 評分、## 聚類、## 陷阱合集、## 深化前 3 名、## 綜合(4-6 句:最強的方向 + 對其威脅最大的陷阱)。」

步驟 4 -- 呈現

在聊天中向使用者顯示評論者的 ## 深化前 3 名、## 陷阱合集和 ## 綜合。總結匯聚情況(多個框架獨立達成的方向)。除非被要求,否則不要傾倒所有 5 個原始框架輸出。

預設情況下不持久化任何內容(殘留的暫存檔案本身就是麻煩)。如果使用者想要完整記錄,提供將評論者輸出 + 框架儲存到他們指定的路徑。

備註

  • 僅限原生 Agent 工具——不要透過 shell 執行巢狀的 claude -p 來產生框架(巢狀 CLI 啟動在權限/安全層下不可靠;Agent 工具是支援的路徑)。
  • 每次呼叫是一次性的(n=1)。如果使用者想要變異檢查,他們可以再次呼叫 /fanout——但微小效果大小很少值得這樣做。
  • 絕不自動觸發。僅限描述中的明確表面形式。

Individual skills in this repo

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

相關技能