第 3 站 · 餵 context該站第 6 / 9 場
寫出好 skill 的四個檢查點
Building Great Agent Skills: The Missing Manual

這場整理出一套判斷 skill 好壞的檢查清單,涵蓋觸發方式、內部結構到最後的精簡技巧,都是可以直接照做的具體做法。
重點摘要
- user-invoked 與 model-invoked 的取捨:skill 可以讓 agent 自己判斷要不要叫用,也可以完全交給使用者手動觸發。前者省使用者的力氣,卻會增加 agent 的 context 負擔,還多一分「agent 選擇不理你」的風險;後者把判斷的責任放回使用者身上,兩種都有代價。
- skill.md 越小越好:一份 skill 由觸發用的描述、skill.md 主文件、外部參考資料組成。skill.md 寫得越精簡,越好維護、越省 token,讀起來的負擔也越低。
- 依分支拆出參考資料:如果一份 skill 有好幾種用法(分支),只有某個分支才會用到的範本或說明,就該搬到外部檔案,靠一個指標串起來,不要塞滿主文件。
- leading words 引導 agent 行為:挑一個精煉的詞彙寫進 skill 裡,agent 會在思考與輸出中反覆講出這個詞,進而真的照著做;比起長篇說明,這種寫法更容易讓行為穩定下來。
- 拆步驟增加 legwork:把「先問清楚」跟「動手做」拆成兩個獨立 skill,agent 才不會因為看得到下一步而急著跳過提問,肯花更多力氣把前一步做完。
- 三種讓 skill 變臃腫的壞習慣:內容重複、沒人敢刪的沉積物、看似有用其實不影響行為的無效段落,都是 skill 越養越大的原因,可以用「刪掉這段會怎樣」的測試抓出來。
時間軸14 段
| 00:00 | 開場 | 講者因故無法到場,改用錄影分享《The Missing Manual》這場關於寫好 skill 的內容 |
| 00:55 | 命名「skill hell」 | 接續 tutorial hell、framework hell,指出大家拼湊各種 skill 卻拿不到承諾的效果 |
| 02:07 | 提出檢查清單 | 用 trigger、structure、steering、pruning 四個角度評估一份 skill 好不好 |
| 03:13 | Trigger:user-invoked 對照 model-invoked | 以 superpowers 為對照,說明兩種觸發方式的根本差異 |
| 05:10 | 選觸發方式的代價 | model-invoked 加重 agent 的 context 負擔,還有被忽略的風險;user-invoked 則把認知負擔轉嫁給使用者 |
| 07:40 | Structure:steps 與 reference | 以 2PRD 這個 skill 示範怎麼拆成步驟與支援資料兩個單位 |
| 08:51 | skill.md 越小越好 | 精簡的主文件好維護、好稽核,也省下每次呼叫的 token |
| 09:41 | 依分支判斷取捨 | 用 domain modeling 這個 skill 為例,只在特定分支用得到的資料就該移出主文件 |
| 10:47 | context pointer 技巧 | 把分支專用的參考資料抽成外部檔案,用一個指標串起來,不佔主文件篇幅 |
| 11:58 | Steering:leading words | 用精煉詞彙引導 agent,這個詞會在思考過程與輸出裡被反覆強化 |
| 13:24 | 範例:vertical slice | 用這個既有術語取代長篇說明,讓 agent 從逐層開發改成先做一小片能動的東西 |
| 14:51 | legwork:拆步驟避免偷工 | 以 plan mode 為例,把提問步驟獨立成 grill with docs,agent 才不會急著跳去做計畫 |
| 16:37 | Pruning:三種失敗模式 | 重複內容、逐漸堆積的沉積物、看似有用實則無效的段落,都會讓 skill 變臃腫 |
| 19:52 | 結語 | 建議直接下載 Writing Great Skills 這個 skill,拿來檢查自己或社群 skill 的品質,並附上個人電子報 |
值得記的話5 句
Smaller skills are just easier to maintain, easier to audit, fewer words to think about.
skill 越小,越容易維護、方便稽核,要想的字也更少09:08Now, I think the main reason this happens is because you're not using a technique called leading words.
agent 沒照你的意思做,主因通常是沒用到 leading words 這個技巧12:15Vertical slice is our leading word. We want to slice up the work instead of horizontal slices into vertical slices.
vertical slice 就是我們的 leading word,要把工作切成垂直切片,而不是水平分層13:24What would happen if you just deleted that paragraph? Well, the agent would probably still write a decent like long commit message.
刪掉那段之後會怎樣?agent 大概還是會寫出一則像樣的落落長 commit message18:45I hope that what I've given you is enough to help you escape from skill hell, or at least try to make the bitter journey out of there.
希望這場分享足夠幫大家逃出 skill hell,至少讓這段辛苦的路好走一點20:28
名詞與人物7 個
- Matt Pocock's Skills
- 講者自己維護的工程 skill 套件庫,這場多次拿來當範例
- superpowers
- 另一套熱門的工程 skill 集,多半走 model-invoked 路線,作為這場的對照組
- 2PRD
- 講者的 skill,能把目前對話的內容整理成一份產品需求文件(PRD)
- grill with docs
- 講者把「提出釐清問題」獨立出來的 skill,避免這步驟被草率帶過
- domain modeling
- 講者的 skill 範例,功能是更新詞彙表 context.md 或建立架構決策紀錄(ADR)
- Writing Great Skills
- 講者依這場的框架寫成的新 skill,可用來檢查自己或別人 skill 的品質
- aihero.dev
- 講者的個人電子報網站,這場結尾提到
提到但沒有展開
- 「light vert」這個文學理論詞彙,講者提到跟 leading words 的關聯,但沒有進一步展開。
- Matt Pocock's Skills 裡另有一個「grill me」skill,這場只用它示範 disable model invocation 的設定,沒有另外介紹用途。
- 講者提到自己因家庭因素無法出席這場研討會現場,改用錄影取代,但沒有多說細節。