精華筆記

· @aihub.tw

Claude 新手指南

Skills:把你的專業流程打包成 /指令,AI 需要時才載入

Skills:把你的專業流程打包成 /指令,AI 需要時才載入

上一課的 CLAUDE.md,是寫給「這個專案」看的規矩:用什麼框架、指令怎麼跑、風格慣例是什麼。它很好用,但有個天花板——它只綁在一個專案裡。可是你腦子裡有一堆做法,是跨專案、甚至跨任務都會重複用到的:「我們部落格文章的排版規範」「怎麼把影片轉成逐字稿再做懶人包」「公司社群圖卡怎麼設計」。這些東西如果只寫在某個專案的 CLAUDE.md,換個專案就得重貼一次;每次開新對話又要把整套流程再打一遍,煩到不行。

這一課的主角 Skill,就是來解決這件事的。你把「怎麼做某件事」打包成一個資料夾,放著平常幾乎不佔記憶,Claude 遇到相關任務時自動翻出來照做,你也可以打一個 /指令名 直接叫它出場。打包一次,終身受用。

這堂課適合誰 適合:已經會用 Claude Code、發現自己一直在重複貼同一套流程說明,想把它一勞永逸打包起來的人。需要基礎:會在終端機開 Claude Code、看得懂第 3 課的基本操作就夠,零程式基礎 OK。前置課:第 3 課(Claude Code 入門)、第 4 課(CLAUDE.md)——這課會一直拿 Skill 跟 CLAUDE.md 對照,先讀過那課會更有感。

這堂學什麼

  • Skill 到底是什麼:用「書架上的工具書」一個比喻,把「漸進式載入」為什麼省錢講清楚
  • Skill 的資料夾長怎樣:SKILL.md 的結構、frontmatter 只要一個關鍵欄位、資料夾名字就是指令名
  • 放個人還是專案:~/.claude/skills/.claude/skills/ 差在哪,決定誰用得到
  • Skill vs CLAUDE.md:一張表看懂什麼該寫哪裡,不再搞混
  • 手把手做一個 Skill:從零建一個能自動觸發、也能打 / 叫出來的技能包
  • 三個新手最常踩的坑:含實際錯誤與解法,還有一個「改了沒反應」的雷

觀念一:Skill 像書架上的一本工具書

先把最核心的畫面立起來。

一個 Skill 就是一個資料夾,裡面有一個 SKILL.md 檔,寫著「怎麼做某件事」的說明和步驟。它最巧妙的地方在漸進式載入(progressive disclosure):平常只有這個 skill 的一句話描述待在 Claude 的記憶(脈絡)裡,幾乎不佔空間;當你的任務命中這個描述,Claude 才會去讀完整的 SKILL.md,把詳細步驟載進來執行。

Skill 就像書架上的工具書:平常只記得書名(描述),需要時才抽出來翻完整內容

一句話比喻Skill 像放在書架上的一本工具書:Claude 平常只記得書名(描述),需要時才抽出來翻(載入完整內容),不用時完全不佔桌面。你有一整櫃工具書,但桌上永遠乾乾淨淨。

這個「兩階段」的設計,正是 Skill 跟你上一課學的 CLAUDE.md 最大的差別。CLAUDE.md每次啟動就全部讀進來——它裡面每一行,你在往後每一輪對話都要付一次 token 成本。Skill 剛好把這件事反過來:它的一句描述常駐待命,讓 Claude 知道「有這個技能存在」;完整內容只有真的要用時才載入。所以你可以放很長的參考資料在 skill 裡,平常成本幾乎是零。

Skill 的兩階段載入:平常只有一句描述待命,需求命中時才載入完整 SKILL.md

觀念二:Skill 就是一個裝著 SKILL.md 的資料夾

Skill 的真面目很樸素,樸素到你會鬆一口氣:它就是一個資料夾,裡面放一個必要的 SKILL.md,其他都是選配。

Skill 資料夾解剖:資料夾名就是指令名,SKILL.md 是必要主檔,其餘選配

summarize-changes/     ← 資料夾名字 = 你打的指令 /summarize-changes
├─ SKILL.md            ← 主檔(必要):描述 + 步驟
├─ reference.md        ← 補充資料(選,需要時才讀)
└─ scripts/            ← 可執行腳本(選,Claude 可以跑)

