## Claude Code Skills 101 2026/1/26 Miles https://hackmd.io/@ganhuaking/claude-code-skills-101 --- ### 目錄 1. 緣起(反正講著講著就突然說來講了) 2. 我對 Skills 的了解 3. 應用 4. Skills 未來發展 > 這次的內容沒有 MCP 也沒有 Hook =,因為我不熟XD --- ### 緣起 Recca Tsai、Nathan Lu、正瑋三人圍攻(並沒有) --- ### Skills 發展 Claude 在 2025/10/16 發布了 [Agent Skills](https://claude.com/blog/skills) ---- 但在那之前一週 2025/10/9 發布了 [Plugins](https://claude.com/blog/claude-code-plugins),也就是 Marketplace 我當時覺得這東西很難用,因為只能分享 prompt ---- 隔週 Agent Skills 出來,說裡面可以內建程式或腳本 ### 沃草!這就我想要的啊! ---- 後來就一直試試試試試試試到現在了 --- ### 基本概念 ![](https://www.anthropic.com/_next/image?url=https%3A%2F%2Fwww-cdn.anthropic.com%2Fimages%2F4zrzovbb%2Fwebsite%2F191bf5dd4b6f8cfe6f1ebafe6243dd1641ed231c-1650x1069.jpg&w=1920&q=75) > 來源網址: https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills ---- #### 三層的 Progressive disclosure Progressive disclosure 中直譯為「漸進式揭露」,跟日常生活的很多例子很像: | Agent Skills | 指令 | 書籍 | | --- | --- | --- | | YAML frontmatter | `tldr` | 書皮 | | Markdown | `--help` | 目錄 | | Reference | `man` | 內容 | ---- 與標準作業流程(SOP)也是非常接近 1. 發生什麼事時,請參考這份 SOP 2. SOP 裡有 5 個步驟 blahblah 3. 各步驟詳細執行流程為 blahblah ---- 與規範或指南也非常接近 1. 當開發遇到 xxx 的時候,請參考這份指南 2. 指南的主要重點為 o1 o2 o3 3. 當 o2 情境時,參考 references/o2.md 的詳細說明 --- ### Skills vs Agents 1. 什麼時候要設計成 Skill? - 當希望模型或人類能自主引用的時候 3. 什麼時候要設計成 Agent? - 當流程有其獨立性,會有制式回傳的時候 ---- ### Skills 的特色 - 可打包成為獨立的工具發布到 Claude Web 上用 - 可預執行腳本 - 可以動態載入 Skill - 可使用 `$ARGUMENTS` 代表從 Command 傳入的值 ```yaml name: review-skill description: blahblah argument-hint: [issue-number] disable-model-invocation: false user-invocable: true allowed-tools: [tools] model: Sonnet context: fork agent: [SubAgent] version: 0.1.0 ``` > 參考文件: https://code.claude.com/docs/en/skills ---- ### Agents 的特性 - 可指定模型 - 可指定預載的 Skills ```yaml name: code-reviewer description: BlahBlah tools: ["Read", "Grep", "Glob"] disallowedTools: model: inherit permissionMode: default skills: review-skill hooks: color: blue ``` > 參考文件: https://code.claude.com/docs/en/sub-agents ---- 根據這些特性,通常會: - 先設計 Skills - 然後再設計 Commands 觸發 - 最後當整個流程會讓 Context 太大出現幻覺的時候,再改用 Agents 預載 Skills,再讓 Command 改叫 Agents 做事 --- ### 所以… Q: 什麼時候需要自己寫 Skills? A: 當發現自己流程和規範與眾不同的時候 > 寫 Skill 的工具可以參考官方的 [Plugin Development Toolkit](https://github.com/anthropics/claude-code/tree/main/plugins/plugin-dev) 接下來舉幾個範例 ---- #### PR review 先想想,Code review 要做什麼事? - 發 PR 前,對 diff review,stdout comment - 發 PR 後,對 diff review,PR 上留 comment > 所以有個 PR review Guideline Skill ---- #### Release 風險評估 先想想,發布前要做什麼事? - 先 diff commit - 確認 commits 與需求的關聯為何 - 再看對應的 API 或業務邏輯影響範圍有沒有一致 - 確認是否要增加測試範圍 > 所以有個 Release Guideline Skill(其實就是用 TBD) ---- #### Error Log 分析 先想想,線上有錯誤 log 的時候,會做什麼事? - 有 message 和 Stack Trace - 爬 code 硬查 - 找到關鍵程式和錯誤細節,再做根因分析 > 所以有個根因分析的 Skill --- ### Skills 的未來 Skills 文件開頭有提到: > Custom slash commands have been merged into skills. A file at .claude/commands/review.md and a skill at .claude/skills/review/SKILL.md both create /review and work the same way. Your existing .claude/commands/ files keep working. Skills add optional features: a directory for supporting files, frontmatter to control whether you or Claude invokes them, and the ability for Claude to load them automatically when relevant. 所以未來就是建議使用 Skill,不要再用 Command 了。
{"title":"Claude Code Skills 101","description":"2026/1/26 Miles","contributors":"[{\"id\":\"208766f2-1253-4ddc-b70a-16e6fba73e62\",\"add\":4106,\"del\":783,\"latestUpdatedAt\":1769439495337}]"}
    171 views
   Owned this note