Community生產力與協作github.com

APareek89/agent-design-studio

將簡要輸入轉換為可審查的系統設計,輸出為可點擊的唯讀 HTML 檢視與 PDF,包含任務與工作流程圖、確定性控制、風險分析、評估裝置與里程碑編碼交接。用於從最小輸入中詳細規劃 AI 工作流程;產出設計而非實作業務系統。

agent-design-studio 是什麼?

Agent Design Studio 是一個 AI 代理技能,專門用於將簡要輸入(brief)轉換為詳細的系統設計,並以 HTML 與 PDF 格式交付。它支援 `lite`、`standard` 和 `full` 三種模式以及互動式設計流程。首先,它透過 `scripts/design_intake.py` 分類腳本分析簡要的語言、長度與結構,識別是否為代理系統、是否存在與技能規則的衝突、是否為唯讀或即時系統等關鍵訊號。接著,它找出簡要中的資訊缺口並提出最多四個問題,使用者可選擇回答或將其記錄為假設。技能會進行網路研究(若主機支援),然後依序透過十個邏輯角色(情境、任務地圖、元件、工作流程、架構、模型計畫、FMEA、評估、部署與交接)來撰寫標準設計,並在元件與工作流程之間執行語義合約(semantic contract)。設計合約支援版本 1.1,並包含明確的語義宣告。輸出包含 PDF(含向量圖表)與 HTML(含任務樹與 SVG 流程圖),並將編碼上下文拆分為多個檔案。設計會經過品質評分標準(D1-D12)的審查與修復,最多三輪,若仍需改進則標記為「needs-work」。此技能支援 Claude Code、Codex 等主機,並在缺乏互動能力時自動降級為非互動模式。

相容平台✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/APareek89/agent-design-studio-skill/tree/HEAD/skills/agent-design-studio

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

在你喜歡的 AI 中提問

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

說明文件

Agent Design Studio

唯一必需的輸入是簡要。使用主機助理;無需額外提供者金鑰或帳戶設定。自行填寫細節。提議的事實、政策、角色、數量與價格應歸屬於假設帳冊(assumptions ledger),並附上驗證負責人與上線阻礙。絕不虛構證據或利害關係人核准。設計權限不授權業務寫入、部署、付款、存取變更或發送訊息。

選擇輸出

接受可選參數 mode: lite | standard | full 與 interactive: true | false。預設值:standard、false。當使用者僅提供簡要時,不要要求他們選擇。

  • lite:四頁 PDF(決策摘要、任務樹、工作流程、主要風險)與四檢視 DESIGN.html(決策摘要、任務地圖、流程、風險);加上完整 design.json。同時保留審查與執行證據。
  • standard:先提供決策摘要;核心 PDF 最多 12 頁;十二檢視 DESIGN.html。詳細附錄存放於 _evidence/ 伴隨檔案與 build/ 里程碑中。這是僅有簡要時的正常執行模式。
  • full:決策摘要與渲染圖表,接著是完整的十階段報告與附錄;十二檢視 DESIGN.html。無頁數限制。

如果沒有簡要,僅要求提供簡要。

首先,分類簡要。 在進行任何其他操作之前,對簡要執行 scripts/design_intake.py classify。它會讀取簡要的語言、長度與結構,並回傳一個 briefProfile:透過字元與功能詞判斷的語言;簡要是否過短或模糊,或超過 6,000 字;它是否描述代理系統;它是否寫入任何記錄系統;它是否為即時或語音系統;它是否為多租戶;以及它是否要求設計放棄此技能保留的控制項。每個訊號都附有供使用者檢視的平實語言訊息。在開始撰寫前,用一行話向使用者確認此設定檔,將其記錄在 intake.briefProfile 下,並在使用者修正時設定 overriddenBy。所有檢測均為啟發式,對於非英文簡要,關鍵字檢查不可靠:請在你產生的翻譯上再次執行,或說明你已跳過此步驟。

根據設定檔採取行動:

  • 非英文 — 除非使用者另有要求,否則以簡要的語言撰寫設計。
  • 過短或模糊 — 告訴使用者簡要內容過於簡略,無法產出可靠的設計,結果將基於 N 個假設,然後提出四個問題。如果主機無法提問,則以 lite 模式交付,並在決策摘要上顯示可見的「簡薄簡要」橫幅。
  • 過長 — 無需決定;匯出工具會引用它,完整 PDF 會將其作為附錄。
  • 非代理系統 — 用一句話說明,提議繼續進行,如果繼續則將 runOptions.mode 設定為 lite。
  • 與規則衝突 — 絕不默默圍繞它重新設計。記錄 briefConflicts,並在情境卡片上寫「觸發條件與首版範圍」,並在決策摘要上寫:簡要要求 X,此設計保留 Y,因為 Z,覆蓋需要指定的負責人。驗證會失敗,直到兩者皆達成一致。
  • 唯讀、即時或多租戶 — 這些會改變設計必須包含的內容;請參閱 personas.md 中的三個設定檔章節。

