Agent Skill 就是「寫一次、自動觸發、把精確的活交給腳本」。用一個最小範例看懂怎麼定義 SKILL.md、讓它自動被叫用、用腳本做確定性抽取,並親手跑出每次都一致的結果。
這頁讓你 5 分鐘知道這是什麼、能做出什麼、真的會動。要逐章、踩雷、改造、FAQ 的完整版,在實戰手冊裡。
你已經有一套「整理筆記」的做法,但每次都得把同一長串 prompt 重貼一遍,結果還時好時壞 —— 今天抓到 5 個數字、明天抓到 4 個,日期、金額、@提及這種該完整不漏的東西,靠模型用眼睛看偶爾就漏掉。
這個範本教你做一個 Agent Skill(Claude Code Skill):範例 skill 叫 structured-summary,把雜亂筆記整理成固定格式的摘要。它把做法打包成一次寫好、會自動觸發的能力,並把「需要精確」的抽取交給一支確定性腳本。小到你能一眼讀完,剛好夠看懂一個 skill 的每一個零件。
SKILL.md(YAML frontmatter 的 name/description 讓它自動觸發)+ scripts/(確定性腳本)+ references/(漸進式揭露的輸出格式)。scripts/extract.py 做確定性抽取:dates/mentions/todos/numbers,同樣輸入永遠同樣輸出。需要 uv。不需要任何 API key。Ubuntu 與 Windows 皆可。
git clone https://github.com/yazelin/agent-skill-starter.git
cd agent-skill-starter
uv sync
uv run python client_smoke_test.py
== tests/test_skill_structure.py ==
OK: skill structure test passed
== tests/test_extract.py ==
OK: extract test passed
{"dates": ["2026-06-04", "2026/06/10"], "mentions": ["小華", "阿明"], "todos": ["@阿明 在 2026/06/10 前補出貨報表", "追蹤一筆 NT$12,000 的退款", "跟供應商確認下週要採購的 5 台 機器人手臂"], "numbers": ["320 台", "98%", "2 件", "NT$12,000", "5 台", "NT$ 250,000"]}
OK: all checks passed
part1_adhoc/sample_input.txt)uv run python skills/structured-summary/scripts/extract.py part1_adhoc/sample_input.txt
{
"dates": ["2026-06-04", "2026/06/10"],
"mentions": ["小華", "阿明"],
"todos": ["@阿明 在 2026/06/10 前補出貨報表", "追蹤一筆 NT$12,000 的退款", "跟供應商確認下週要採購的 5 台 機器人手臂"],
"numbers": ["320 台", "98%", "2 件", "NT$12,000", "5 台", "NT$ 250,000"]
}
前半段(Part 1)是「還沒做成 skill」的做法:每次要整理筆記,就把一長串指示貼給 AI,後面接上原始文字。會動,但每次重貼、結果不一致、精確欄位靠模型用眼睛抓。後半段(Part 2)把同一套做法打包成一個 Skill,體會「寫一次、自動觸發、精確的部分交給腳本」。
| 面向 | Part 1 · ad-hoc prompt | Part 2 · Skill |
|---|---|---|
| 每次怎麼啟動 | 手動重貼一長串指示 | frontmatter 的 description 自動觸發 |
| 精確欄位(日期/數字/提及) | 靠模型用眼睛抓,偶爾漏 | 確定性腳本抽取,同輸入同輸出 |
| 輸出格式 | 每次可能跑掉 | references/format.md 固定版面 |
核心一句:需要判斷的留給模型,需要精確的交給腳本。同一份確定性測試對 skill 結構與腳本抽取都過,證明每次行為一致。完整對照在 docs/08。
這頁是快速了解;下面每一章都是完整內容,在 GitHub 上點開就能讀。
這頁是快速了解。逐章讀懂、確定性測試深入、踩雷清單、改造成你的場景、部署安裝都在實戰手冊(PDF)裡。
延伸資源 · Awesome Skills:anthropics/skills(官方)、obra/superpowers(社群)。