Superpowers 的 writing-skills 技能有一個鐵律:沒有失敗的測試,就不准有技能。
翻譯成白話:如果你沒看過「沒有這個技能時,代理會搞砸」,你就不知道這個技能教的到底是不是對的東西。流程是——
每個技能是一個資料夾,內含 SKILL.md(必要)+ 支援檔案(需要才放)。
skills/
skill-name/
SKILL.md # 主文件(必要)
supporting-file.* # 只有在需要時才加
frontmatter 只有兩個必填欄位:name 與 description(合計最多 1024 字元)。
這是 Superpowers 花最多力氣講的地方。description 是未來代理「要不要讀這個技能」的判斷依據,所以:
# ❌ 不好:總結了工作流 description: Use when executing plans - dispatches subagent per task with code review between tasks # ✅ 好:只寫觸發情境 description: Use when executing implementation plans with independent tasks in the current session
同一段建議,對某種失敗有效、對另一種會適得其反:
| 基線失敗 | 對的寫法 | 錯的寫法 |
|---|---|---|
| 壓力下違反規則(知道但不做) | 禁令 + 合理化藉口表 + 紅旗 | 軟性建議(「盡量...」「考慮...」) |
| 輸出形狀不對(膨脹、把結論藏起來) | 正向配方:直接定義輸出該長什麼樣 | 禁令清單(「不要重述」) |
| 漏掉必要元素 | 結構性:在範本裡設 REQUIRED 欄位 | 在範本旁邊寫散文提醒 |
紀律類技能(像 TDD)要能抵抗合理化。幾招:
<150 字<200 字<500 字重的參考資料(API docs、語法大全)拆到獨立檔案,別塞進 SKILL.md。技能的 token 成本是永久的——每個用到它的 session 都要付。
本站每個技能頁面左欄英文、右欄繁中,逐段對照。如果你想為自己的專案寫新技能,writing-skills 的完整規則在 writing-skills 技能頁;想理解它怎麼測技能,見附屬的 testing-skills-with-subagents。