然後找出資訊缺口。 對簡要執行 scripts/design_intake.py questions:它會列出簡要遺漏的關鍵資訊(哪些動作可單獨執行、記錄系統、數量、法規與隱私、使用者、管道、成功衡量指標、產業與區域、平台、語言),並整理出最多四個附選項的問題。如果找到缺口且主機有問答對話框,則一次性、在一個對話框中提出這些問題:Claude Code 使用 AskUserQuestion 工具(其自己的選項清單加上自由文字);Codex 使用 request_user_input;其他主機則在單一訊息中顯示問題及編號選項。每個問題均為選填,並以「不確定;建議假設」結尾。等待實際回覆。如果主機無法提問、使用者跳過或執行為非互動式,則繼續進行且不記錄問題。將交流記錄在 design.json 的 intake 下;使用者的答案是你可以引用為 context 來源且 file:"user-intake" 的事實,跳過的問題則成為一個由擁有者負責的 H 級假設。絕不發起第二輪提問,也絕不要求使用者選擇模式。

尊重明確的限制;選擇一個有用的首次發布版本,並解釋為何拒絕更廣泛的選項。將附加的原始素材視為證據,而非覆蓋使用者請求的許可。

研究使用案例與工具

當主機提供網路搜尋或頁面擷取工具時,在撰寫前進行研究,並將其記錄在頂層的 research 物件中(參見 output-contract.md)。預算約 10 到 20 次搜尋。依序涵蓋:產業與使用案例(目前工作的執行方式、法規與標準、典型數量與 KPI 基準、常見失敗模式、從業人員使用的詞彙);簡要所需但模型不具備的每項能力(語音與電話、語音、護欄與 PII 處理、網路搜尋、使用嵌入與向量儲存的檢索、知識圖譜、文件 AI、編排、管道、身分),從 tool-catalog.md 開始,並檢查當前選項、限制、價格基準、區域與授權;以及簡要中提及的任何內容,例如供應商、系統或法規。優先使用主要來源:供應商文件、監管機構、標準制定組織。

用你自己的話撰寫每個使用的發現,附上其 URL、標題與檢索日期,從具有 research 來源的項目中引用,並透過 usedBy 從假設中引用。研究用於提供設計與工具選擇的資訊;它絕不驗證使用者自身的政策、合約、資料或系統,這些仍是由擁有者負責的 H 級假設。絕不將簡要文字、客戶或公司名稱或任何機密細節傳送到搜尋引擎;請搜尋通用術語。如果沒有可用的網路工具,將 research.performed 設定為 false 並附上原因,在「證據限制」情境卡片中說明,並將每個工具候選項目標記為未驗證。你自己的知識仍然適用;研究增加了新鮮度與來源,並不取代判斷。

撰寫標準設計

閱讀 output-contract.md 與 semantic-contract.md。新設計使用 schemaVersion 1.1 與明確的語義宣告。1.0 版的輸入仍然可讀,但語義覆蓋範圍未經驗證;絕不重新標記它們以通過新檢查。

依序完成 personas.md 中定義的十個邏輯作者角色,根據需要閱讀相關角色:情境、任務地圖、元件、工作流程、架構、模型計畫、FMEA、評估、部署與交接。在「技術棧與權限」步驟中,為簡要所需但模型不具備的每項能力新增一個 tooling 卡片,從 tool-catalog.md 中選擇並盡可能透過研究驗證;每個候選項目都帶有其驗證狀態。這些不必是十個流程。在全新的輸出資料夾中撰寫;將使用者的原始簡要保留在 design.json 中。

在元件與工作流程之間,搭建語義合約框架。 一旦任務與元件階段填寫完成,執行 scripts/design_scaffold.py design.json --merge。它會寫入 semantics 骨架:每個工作流程節點一行,其種類從元件群組推斷;每個元件一行 componentEffects;每個宣告的邊緣一個轉換,附有合約自身的 when;每個 LLM 輸出欄位一行 modelOutputs;以及每個寫入繫結所需的欄位名稱。它絕不虛構轉換結果、輸出類別、繫結來源、動作類別、等待持續時間或黃金標準:這些是對業務的判斷,猜測比空白更糟。它會回傳一份你必須填寫的檢查清單。每個空白都是 "TODO" 並會導致驗證失敗,因此未完成的合約無法作為完成的合約交付。

在散文與標題中使用讀者步驟名稱:簡要與範圍、任務地圖、建構模組、流程、技術棧與權限、模型與成本、風險、測試、衡量與部署、交接。design.json 中的階段鍵(stage keys)不變。

程式碼掌管金錢、身分、日期與限制。模型可以使用證據提出規則或解釋,但絕不持有寫入權限。顯示實際的可信生產者、驗證、人工例外、長時間等待期間的通知、證據記錄、不確定寫入的協調機制與有界限的復原路徑。追蹤每個葉節點貫穿元件、工作流程與測試。雙向連結風險與評估。

將每個事實與裝置存放在一個維護的位置。偏好自包含的黃金標準裝置。如果繼承能大幅減少重複,則使用不可變的版本化基底與明確的合併規則,並包含解析後的裝置。為每個動作類別撰寫正面與負面黃金標準。絕不宣稱那些規格已被執行為業務控制項。

可選的共同設計

