Day 15 定義了五個角色——誰來做。這一篇講怎麼做:那些反覆執行的流程,被寫成一份一份的 Skill 檔案。
第三代我保留了 Spec Kit 的骨架,把 8-Step、分派、還有幾個高頻小動作,各自寫成 .claude/ 底下的 Skill 或指令檔。這件事跟「把常用的 Prompt 存起來」看起來像。

這兩個東西都是 .claude/ 底下的 markdown,Day 15 又說角色有「五個部分」、這篇說 Skill 有「五塊」,很容易混。差別是這樣:
| Agent(Day 15) | Skill(這篇) | |
|---|---|---|
| 是什麼 | 職位——誰來做 | 程序——照什麼順序做 |
| 回答 | 這個工作者知道什麼、能碰哪些檔案、做完回報什麼 | 什麼時候觸發、步驟、產物、不准碰什麼 |
| 放哪 | .claude/agents/ |
.claude/commands/、.claude/skills/ |
| 執行時 | 被叫出來變成一個獨立 session 做事 | 被照著跑的腳本,本身不做事 |
比喻:Skill 是一份 SOP 手冊,Agent 是照著 SOP 工作的員工,做完就離開,下次重來。
兩者的接點在 Skill 裡:/spec-workflow 每一步都寫「這步由 frontend-agent 做」;/orchestrate 會先讀五個 agent 定義,再決定每個工作派給誰。Skill 排順序、分派,Agent 執行。
DAP 有一個 /add-mock 指令,做的事很小:在 mock 檔案裡加一個假的 API 回應。整份檔案就這幾塊:
/add-mock 後面接 method、路徑、一句描述,例如「POST 某支送審 API,回傳一個假的單號」——直接示範怎麼叫它、要帶什麼。/update-docs 也是同一個形狀,多一塊「截圖命名規則」:檔名固定是 {spec-id}-{section}.png。
這些檔案的重點不是文字漂亮,是每一塊都在回答一個具體問題:什麼時候用它、照什麼順序做、做出什麼、不准碰什麼。
我以前也有一批「常用 Prompt」,存在筆記軟體裡,需要的時候複製貼上。它跟 Skill 的差別,攤開來看很清楚:
| 存起來的 Prompt | Skill 檔案 | |
|---|---|---|
| 什麼時候用 | 自己記得 | 寫在「觸發方式」裡 |
| 步驟 | 一段話,照著讀 | 編號步驟,有些帶條件分支 |
| 產物 | 沒有明講 | 寫死哪個檔案、哪個路徑 |
| 不能做的事 | 靠當下提醒 | 「限制」區塊列出來 |
| 放在哪 | 個人筆記,別人看不到 | repo 裡,會被 review |
| 流程改了怎麼辦 | 下次貼的時候才發現舊了 | 改檔案,commit |
Anthropic 後來把這種東西正式叫做 Agent Skill:一個裝著說明、腳本、資源的資料夾,agent 用到才載入。他們的說法是,Skill 讓通用 agent 變成「合你需求的專用 agent」,而且可組合、可攜、可維護。(Anthropic, Equipping agents for the real world with Agent Skills)
DAP 這幾份檔案早於這個規格,格式不完全一樣;要解決的問題是同一個:把一段程序寫在一個地方,讓它能重複跑、能被人檢查。
| Skill/指令 | 包住的流程 |
|---|---|
/spec-workflow |
Day 06–13 那整條 8-Step,含每一步由哪個角色做、templates、兩個 ⏸ 停止點、跳步規則 |
/orchestrate |
讀任務檔、辨識角色、分析檔案衝突、排平行與順序批次 |
/add-mock |
加一個 mock handler |
/update-docs |
依最新 spec 更新一個功能的使用手冊 |
/new-view |
新增一個頁面並註冊路由 |
.claude/skills/ 資料夾裡也躺著幾個不是為 DAP 寫的 Skill(跟這個專案的技術棧無關),它們沒有對應到任何會被跑到的流程。Skill 是程序記憶,記憶也會過期。
/orchestrate 這份檔案的最後有一條硬規定:每一批工作做完,一定要更新一份總索引,把這次的改動歸到對應功能、更新它的現況摘要。檔案裡直接寫了原因——specs 資料夾裡已經累積 80 幾份分散的 spec,這條索引是唯一的入口,不准跳過。
這條規則不是一開始就有的。是 spec 累積到開始找不到東西之後,才補進 Skill 檔案。流程遇到問題、改檔案、之後每次照新版跑——這就是 Skill 可維護的意思。存在筆記裡的 Prompt,這個改動不會有人看到,下一次照舊版跑,就會產出過期的做法。
挑一件你每週會做 2–3 次的小事——加一筆測試資料、更新一份文件、產一個固定格式的檔案。照下面五塊寫成一份檔案,放進 repo:
# Skill|名稱
## 一句話說明
- 這個 Skill 做什麼:
## 觸發方式
- 怎麼叫它、要帶什麼參數(給一個實際例子):
## 步驟
1.
2.(哪一步有條件分支,標出來)
3.
## 產物
- 會新增或修改哪些檔案:
## 限制
- 不准碰什麼、不准裝什麼:
寫完後,交給 Claude Code 跑一次。它照這份檔案做的時候,如果卡在「缺少前置條件」,代表你的「觸發方式」或「步驟」還有沒講清楚的地方,補回去再跑一次。
一份 Skill 檔案回答的是:什麼時候用、照什麼順序、做出什麼、不准碰什麼。它放在 repo 裡,流程變了就改檔案,改動會被看到。
角色(Day 15)和 Skill(Day 16)都準備好之後,下一個問題是分派:一批需求進來,誰先做、誰能平行、哪裡要停下來等人。下一篇進到指揮中心 /orchestrate,它做的第一件事是分流。