Agent Skills memperluas Claude dengan kemampuan khusus yang Claude secara otomatis memanggil ketika relevan. Skills dikemas sebagai file SKILL.md yang berisi instruksi, deskripsi, dan sumber daya pendukung opsional.
Untuk informasi komprehensif tentang Skills, termasuk manfaat, arsitektur, dan pedoman penulisan, lihat ringkasan Agent Skills.
Saat menggunakan Claude Agent SDK, Skills adalah:
SKILL.md di direktori tertentu (.claude/skills/)settingSources (TypeScript) atau setting_sources (Python) untuk memuat Skills dari sistem file"Skill" ke allowed_tools Anda untuk mengaktifkan SkillsTidak seperti subagents (yang dapat didefinisikan secara terprogram), Skills harus dibuat sebagai artefak sistem file. SDK tidak menyediakan API terprogram untuk mendaftarkan Skills.
Perilaku default: Secara default, SDK tidak memuat pengaturan sistem file apa pun. Untuk menggunakan Skills, Anda harus secara eksplisit mengonfigurasi settingSources: ['user', 'project'] (TypeScript) atau setting_sources=["user", "project"] (Python) dalam opsi Anda.
Untuk menggunakan Skills dengan SDK, Anda perlu:
"Skill" dalam konfigurasi allowed_tools AndasettingSources/setting_sources untuk memuat Skills dari sistem fileSetelah dikonfigurasi, Claude secara otomatis menemukan Skills dari direktori yang ditentukan dan memanggilnya ketika relevan dengan permintaan pengguna.
import asyncio
from claude_agent_sdk import query, ClaudeAgentOptions
async def main():
options = ClaudeAgentOptions(
cwd="/path/to/project", # Project with .claude/skills/
setting_sources=["user", "project"], # Load Skills from filesystem
allowed_tools=["Skill", "Read", "Write", "Bash"] # Enable Skill tool
)
async for message in query(
prompt="Help me process this PDF document",
options=options
):
print(message)
asyncio.run(main())Skills dimuat dari direktori sistem file berdasarkan konfigurasi settingSources/setting_sources Anda:
.claude/skills/): Dibagikan dengan tim Anda melalui git - dimuat ketika setting_sources mencakup "project"~/.claude/skills/): Skills pribadi di semua proyek - dimuat ketika setting_sources mencakup "user"Skills didefinisikan sebagai direktori yang berisi file SKILL.md dengan frontmatter YAML dan konten Markdown. Bidang description menentukan kapan Claude memanggil Skill Anda.
Contoh struktur direktori:
.claude/skills/processing-pdfs/
└── SKILL.mdUntuk panduan lengkap tentang membuat Skills, termasuk struktur SKILL.md, Skills multi-file, dan contoh, lihat:
Bidang frontmatter allowed-tools dalam SKILL.md hanya didukung saat menggunakan Claude Code CLI secara langsung. Ini tidak berlaku saat menggunakan Skills melalui SDK.
Saat menggunakan SDK, kontrol akses alat melalui opsi allowedTools utama dalam konfigurasi kueri Anda.
Untuk membatasi alat untuk Skills dalam aplikasi SDK, gunakan opsi allowedTools:
Pernyataan impor dari contoh pertama diasumsikan dalam cuplikan kode berikut.
options = ClaudeAgentOptions(
setting_sources=["user", "project"], # Load Skills from filesystem
allowed_tools=["Skill", "Read", "Grep", "Glob"] # Restricted toolset
)
async for message in query(
prompt="Analyze the codebase structure",
options=options
):
print(message)Untuk melihat Skills mana yang tersedia dalam aplikasi SDK Anda, cukup tanyakan kepada Claude:
options = ClaudeAgentOptions(
setting_sources=["user", "project"], # Load Skills from filesystem
allowed_tools=["Skill"]
)
async for message in query(
prompt="What Skills are available?",
options=options
):
print(message)Claude akan mencantumkan Skills yang tersedia berdasarkan direktori kerja saat ini dan plugin yang diinstal.
Uji Skills dengan mengajukan pertanyaan yang cocok dengan deskripsi mereka:
options = ClaudeAgentOptions(
cwd="/path/to/project",
setting_sources=["user", "project"], # Load Skills from filesystem
allowed_tools=["Skill", "Read", "Bash"]
)
async for message in query(
prompt="Extract text from invoice.pdf",
options=options
):
print(message)Claude secara otomatis memanggil Skill yang relevan jika deskripsi cocok dengan permintaan Anda.
Periksa konfigurasi settingSources: Skills hanya dimuat ketika Anda secara eksplisit mengonfigurasi settingSources/setting_sources. Ini adalah masalah paling umum:
# Wrong - Skills won't be loaded
options = ClaudeAgentOptions(
allowed_tools=["Skill"]
)
# Correct - Skills will be loaded
options = ClaudeAgentOptions(
setting_sources=["user", "project"], # Required to load Skills
allowed_tools=["Skill"]
)Untuk detail lebih lanjut tentang settingSources/setting_sources, lihat referensi SDK TypeScript atau referensi SDK Python.
Periksa direktori kerja: SDK memuat Skills relatif terhadap opsi cwd. Pastikan itu menunjuk ke direktori yang berisi .claude/skills/:
# Ensure your cwd points to the directory containing .claude/skills/
options = ClaudeAgentOptions(
cwd="/path/to/project", # Must contain .claude/skills/
setting_sources=["user", "project"], # Required to load Skills
allowed_tools=["Skill"]
)Lihat bagian "Menggunakan Skills dengan SDK" di atas untuk pola lengkapnya.
Verifikasi lokasi sistem file:
# Check project Skills
ls .claude/skills/*/SKILL.md
# Check personal Skills
ls ~/.claude/skills/*/SKILL.mdPeriksa alat Skill diaktifkan: Konfirmasi "Skill" ada dalam allowedTools Anda.
Periksa deskripsi: Pastikan itu spesifik dan mencakup kata kunci yang relevan. Lihat Agent Skills Best Practices untuk panduan tentang menulis deskripsi yang efektif.
Untuk pemecahan masalah Skills umum (sintaks YAML, debugging, dll.), lihat bagian pemecahan masalah Claude Code Skills.