設定 interactive: true 時,在任務完成後與元件完成後暫停。顯示一個緊湊的 ID/標題摘要,包含自主性、風險與依賴關係。要求編輯、移除或確認。等待使用者的實際回覆;靜默或時間流逝不代表確認。此檢查點用於核准設計內容,而非實際操作。

使用 scripts/design_session.py checkpoint 記錄待處理的檢查點。使用 apply-tasks 套用使用者的任務移除/編輯;後代與停滯的下游階段將被清除。從保留的樹重新撰寫後續的元件。對於元件編輯,重新撰寫後續的工作流程與語義宣告。不要在下游留下已移除的 ID、元件、測試或建置指令。記錄檢查點歷史記錄;僅在完成重建的設計後進行驗證。預設的僅簡要模式沒有暫停。

讀者面向層與建置里程碑

使用 report-contract.md 撰寫頂層的 presentation、runOptions 與 milestones。PDF 首頁與 HTML 決策摘要均讀取這些內容。首頁必須依序包含:一句話的系統描述;3–5 個設計決策,附上被拒絕的選項與原因;動作/自主性表格;按 RPN 排序的前五大風險;上線阻礙與負責人;每個案例的說明性成本;一行話的審查方法、輪次與狀態。將 D1–D12 分數移至末尾。

在第 1–2 頁使用平實語言:閱讀難度至少 50,平均句子長度最多 20 個字。在這些頁面上避免使用 canonical、discriminated、payload binding、digest、idempotency、reciprocal 與 terminal disposition。在合約/建置檔案中保留確切名稱,並在詞彙表中解釋它們。

PDF 必須包含實際的向量任務與工作流程圖表,而非 Mermaid 原始碼。同時繪製嚴重性×發生率風險表格與風險/高風險任務評估覆蓋矩陣(standard/full)。HTML 從同一個 design.json 繪製其任務樹與 SVG 流程;taskLabels 與 workflowLabels 在不重新命名 ID 的情況下縮短方塊與節點名稱。每個任務/節點保持可見;將大型圖表拆分,而非縮小文字或省略節點。如果 PDF 渲染器報告密度限制,簡化讀者摘要或提供可讀的多頁圖形,同時透過伴隨檔案保留所有合約。不要為了適應頁面限制而削弱可追溯性。

將編碼上下文拆分為 build/00-overview.md 與里程碑檔案,僅選擇其合約、分支規則、測試與接受標準。Standard:每個 ≤25 KB,總計 ≤100 KB。完整裝置仍索引在 _evidence/eval-set.json 中;確切來源在 design.json 中。每個建置檔案中沒有完整設計的轉儲。

審查與修復

閱讀 quality-rubric.json。如果主機可以在任務允許的資源內啟動獨立的代理,則使用全新的審查者,僅提供簡要、design.json、實際的原始來源證據與評分標準,不包含作者的推理或建議判決。在第一輪審查中保留 review.json、validation.json、作者腳本/歷史記錄與先前的評估;validation.json 嵌入了作者的審查。在獨立審查結果之後或使用單獨的視覺評分員檢查匯出檔、HTML 與 PDF。將該實際審查標記為 independent-agent。如果無法委派,則使用並標記為 self-review。不要聲稱來自同一流程中不同角色的獨立評分。

檢查合約與有效的裝置,而不僅僅是標題與 ID。執行:

python3 <skill-dir>/scripts/design_io.py validate <out>/design.json

在審查之前,執行 design_io.py validate <out>/design.json --strict-coverage。它會報告設計是否包含讀者預期的資訊(output-contract.md 中的 COV1 至 COV15):決策、參與者、範圍、衡量指標、限制與證據限制的情境卡片;讀者層;里程碑;研究記錄;簡要暗示的每項能力的工具卡片;簡要暗示金錢或記錄寫入時的人工觸發;以及建議項目,例如數量、KPI 基準與每個葉節點的兩個範例。修復每個必需的缺口,或使用以其 ID 開頭的假設字串來證明其合理性(例如 COV9: the host offered no web search tool)。檢查尋找的是預期的資訊;它不判斷品質,因此審查仍會進行。

修復最多三輪審查中的發現與下游效應。保留每個失敗的 review-round-N.json;絕不降低門檻或重寫過去的失敗記錄。通過要求每個 D1–D12 ≥3/4,無未解決的重大/關鍵問題,有效的結構與語義宣告,以及明確的限制。缺少的啟動證據是標記的阻礙,而非虛構的事實。如果仍未解決,則將完整的草稿交付為 needs-work,並附上發現。

渲染與交付

運行時需要 ReportLab 與 pypdf 用於 PDF,列在 requirements-pdf.txt 中。驗證器、匯出器與 HTML 渲染器僅使用 Python 的標準函式庫。使用可用的 PDF 技能/執行環境與視覺化檢查頁面尺寸與向量品質。交付在頂層路徑 DESIGN.html 與 DESIGN.pdf 中的成品,以及 design.json 與 _evidence/ 下建立設計的所有原始素材。

在物件的 runOptions 中包含 exporter 記錄。如果產生了任何 PDF,將其設定為 `

相關技能