Claude Skills API เปิดให้ใช้งานทั่วไปแล้วตั้งแต่วันที่ 20 สิงหาคม 2026 คุณสามารถสร้าง, กำหนดเวอร์ชัน และจัดการทักษะที่กำหนดเองผ่าน https://api.anthropic.com/v1/skills ด้วยเฮดเดอร์มาตรฐาน โดยไม่ต้องใช้แฟล็กเบต้า และรันในแซนด์บ็อกซ์โค้ดของ Claude โดยไม่ต้องโฮสต์อะไรเอง Anthropic ได้เปิดตัว GA ในคราวเดียวกับ Computer Use, เครื่องมือเบราว์เซอร์ใหม่ และ Files API ซึ่งถูกระบุในการ ประกาศ ว่าเป็น Production Stack สำหรับการสร้างเอเจนต์บนแพลตฟอร์ม Claude
หากแนวคิดเรื่องทักษะเป็นเรื่องใหม่สำหรับคุณ คู่มือ Claude Skills ของเราจะครอบคลุมแนวคิดนี้ตั้งแต่ต้น บทความนี้เกี่ยวกับชั้น API: เอนด์พอยต์, โมเดลการกำหนดเวอร์ชัน, รูปแบบคำขอที่โหลดทักษะเข้าไปในการเรียก Messages และจุดบกพร่อง (ขอบเขตของพื้นที่ทำงาน, การกำหนดเวอร์ชันแบบ Snapshot) ที่ GA ไม่ได้แก้ไข เนื่องจากทั้งหมดเป็น HTTP ธรรมดา ทุกการเรียกในที่นี้สามารถสร้างและทดสอบ Regression ใน Apidog ได้ขณะที่คุณติดตาม
ทบทวนสั้นๆ 30 วินาที: ทักษะคืออะไร
ทักษะคือโฟลเดอร์ ที่ระดับบนสุดมีไฟล์ SKILL.md ที่มี YAML frontmatter ซึ่งประกอบด้วย name และ description; รอบๆ มีสคริปต์, เทมเพลต และไฟล์อ้างอิงที่งานต้องการ เมื่อคำขอรวมทักษะ Claude จะโหลดคำสั่งเมื่อจำเป็นเท่านั้น และดำเนินการสคริปต์ที่รวมมาในสภาพแวดล้อมโค้ดแซนด์บ็อกซ์ของมัน
Frontmatter มีกฎการตรวจสอบความถูกต้อง:
name: สูงสุด 64 ตัวอักษร, ตัวพิมพ์เล็ก, ตัวเลข และเครื่องหมายขีดกลางเท่านั้น ไม่อนุญาตแท็ก XML และคำสงวน "anthropic" และ "claude" จะถูกปฏิเสธdescription: ไม่ว่างเปล่า, สูงสุด 1024 ตัวอักษรdisplay_name(สูงสุด 255 ตัวอักษร) เป็นตัวเลือกเสริมที่สามารถเป็นมิตรกับผู้ใช้ได้- การอัปโหลดทั้งหมดต้องมีขนาดไม่เกิน 30 MB เมื่อไม่ได้บีบอัด
ทักษะมาจากสองแหล่ง ทักษะที่จัดการโดย Anthropic (type: "anthropic") มาพร้อมกับ ID สั้นๆ เช่น pptx, xlsx, docx และ pdf และใช้เวอร์ชันตามวันที่ เช่น 20251013 ทักษะที่กำหนดเอง (type: "custom") เป็นของคุณ: อัปโหลดผ่าน API, เป็นส่วนตัวในพื้นที่ทำงานของคุณ, ด้วย ID ที่สร้างขึ้น เช่น skill_01AbCdEfGhIjKlMnOpQrStUv
สิ่งที่ GA เปลี่ยนแปลงไปจริง ๆ
มีสามสิ่งที่เป็นของใหม่หรือได้รับการปรับปรุงตั้งแต่วันที่ 20 สิงหาคม 2026:
- ไม่มีเฮดเดอร์เบต้า. Skills API ทำงานบน Claude API ด้วยเพียง
x-api-keyและanthropic-version: 2023-06-01 - ขั้นตอนการอัปโหลดและการกำหนดเวอร์ชันที่ง่ายขึ้น. Anthropic อธิบายว่า GA นำมาซึ่ง "API ที่ง่ายขึ้นสำหรับการอัปโหลดและการกำหนดเวอร์ชัน" ทักษะที่กำหนดเอง เวอร์ชันเป็นทรัพยากรชั้นหนึ่งที่มีเอนด์พอยต์ของตัวเอง
- แพลตฟอร์มที่มากขึ้น. Skills API มีให้บริการผ่าน Microsoft Foundry รวมถึง Claude API ทักษะทำงานในแซนด์บ็อกซ์ที่จัดการโดย Claude ดังนั้นจึงไม่มีโครงสร้างพื้นฐานใดๆ ที่ฝั่งของคุณ
ส่วนที่เหลือของคลื่น GA ก็สำคัญสำหรับผู้ใช้ทักษะเช่นกัน: ทักษะมักจะสร้างไฟล์ (เช่น สไลด์นำเสนอ, สเปรดชีตที่กรอกข้อมูลแล้ว) และผลลัพธ์เหล่านั้นจะถูกส่งกลับผ่าน Files API ที่เพิ่งเปิดตัว GA ไปแล้ว
พื้นผิวของเอนด์พอยต์
ทุกสิ่งอยู่ใน /v1/skills:
| การดำเนินการ | เอนด์พอยต์ |
|---|---|
| สร้างทักษะ | POST /v1/skills |
| แสดงรายการทักษะ | GET /v1/skills |
| ดึงข้อมูลทักษะ | GET /v1/skills/{skill_id} |
| ลบทักษะ | DELETE /v1/skills/{skill_id} |
| สร้างเวอร์ชันใหม่ | POST /v1/skills/{skill_id}/versions |
| แสดงรายการเวอร์ชัน | GET /v1/skills/{skill_id}/versions |
การสร้างทักษะจะอัปโหลดชุดไฟล์ทั้งหมด การสร้างเวอร์ชันจะทำเช่นเดียวกันกับ ID ทักษะที่มีอยู่ ในโปรเจกต์ Apidog สิ่งนี้จะแมปอย่างชัดเจนกับโฟลเดอร์ของคำขอที่บันทึกไว้หกรายการพร้อมกับ {{skill_id}} และ {{skill_version}} เป็นตัวแปรสภาพแวดล้อม ดังนั้นการโปรโมตเวอร์ชันใหม่ผ่านสภาพแวดล้อม dev และ prod เป็นเพียงการเปลี่ยนตัวแปร ไม่ใช่การแก้ไขคำขอ
การอัปโหลดทักษะที่กำหนดเอง
ทักษะที่กำหนดเองที่เล็กที่สุดมีสองสิ่ง: โฟลเดอร์และคำสั่งอัปโหลด สมมติว่าคุณเก็บทักษะรายงานแบรนด์ไว้ใน Repo ของคุณ:
brand-report/
SKILL.md
templates/report.html
scripts/build_report.py
โดยที่ SKILL.md เริ่มต้นดังนี้:
---
name: brand-report
description: Generates the weekly brand performance report as a formatted HTML document from a CSV of metrics. Use when asked for a brand report, weekly summary deck, or performance writeup.
---
อัปโหลดโดยโพสต์ไฟล์เป็นข้อมูลฟอร์มแบบ multipart:
curl -X POST https://api.anthropic.com/v1/skills \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-F 'files[]=@brand-report/SKILL.md;filename=brand-report/SKILL.md' \
-F 'files[]=@brand-report/templates/report.html;filename=brand-report/templates/report.html' \
-F 'files[]=@brand-report/scripts/build_report.py;filename=brand-report/scripts/build_report.py'
การตอบกลับจะส่งกลับ skill_id ที่สร้างขึ้น และ ID skver_* ของเวอร์ชันแรก เก็บทั้งสองอย่าง; ID ทักษะจะอยู่ในคำขอ Messages ของคุณ และ ID เวอร์ชันคือจุดยึดสำหรับการย้อนกลับของคุณ ตรวจสอบชื่อฟิลด์ multipart ที่แน่นอนเทียบกับ เอกสารอ้างอิง Skills API สำหรับเวอร์ชัน SDK ของคุณ เนื่องจากตัวช่วย SDK แบบพิมพ์นิยมจะห่อหุ้มการเรียกนี้ในภาษาส่วนใหญ่
สังเกตคำอธิบาย: มันอ่านเหมือนกฎการกำหนดเส้นทาง Claude ตัดสินใจว่าจะโหลดทักษะหรือไม่โดยการอ่านฟิลด์นั้น ดังนั้นคำอธิบายที่ระบุวลีทริกเกอร์ที่ผู้ใช้ของคุณพูดจะทำงานได้ดีกว่าป้ายกำกับบรรทัดเดียวเสมอ
การใช้ทักษะในคำขอ Messages
ทักษะไม่ได้แนบมากับคำขอด้วยตัวเอง แต่จะทำงานบนเครื่องมือประมวลผลโค้ดที่ประกาศผ่านพารามิเตอร์ container:
response = client.messages.create(
model="claude-opus-5",
max_tokens=4096,
container={
"skills": [
{"type": "anthropic", "skill_id": "pptx", "version": "latest"},
{"type": "custom", "skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv", "version": "latest"}
]
},
messages=[{"role": "user", "content": "Build the Q3 revenue deck from the attached numbers"}],
tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)
กฎที่ควบคุมบล็อกนี้:
- ต้องเปิดใช้งานเครื่องมือประมวลผลโค้ด ใน
toolsเนื่องจากทักษะจะถูกดำเนินการภายในแซนด์บ็อกซ์นั้น การรองรับโมเดลเป็นไปตาม รายการความเข้ากันได้ของเครื่องมือประมวลผลโค้ด - สูงสุด 20 ทักษะต่อคำขอ Claude อ่านคำอธิบายของแต่ละทักษะและโหลดคำสั่งเฉพาะสำหรับทักษะที่งานต้องการเท่านั้น
- การตรึงเวอร์ชันอยู่ภายใต้การควบคุมของคุณ
"latest"จะลอยไปยังเวอร์ชันล่าสุด; IDskver_*ที่ตรึงไว้ (หรือเวอร์ชันวันที่สำหรับทักษะ Anthropic) จะตรึงพฤติกรรมไว้ ตรึงใน Production, ปล่อยลอยใน Dev
เมื่อทักษะสร้างเอกสาร การตอบกลับจะมาพร้อมกับ file_id ซึ่งคุณสามารถดาวน์โหลดผ่าน GET /v1/files/{file_id}/content ของ Files API การสื่อสารแบบสอง API (Skills เพื่อสร้าง, Files เพื่อดึงข้อมูล) คือวงจรการผลิตหลัก
การกำหนดเวอร์ชัน: Snapshot ไม่ใช่ Diff
โมเดลการกำหนดเวอร์ชันเป็นส่วนที่ทีมส่วนใหญ่ทำผิดพลาดในการลองครั้งแรก เวอร์ชันใหม่คือ Snapshot ที่สมบูรณ์ ไม่ใช่ส่วนต่าง เมื่อคุณ POST /v1/skills/{skill_id}/versions คุณจะอัปโหลดชุดไฟล์ทั้งหมดของทักษะอีกครั้ง ไฟล์ที่คุณละเว้นจะไม่ถูกนำมาจากเวอร์ชันก่อนหน้า name ใน SKILL.md ของเวอร์ชันใหม่ต้องตรงกับชื่อทักษะที่มีอยู่ด้วย
ถือว่าโฟลเดอร์ทักษะเป็นเหมือน Artifact ที่สร้างขึ้น: เก็บแหล่งข้อมูลที่ถูกต้องใน repo ของคุณ, แพ็กเกจทั้งโฟลเดอร์ใน CI และพุชเป็นเวอร์ชันใหม่ การย้อนกลับจะทำได้ง่าย เนื่องจากเวอร์ชันเก่าสามารถเข้าถึงได้ด้วย ID skver_* และเหตุการณ์ที่เกิดขึ้นใน Production สามารถแก้ไขได้โดยการตรึงสตริงเดียวใหม่
ขอบเขตพื้นที่ทำงาน: กับดักแบบ Multi-tenant
ทักษะที่กำหนดเองสามารถเข้าถึงได้โดยทั้งพื้นที่ทำงานของคุณ ซึ่งไม่ได้จำกัดขอบเขตสำหรับผู้ใช้ปลายทาง การสนทนา หรือเซสชัน และคีย์ API ทุกคีย์ในพื้นที่ทำงานจะใช้ร่วมกัน หากคุณใช้ผลิตภัณฑ์แบบ multi-tenant ที่ผู้เช่าอัปโหลดทักษะของตนเอง พื้นที่ทำงานเดียวอาจเป็นช่องโหว่ของข้อมูลที่รอการเกิดขึ้น
วิธีการแก้ไขก็เหมือนกับ Files API: สร้างพื้นที่ทำงานแยกต่างหากสำหรับผู้เช่าแต่ละราย พื้นที่ทำงานคือขอบเขตของการแยก และแต่ละองค์กรมีพื้นที่ทำงานได้สูงสุด 100 แห่งก่อนที่จะต้องติดต่อทีมบัญชี คีย์ ไฟล์ และทักษะทั้งหมดจะสืบทอดขอบเขตนั้น ดังนั้นการตัดสินใจเพียงครั้งเดียวจะแยกทั้งสามสิ่ง
ทักษะที่ทำงานนาน: pause_turn และการนำคอนเทนเนอร์กลับมาใช้ใหม่
การดำเนินการทักษะอาจยาวนานกว่าการตอบกลับของโมเดลเพียงครั้งเดียว มีกลไกสองอย่างที่จัดการสิ่งนี้:
pause_turn: เมื่อการตอบกลับหยุดลงด้วยstop_reason: "pause_turn"ให้เพิ่มเนื้อหาผู้ช่วยลงในประวัติข้อความของคุณแล้วเรียกใหม่ โดยส่งcontainer.idเดิม แซนด์บ็อกซ์จะทำงานต่อจากที่หยุดไว้- การนำคอนเทนเนอร์กลับมาใช้ใหม่: ออบเจกต์
containerยอมรับidจากการตอบกลับก่อนหน้า ทำให้ไฟล์ที่ติดตั้งและสถานะยังคงอยู่ตลอดการสนทนาแบบหลายเทิร์น นั่นหมายความว่าทักษะสามารถสร้างสเปรดชีตในเทิร์นแรกและแก้ไขได้ในเทิร์นที่สามโดยไม่ต้องสร้างใหม่ทั้งหมด
ทั้งสองรูปแบบเป็นลำดับ HTTP ที่มีสถานะ ซึ่งทำให้ทดสอบด้วยมือได้ยาก และน่าทดสอบในรูปแบบสถานการณ์ Apidog: คำขอแรกยืนยัน stop_reason สคริปต์จะยก container.id ไปเป็นตัวแปร คำขอที่สองนำกลับมาใช้ใหม่ และขั้นตอนสุดท้ายยืนยันว่า file_id ที่สร้างขึ้นดาวน์โหลดได้สะอาด Apidog CLI รันสถานการณ์เดียวกันใน CI ดังนั้นการอัปเดตเวอร์ชันทักษะจึงไม่สามารถทำให้ Pipeline ของคุณพังโดยไม่แจ้งให้ทราบ หากคุณต้องการดูว่าทักษะทำงานอย่างไรในระบบนิเวศของผู้จำหน่ายรายอื่นเพื่อเปรียบเทียบ เราได้แยก Postman's Claude skill ในการรีวิวก่อนหน้านี้
ที่ที่มันทำงาน
ในเวอร์ชัน GA นั้น Skills API มีให้บริการบน Claude API และผ่าน Microsoft Foundry ไม่ว่าจะอย่างไรก็ตาม ทักษะจะถูกดำเนินการในแซนด์บ็อกซ์ของ Anthropic ดังนั้น "การปรับใช้" ก็คือการอัปโหลด และไม่มีอิมเมจคอนเทนเนอร์ ไม่มีการแพตช์รันไทม์ และไม่มีปุ่มปรับขนาดใดๆ ที่ฝั่งของคุณ โปรดสังเกตการพึ่งพาโมเดลมากกว่าแพลตฟอร์ม: คำขอต้องใช้โมเดลที่เครื่องมือรันโค้ดรองรับ เช่น claude-opus-5 ในตัวอย่างข้างต้น คู่มือ Claude Opus 5 API ของเราครอบคลุมพื้นฐานคำขอของโมเดลนั้นหากคุณเพิ่งเริ่มต้น
คำถามที่พบบ่อย
ฉันยังจำเป็นต้องมีเฮดเดอร์เบต้าของทักษะหรือไม่? ไม่ ตั้งแต่วันที่ 20 สิงหาคม 2026 เป็นต้นไป /v1/skills และพารามิเตอร์ container.skills จะทำงานกับเฮดเดอร์มาตรฐานบน Claude API ลบแฟล็กเบต้าที่ปักหมุดไว้เมื่อคุณอัปเกรด SDK ของคุณ
ทักษะสามารถเรียกใช้ API ภายนอกขณะที่ทำงานได้หรือไม่? ทักษะจะทำงานภายในแซนด์บ็อกซ์โค้ดของ Claude โดยมีข้อจำกัดเครือข่ายของเครื่องมือการเรียกใช้โค้ด รวมสิ่งที่ทักษะต้องการในโฟลเดอร์ของมันแทนที่จะสมมติว่ามีการเข้าถึงเครือข่ายแบบเปิด และเก็บตรรกะการเรียกใช้ API ไว้ในชั้นแอปพลิเคชันของคุณที่คุณสามารถทดสอบได้อย่างถูกต้อง
คำขอหนึ่งครั้งสามารถโหลดได้กี่ทักษะ? สูงสุด 20 ทักษะ Claude อ่าน description frontmatter ของแต่ละทักษะเพื่อตัดสินใจว่างานต้องการทักษะใดบ้าง ดังนั้นคำอธิบายจึงมีความสำคัญ: เขียนให้เหมือนกฎการกำหนดเส้นทาง ไม่ใช่ข้อความทางการตลาด
ความแตกต่างระหว่างสิ่งนี้กับ Claude Code skills คืออะไร? แนวคิดเดียวกัน แต่รันไทม์ต่างกัน Claude Code ค้นหาโฟลเดอร์ทักษะบนระบบไฟล์ของคุณ; Skills API โฮสต์ไฟล์เหล่านั้นบนเซิร์ฟเวอร์ พร้อมการกำหนดเวอร์ชัน สำหรับการเรียกใช้ Messages API รูปแบบโฟลเดอร์ที่มี SKILL.md frontmatter เป็นแบบเดียวกัน ดังนั้นทักษะที่คุณเขียนสำหรับ Claude Code มักจะสามารถพอร์ตได้โดยมีการเปลี่ยนแปลงเพียงเล็กน้อย
สรุป
GA เปลี่ยนทักษะจากการทดลองไปสู่พื้นผิวการทำงาน: หกเอนด์พอยต์, การกำหนดเวอร์ชันแบบ Snapshot, การแยกพื้นที่ทำงาน, และการส่งมอบที่สะอาดไปยัง Files API สำหรับผลลัพธ์ ทีมที่ได้รับคุณค่าเร็วที่สุดจะปฏิบัติต่อทักษะเหมือนกับ Artifact ที่สามารถปรับใช้ได้ทั่วไป ซึ่งหมายถึงการแพ็คเกจ CI, เวอร์ชันที่ปักหมุดในการผลิต, และการทดสอบอัตโนมัติรอบวงจรคอนเทนเนอร์ สร้างแบบจำลองเอนด์พอยต์ทั้งหกใน Apidog, เชื่อมต่อการอัปเดตเวอร์ชันเข้ากับสถานการณ์การทดสอบ, และคุณจะรู้ว่าเวอร์ชันทักษะที่ไม่ดีทำให้ตัวสร้างสไลด์ของคุณเสียก่อนที่ผู้ใช้ของคุณจะรู้ ดาวน์โหลด Apidog ฟรีและสร้าง Harness ในช่วงบ่าย