SKILL.md 本身分兩塊:上面 --- 之間包起來的 frontmatter(設定區),下面是實際的說明與步驟。長這樣:

---
description: 產生社群貼文圖卡時使用。當使用者要做懶人包、IG 貼文圖時觸發。
---

# 圖卡設計流程
1. 版面用 1080x1350(IG 直式)
2. 主色用品牌象牙白 + 琥珀色
3. 標題用粗體、置中,一張一個重點
...

這裡有兩個 2026 年的重點,跟很多舊教學不一樣,你一定要記住:

  • description 是唯一真正關鍵的欄位。 Claude 就是靠這句話判斷「什麼時候該載入這個 skill」。舊版教學常叫你填 name,但現在 name 可以省略——它預設就等於資料夾的名字。你要花心思的,是把 description觸發時機寫清楚(「當使用者要做…時使用」),描述含糊,Claude 就不會自己用它。
  • 資料夾的名字,就是你手動叫用時打的指令。 上面那個 summarize-changes/ 資料夾,你在對話裡打 /summarize-changes 就能直接叫它出場。這是 2026 一個很大的變化:Claude Code 把過去的「自訂指令」和「Skill」合併了,/你的skill名 現在就是叫用 skill 的方式。
兩種叫用方式,你都會用到 Skill 有兩種被啟動的路徑:①Claude 自動載入——你只是普通講話,只要需求命中 description,它就自己把 skill 翻出來用;②你手動叫——直接打 /skill名字,強制執行。像「部署上線」「送出 commit」這種有副作用、你想自己控制時機的流程,通常會設成只能手動叫(frontmatter 加一行 disable-model-invocation: true),免得 Claude 看你程式碼寫好了就自作主張幫你部署。

觀念三:放個人還是專案,決定誰用得到

Skill 檔案放在哪個資料夾,決定了它在哪些地方生效。新手先記住最常用的兩層就好:

Skill 放哪裡:個人 skill 放家目錄每個專案都能用,專案 skill 放專案資料夾只有該專案能用

  • 個人 Skill:放在家目錄的 ~/.claude/skills/<名稱>/SKILL.md。放這裡,你這台電腦的每個專案都用得到。像「圖卡設計」「逐字稿轉懶人包」這種跨專案通用的技能,就放這。
  • 專案 Skill:放在專案資料夾裡的 .claude/skills/<名稱>/SKILL.md。放這裡,只有這個專案用得到。適合跟某個專案深度綁定的流程,而且可以連同專案一起用 git 版控,團隊成員拉下來就自動共用、還能一起改進。

這個「個人 vs 專案」的二分法,跟你在第 4 課學 CLAUDE.md、第 6 課會學的 subagent 是完全一樣的邏輯:家目錄的 ~/.claude/ 是「這台電腦通用」,專案裡的 .claude/ 是「這個專案專屬」。學會一次,三個東西一起懂。

還有兩層更進階的 除了個人與專案,Skill 其實還有 Plugin(用外掛套件打包分發,等一下實戰會用到官方的 skill-creator)跟 Enterprise(公司統一派發給全體員工)兩層。同名時的優先序是:Enterprise > 個人 > 專案。新手階段先玩熟個人與專案這兩層就很夠了。

觀念四:Skill vs CLAUDE.md,到底該寫哪裡

這是這堂課最容易混淆、也最值錢的一個判斷。兩個都是「教 Claude 怎麼做事」,差別在範圍載入時機:

Skill 與 CLAUDE.md 比較表:範圍、載入時機、適合放什麼、怎麼叫用

CLAUDE.md Skill
範圍 綁定「這個專案」 跨專案、可重用
何時載入 每次啟動就全部讀進來 相關任務才載入(省 token)
適合放 專案慣例、事實、指令 可重複的「做某件事的流程」
怎麼叫用 自動生效,不用下指令 Claude 自動載入,或打 /指令名 手動叫

一句話幫你收尾:專案專屬的規矩 → CLAUDE.md;可重用的技能包 → Skill。

官方甚至給了一個很實用的判斷提示:當你發現 CLAUDE.md 裡某一段,已經從「一條事實」長成「一套多步驟流程」(例如從「本專案用 pnpm」變成「發布流程:先跑測試、再 build、再改版號、再 push…」),那一段就該從 CLAUDE.md 搬出來、獨立成一個 Skill。因為那段流程只有在「真的要發布」時才用得到,天天讀進來純粹是浪費 token。

