Skill 實例:用 Superpowers 給編碼 Agent 加一套工作流
介紹 obra/superpowers 這個面向編碼 Agent 的 Skill / Plugin 項目,說明它如何把需求澄清、規格設計、實現計劃和 TDD 流程變成可重用的 AI 工作流。
一、為什麼要看 Superpowers
最近我在看 Claude Skill、Codex Skill、MCP 和 Agent 工作流時,發現一個很有意思的項目:obra/superpowers。
它不是單純的提示詞合集,也不是一個普通腳手架,而是把一套軟件開發方法論包裝成 Agent 可以自動調用的 Skill / Plugin。它的核心思路是:不要讓編碼 Agent 一上來就寫代碼,而是先澄清目標、整理規格、制定實現計劃,再進入更可控的開發流程。
這點很值得參考。因為很多人用 Claude Code、Codex 或 Cursor 時,最大的問題不是模型不會寫代碼,而是模型太容易“直接開幹”。需求還沒說清楚,邊界還沒定,測試也沒準備,代碼就已經改了一大片。
Superpowers 試圖解決的,正是這個問題。
二、它大概是什麼
按照項目 README 的說法,Superpowers 是一套面向編碼 Agent 的軟件開發方法論,建立在一組可組合的 Skills 和初始化指令之上,用來確保 Agent 在合適的時候使用這些流程。
可理解為:它給 AI 編程助手加了一套“工程紀律”。
它支持的場景不只限於 Claude Code。公開資料顯示,它也面向 Codex CLI、Codex App、Gemini CLI、OpenCode、Cursor、GitHub Copilot CLI 等編碼 Agent 或開發工具提供安裝方式。
也就是說,它關注的不是某一個模型,而是“Agent 寫代碼時應該怎麼工作”。
三、Skill 在這裏扮演什麼角色
(如果還不清楚 Skill 到底是什麼,可以先看 《Skill 專題開篇:從提示詞到可重用 AI 工作流》。)
Anthropic 對 Agent Skills 的定義是:Skill 是一種模塊化能力,可以擴展 Claude 的功能;每個 Skill 會打包說明、元數據,以及可選的腳本、模板等資源,Claude 會在相關任務中自動使用。
OpenAI 對 Skills 的說法也類似:Skill 是可重用、可分享的工作流,可以告訴 ChatGPT 或 Codex 如何更穩定地完成某類任務;它可以包含說明、示例和代碼。
所以我理解的 Skill,不只是“更長的提示詞”。
更準確地說,它像一個小型工作流包:
my-skill/
├── SKILL.md
├── scripts/
├── references/
└── assets/其中:
SKILL.md通常是入口文件,包含 Skill 的說明、觸發條件和執行規則;scripts/可以放可執行腳本,用來處理重複、精確或程序化任務;references/可以放參考文檔、規範、知識庫;assets/可以放模板、示例、資源文件。
不同平台對目錄細節會有差異,但大體思路一致:把“怎麼做事”從單次對話裏抽出來,變成可以重用、可以安裝、可以組合的工作單元。
Superpowers 的價值就在這裏。它不是隻告訴模型“請認真寫代碼”,而是把“先澄清、再設計、再計劃、再實現、再驗證”這種流程寫成 Agent 能反覆遵守的結構。
四、它的工作流特點
從 README 的描述看,Superpowers 的工作流大致可以分成幾步。
1. 先問清楚目標
當 Agent 發現用戶要構建東西時,它不會馬上動手寫代碼,而是先退一步,追問用戶真正想做什麼。
這一步看起來簡單,但非常關鍵。
很多 AI 編程事故,都是因為需求沒有定清楚。模型根據自己的猜測補全了業務邏輯,最後寫出來的代碼看似完整,實際上偏離了用戶真正想要的東西。
2. 形成可閱讀的規格
在澄清需求之後,Agent 會把規格分塊展示給用戶,讓用戶能真正讀完並確認。
這比一次性生成一大段需求文檔更實用。因為規格太長時,用戶往往不會認真看;規格太短時,又容易遺漏邊界條件。
3. 制定實現計劃
用戶確認設計後,Agent 會整理一份實現計劃。項目 README 裏強調,這份計劃要足夠清楚,清楚到一個缺乏上下文的初級工程師也能照着執行。
這個標準很有啟發。
因為真正好的 AI 工作流,不是讓模型“憑感覺完成任務”,而是讓任務可以被拆解、檢查、交接和覆盤。
4. 強調 TDD、YAGNI 和 DRY
Superpowers 明確強調測試驅動開發(TDD)、YAGNI 和 DRY。
這幾個詞背後的意思是:
TDD:先寫測試,再實現功能,至少要有可驗證的反饋循環;YAGNI:不要提前實現暫時不需要的功能;DRY:不要重複寫同一套邏輯。
這對 Agent 編程尤其重要。因為模型很擅長“補很多東西”,但未必擅長判斷哪些東西現在根本不該寫。
五、它對我寫 Skill 的啟發
我覺得 Superpowers 最值得學的地方,不是某一條具體命令,而是它對 Skill 的定位。
很多人寫 Skill,容易寫成:
你是一位資深工程師,請認真分析需求,寫出高質量代碼。這當然有用,但還不夠。
更好的 Skill 應該告訴 Agent:
甚麼時候啟動這個流程;
先收集哪些信息;
甚麼情況下必須暫停確認;
如何形成規格;
如何拆分任務;
如何驗證結果;
哪些事情不要做。也就是說,Skill 不只是“角色設定”,而是“行動規範”。
對我的 AI 工作流來說,這一點很重要。比如我做網站文章生成、姓名學案例採集、命理文本整理、AI 資訊抓取時,其實都可以拆成類似結構:
輸入約束 → 信息核驗 → 結構整理 → 生成內容 → 自查規則 → 輸出文件如果這些規則每次都寫在 prompt 裏,就會很長,也很容易漏。把它們沉澱成 Skill,才更接近可重用的生產流程。
六、Skill 和 MCP 的區別
這裏也順便區分一下 Skill 和 MCP。
MCP,即 Model Context Protocol,官方文檔將它描述為一種連接 AI 應用與外部系統的開放標準。通過 MCP,Claude、ChatGPT 等 AI 應用可以連接本地文件、數據庫、搜索工具、計算器或其他工作流。
簡單說:
Skill 更像“怎么做事”;
MCP 更像“能连接什么工具和数据”。二者可以配合使用。
例如,一個“文章發佈 Skill”可以規定文章檢查、frontmatter、SEO 描述、參考來源格式;而 MCP 可以讓 Agent 訪問 GitHub、文件系統、數據庫或搜索服務。Skill 管流程,MCP 管連接能力。
這也是我現在越來越重視 Skill 的原因:MCP 解決的是工具入口問題,Skill 解決的是工作方法問題。只有工具,沒有方法,Agent 還是容易亂跑;只有方法,沒有工具,Agent 又很難真正落地執行。
七、適合借鑑,不必神化
Superpowers 很適合拿來學習,但也不需要神化。
它更像一個成熟開發者把自己的工作習慣、工程判斷和協作流程,打包成 Agent 可以執行的規範。對個人項目來說,它的價值在於提醒我們:AI 編程不是“讓模型儘快寫代碼”,而是“讓模型按可靠流程推進任務”。
如果只是寫一個很小的腳本,也許不需要這麼重的流程。但如果是長期維護的網站、自動化系統、內容生成管線、數據庫項目,類似的 Skill 思路就很有價值。
我後面如果繼續寫自己的 Skill,會更傾向於這種方向:少寫空泛口號,多寫觸發條件、輸入輸出、檢查清單、目錄結構、命令約束和失敗處理。
這才是 Skill 真正有用的地方。
常見問題
Superpowers 是什麼?
obra/superpowers 是一個面向編碼 Agent 的 Skill / Plugin 項目,它把需求澄清、規格設計、實現計劃與 TDD 等軟件開發方法論,打包成 Agent 可以自動調用的可重用工作流,核心思路是“不要讓 Agent 一上來就寫代碼”。
Superpowers 只能配 Claude Code 用嗎?
不是。按公開資料,它也面向 Codex CLI、Codex App、Gemini CLI、OpenCode、Cursor、GitHub Copilot CLI 等編碼 Agent 或開發工具提供安裝方式,關注的是“Agent 寫代碼時應該怎麼工作”,而非某一個模型。
Skill 和 MCP 有什麼區別?
Skill 更像“怎麼做事”(流程與方法),MCP(Model Context Protocol)更像“能連接什麼工具和數據”(外部連接)。二者可以配合:Skill 管流程,MCP 管連接能力。
Superpowers 的核心工作流是什麼?
大致是:先問清楚目標 → 形成用戶能讀完確認的規格 → 制定清晰到初級工程師也能照做的實現計劃 → 強調 TDD、YAGNI、DRY,讓任務可拆解、可檢查、可覆盤。
參考來源
Share