手把手實戰:做一個會自動觸發的 Skill

觀念講完,來動手。我們做一個實用的小 skill:幫你摘要「還沒 commit 的改動」並標出風險。這個範例好在它會示範 2026 一個超強的功能——動態注入:skill 可以在載入前先跑一個指令,把結果(這裡是你當下的 git diff)直接塞進去,所以 Claude 看到的是你現在真實的改動,不是它憑空猜的。

建立 skill 資料夾

個人 skill 放家目錄,任何專案都叫得到。開一個終端機,建資料夾:

mkdir -p ~/.claude/skills/summarize-changes

資料夾名字 summarize-changes 很重要——它等一下就是你打的指令 /summarize-changes,取個看到名字就懂用途的英文名(小寫、用連字號)。

寫 SKILL.md

在剛剛的資料夾裡建一個 SKILL.md(可以直接叫 Claude Code 幫你寫,也可以自己用編輯器貼)。內容是這樣:

---
description: 摘要尚未 commit 的改動並標出風險。當使用者問「我改了什麼」、想要 commit 訊息、或請你審查 diff 時使用。
---

## 目前的改動

!`git diff HEAD`

## 你的任務

用兩三個重點條列上面的改動,接著列出你注意到的風險
(例如漏掉錯誤處理、寫死的值、需要一起更新的測試)。
如果沒有任何改動,就直接說目前沒有未 commit 的變更。

看懂兩個地方:第一,frontmatter 只有一行 description,而且把觸發時機講得很具體(問「我改了什麼」、要 commit 訊息、要審查 diff)——描述寫得越像一條「路由規則」,Claude 越能在對的時機自動叫它。第二,!`git diff HEAD` 這行就是動態注入:Claude Code 會在你看到 skill 內容之前先跑這個指令,把你當下的 diff 貼進去。所以 skill 一啟動,就已經帶著你真實的改動了。

測試自動觸發

打開任何一個 git 專案,隨便改一個檔案存檔,然後開 Claude Code(在終端機打 claude)。先試「讓 Claude 自己判斷」——你只要用自然語言問一個命中描述的問題:

我剛剛改了什麼?

如果描述寫得夠好,Claude 會自動載入這個 skill,回你一段改動摘要 + 風險清單。這就是漸進式載入的魔法:你沒點名它,但你的問題命中了 description,它自己跳出來幹活。

用 / 手動叫它出來

第二種叫法是點名。在對話框直接打斜線,會跳出可用的 skill 清單,選 summarize-changes,或直接打完整指令:

/summarize-changes

這種叫法會保證這個 skill 執行,不用等 Claude 自己判斷。有副作用的流程(部署、送 commit、寄訊息)通常都用這種手動叫法,才不會被 Claude 自作主張觸發。

進階:用官方外掛把 skill 越調越準

skill 好不好用,關鍵在「該觸發的時候有沒有觸發、輸出對不對」。Anthropic 官方有一個叫 skill-creator 的外掛,能自動幫你跑「有裝 skill vs 沒裝 skill」的對照測試,還會建議怎麼改 description。第一次啟動 Claude Code 時官方外掛市集就自動註冊好了,直接裝:

/plugin install skill-creator@claude-plugins-official

裝完打一句「用 skill-creator 評估我的 summarize-changes skill」,它就會帶你寫測試案例、跑對照、給改進建議。新手不用一開始就搞這麼細,但知道有這條路,等你的 skill 變多、開始互相干擾時,它是把描述調準的好幫手。

常見坑(踩過的人都懂)

坑 1:新建的 skill 資料夾,Claude 完全沒反應

你照著建了 ~/.claude/skills/summarize-changes/,結果打 /summarize-changes 沒出現、問「我改了什麼」它也裝傻。九成是因為:這個 skills 資料夾是你這次開 Claude Code 之後才第一次出現的。Claude Code 會盯著既有的 skill 資料夾即時抓變化——你在已存在的資料夾裡新增、改一個 skill,幾秒內就生效,不用重開。但如果你是從無到有第一次建出 skills 這層資料夾,它得重開才能開始監看。解法:關掉 Claude Code 重開一次就好。這個坑跟第 6 課 subagent 那個「新建 agents 資料夾要重開」是一模一樣的機制,記一次用兩次。

坑 2:skill 寫好了,但 Claude 就是不自動用

你確定檔案存在(可以直接問 Claude「What skills are available?」確認它有看到),但它就是不主動載入。這幾乎都是 description 寫得太模糊。Claude 是拿你的問題去比對每個 skill 的 description,描述如果只寫「圖卡相關」,它很難判斷你這句「幫我做一張 IG 貼文」算不算命中。解法:把 description 寫得像路由規則,塞進使用者真的會講的關鍵字——「當使用者要做 IG 貼文圖、社群圖卡、懶人包時使用」。改完存檔即時生效(除非踩到坑 1)。真的調不動,就用坑 3 的 /doctor 看是不是描述被截斷了。

坑 3:skill 一多,有的描述被吃掉、/doctor 報警

skill 累積到十幾二十個之後,你可能發現某些 skill 突然變得不容易被自動觸發。原因是:所有 skill 的描述平常都要放進脈絡讓 Claude 知道有哪些技能可用,但這塊空間有預算上限;skill 太多時,Claude 會把你最少用的那些 skill 的描述砍短甚至丟掉,你要的關鍵字可能就這樣被裁掉了。診斷方式是跑:

/doctor

它會告訴你有幾個 skill 的描述被縮短或丟棄、是哪幾個。解法:把不常用的 skill 收乾淨,或把描述寫精簡一點(把最關鍵的用途擺在最前面,因為每個描述有字數上限,寫太長後面會被砍)。

坑 4:把「一次性步驟」當成「長期規則」寫進 skill

這是內容上的坑,不會報錯,但會讓 skill 越用越怪。要記住:skill 一旦載入,它的內容會留在整段對話裡持續影響Claude,不是只作用一次。所以 skill 裡要寫的是「做這件事時一直要遵守的規範」(像「圖卡一律用品牌象牙白」),而不是「先做 A 再做 B」這種只跑一次的臨時腳本口吻。如果你發現 skill 講的話明明只該執行一次卻一直被套用,就是這個原因。把 skill 內容當成「長期生效的說明書」來寫,而不是「這次的待辦清單」。

別把秘密寫進會用 git 版控的專案 skill 專案 skill(.claude/skills/)會被 commit、跟著專案分享出去。所以裡面絕對不要寫 API 金鑰、密碼這類秘密——這跟第 4 課提醒 CLAUDE.md 不要放機密是同一條紅線。需要秘密的流程,讓 skill 去讀環境變數,不要把值寫死在檔案裡。

作業

  1. 做出 summarize-changes:照實戰四步,在 ~/.claude/skills/summarize-changes/ 建好這個 skill。先用自然語言「我改了什麼?」測自動觸發,再打 /summarize-changes 測手動叫,體會兩種路徑的差別。
  2. 故意踩坑 1:建好第一個 skill 後先別重開,直接叫它,感受「沒反應」;然後重開 Claude Code 再叫一次,親眼看到差別。
  3. 打包一個你自己的流程:想一件你最近重複對 AI 貼了三次以上的說明(排版規範、某種文件格式、固定的分析步驟),把它做成一個個人 skill。重點放在 description 的觸發時機要寫得夠具體。
  4. 搬家練習:翻一下你手上專案的 CLAUDE.md,找出裡面有沒有哪一段其實是「多步驟流程」而不是「一條事實」。把它搬出來獨立成一個 skill,感受 CLAUDE.md 變乾淨、又不用天天付它 token 的爽度。
  5. 選做:裝 skill-creator 外掛,叫它評估你第 3 題做的 skill,看看它建議你怎麼把 description 調得更準。

下一課預告

到這裡,你已經會用 CLAUDE.md 給專案立規矩、用 Skill 把可重用的流程打包成一叫就到的技能包了。但不管是 CLAUDE.md 還是 Skill,都還是「你 ↔ 一個 Claude」在對話——一次只有一條主線在做事。

第 6 課要把格局打開:讓一個主 Claude 派出分身,一次指揮好幾個子代理(subagent)同時幹活、各查各的、最後彙整成一份結果。你會學到什麼任務值得開分身、怎麼在 .claude/agents/ 建一隻、內建的探勘分身怎麼幫你省錢,還有一個很妙的接點:這課學的 Skill,其實可以設定成丟給 subagent 去跑。學會之後,你叫 Claude 做事的規模會直接升一個檔次。

#Claude 新手指南#Skills#Claude Code

← 回所有文章