Prinsip inti
Ringkas adalah kunci
Jendela konteks adalah barang publik. Skill Anda berbagi jendela konteks dengan semua hal lain yang perlu diketahui Claude, termasuk:- Prompt sistem
- Riwayat percakapan
- Metadata Skill lain
- Permintaan aktual Anda
- “Apakah Claude benar-benar membutuhkan penjelasan ini?”
- “Bisakah saya menganggap Claude mengetahui ini?”
- “Apakah paragraf ini membenarkan biaya tokennya?”
Tetapkan tingkat kebebasan yang sesuai
Cocokkan tingkat spesifisitas dengan kerapuhan dan variabilitas tugas. Kebebasan tinggi (instruksi berbasis teks): Gunakan ketika:- Beberapa pendekatan valid
- Keputusan bergantung pada konteks
- Heuristik memandu pendekatan
- Pola yang disukai ada
- Beberapa variasi dapat diterima
- Konfigurasi mempengaruhi perilaku
- Operasi rapuh dan rentan kesalahan
- Konsistensi sangat penting
- Urutan spesifik harus diikuti
- Jembatan sempit dengan tebing di kedua sisi: Hanya ada satu cara yang aman untuk maju. Berikan pagar pembatas spesifik dan instruksi tepat (kebebasan rendah). Contoh: migrasi database yang harus berjalan dalam urutan yang tepat.
- Lapangan terbuka tanpa bahaya: Banyak jalan menuju kesuksesan. Berikan arah umum dan percayai Claude untuk menemukan rute terbaik (kebebasan tinggi). Contoh: tinjauan kode di mana konteks menentukan pendekatan terbaik.
Uji dengan semua model yang Anda rencanakan untuk digunakan
Skill bertindak sebagai tambahan untuk model, jadi efektivitas bergantung pada model yang mendasarinya. Uji Skill Anda dengan semua model yang Anda rencanakan untuk digunakan. Pertimbangan pengujian menurut model:- Claude Haiku (cepat, ekonomis): Apakah Skill memberikan cukup panduan?
- Claude Sonnet (seimbang): Apakah Skill jelas dan efisien?
- Claude Opus (penalaran kuat): Apakah Skill menghindari penjelasan berlebihan?
Struktur Skill
Frontmatter YAML: Frontmatter SKILL.md memerlukan dua bidang:
name:- Maksimal 64 karakter
- Harus hanya berisi huruf kecil, angka, dan tanda hubung
- Tidak dapat berisi tag XML
- Tidak dapat berisi kata-kata yang dicadangkan: “anthropic”, “claude”
description:- Harus tidak kosong
- Maksimal 1024 karakter
- Tidak dapat berisi tag XML
- Harus menjelaskan apa yang dilakukan Skill dan kapan menggunakannya
Konvensi penamaan
Gunakan pola penamaan yang konsisten untuk membuat Skill lebih mudah direferensikan dan didiskusikan. Kami merekomendasikan menggunakan bentuk gerund (kata kerja + -ing) untuk nama Skill, karena ini dengan jelas menjelaskan aktivitas atau kemampuan yang disediakan Skill. Ingat bahwa bidangname harus menggunakan hanya huruf kecil, angka, dan tanda hubung.
Contoh penamaan baik (bentuk gerund):
processing-pdfsanalyzing-spreadsheetsmanaging-databasestesting-codewriting-documentation
- Frasa nomina:
pdf-processing,spreadsheet-analysis - Berorientasi pada tindakan:
process-pdfs,analyze-spreadsheets
- Nama yang tidak jelas:
helper,utils,tools - Terlalu umum:
documents,data,files - Kata-kata yang dicadangkan:
anthropic-helper,claude-tools - Pola yang tidak konsisten dalam koleksi skill Anda
- Mereferensikan Skill dalam dokumentasi dan percakapan
- Memahami apa yang dilakukan Skill sekilas
- Mengorganisir dan mencari melalui beberapa Skill
- Mempertahankan perpustakaan skill yang profesional dan kohesif
Menulis deskripsi yang efektif
Bidangdescription memungkinkan penemuan Skill dan harus mencakup apa yang dilakukan Skill dan kapan menggunakannya.
Selalu tulis dalam orang ketiga. Deskripsi disuntikkan ke dalam prompt sistem, dan sudut pandang yang tidak konsisten dapat menyebabkan masalah penemuan.
- Baik: “Memproses file Excel dan menghasilkan laporan”
- Hindari: “Saya dapat membantu Anda memproses file Excel”
- Hindari: “Anda dapat menggunakan ini untuk memproses file Excel”
Pola pengungkapan progresif
SKILL.md berfungsi sebagai ikhtisar yang menunjukkan Claude ke materi terperinci sesuai kebutuhan, seperti daftar isi dalam panduan orientasi. Untuk penjelasan tentang cara kerja pengungkapan progresif, lihat Cara kerja Skill dalam ringkasan. Panduan praktis:- Jaga badan SKILL.md di bawah 500 baris untuk kinerja optimal
- Pisahkan konten ke file terpisah saat mendekati batas ini
- Gunakan pola di bawah untuk mengorganisir instruksi, kode, dan sumber daya secara efektif
Ikhtisar visual: Dari sederhana hingga kompleks
Skill dasar dimulai dengan hanya file SKILL.md yang berisi metadata dan instruksi:

Pola 1: Panduan tingkat tinggi dengan referensi
Pola 2: Organisasi khusus domain
Untuk Skill dengan beberapa domain, atur konten menurut domain untuk menghindari memuat konteks yang tidak relevan. Ketika pengguna menanyakan metrik penjualan, Claude hanya perlu membaca skema terkait penjualan, bukan data keuangan atau pemasaran. Ini menjaga penggunaan token rendah dan konteks terfokus.SKILL.md
Pola 3: Detail bersyarat
Tampilkan konten dasar, tautkan ke konten lanjutan:Hindari referensi yang sangat bersarang
Claude mungkin membaca sebagian file ketika direferensikan dari file yang direferensikan lainnya. Saat menghadapi referensi bersarang, Claude mungkin menggunakan perintah sepertihead -100 untuk melihat pratinjau konten daripada membaca seluruh file, menghasilkan informasi yang tidak lengkap.
Jaga referensi satu level dalam dari SKILL.md. Semua file referensi harus tautkan langsung dari SKILL.md untuk memastikan Claude membaca file lengkap saat diperlukan.
Contoh buruk: Terlalu dalam:
Struktur file referensi yang lebih panjang dengan daftar isi
Untuk file referensi yang lebih panjang dari 100 baris, sertakan daftar isi di bagian atas. Ini memastikan Claude dapat melihat cakupan lengkap informasi yang tersedia bahkan saat melihat pratinjau dengan pembacaan sebagian. Contoh:Alur kerja dan loop umpan balik
Gunakan alur kerja untuk tugas kompleks
Pecahkan operasi kompleks menjadi langkah-langkah yang jelas dan berurutan. Untuk alur kerja yang sangat kompleks, berikan daftar periksa yang dapat disalin Claude ke dalam responsnya dan dicentang saat maju. Contoh 1: Alur kerja sintesis penelitian (untuk Skill tanpa kode):Implementasikan loop umpan balik
Pola umum: Jalankan validator → perbaiki kesalahan → ulangi Pola ini sangat meningkatkan kualitas output. Contoh 1: Kepatuhan panduan gaya (untuk Skill tanpa kode):Panduan konten
Hindari informasi sensitif waktu
Jangan sertakan informasi yang akan ketinggalan zaman: Contoh buruk: Sensitif waktu (akan menjadi salah):Gunakan terminologi yang konsisten
Pilih satu istilah dan gunakan di seluruh Skill: Baik - Konsisten:- Selalu “endpoint API”
- Selalu “bidang”
- Selalu “ekstrak”
- Campur “endpoint API”, “URL”, “rute API”, “jalur”
- Campur “bidang”, “kotak”, “elemen”, “kontrol”
- Campur “ekstrak”, “tarik”, “dapatkan”, “ambil”
Pola umum
Pola template
Berikan template untuk format output. Cocokkan tingkat ketatnya dengan kebutuhan Anda. Untuk persyaratan ketat (seperti respons API atau format data):Pola contoh
Untuk Skill di mana kualitas output bergantung pada melihat contoh, berikan pasangan input/output seperti dalam prompting reguler:Pola alur kerja bersyarat
Panduan Claude melalui titik keputusan:Jika alur kerja menjadi besar atau rumit dengan banyak langkah, pertimbangkan untuk mendorongnya ke file terpisah dan beri tahu Claude untuk membaca file yang sesuai berdasarkan tugas.
Evaluasi dan iterasi
Bangun evaluasi terlebih dahulu
Buat evaluasi SEBELUM menulis dokumentasi yang luas. Ini memastikan Skill Anda menyelesaikan masalah nyata daripada mendokumentasikan masalah yang dibayangkan. Pengembangan yang didorong evaluasi:- Identifikasi kesenjangan: Jalankan Claude pada tugas representatif tanpa Skill. Dokumentasikan kegagalan spesifik atau konteks yang hilang
- Buat evaluasi: Bangun tiga skenario yang menguji kesenjangan ini
- Tetapkan baseline: Ukur kinerja Claude tanpa Skill
- Tulis instruksi minimal: Buat cukup konten untuk mengatasi kesenjangan dan lulus evaluasi
- Iterasi: Jalankan evaluasi, bandingkan dengan baseline, dan perbaiki
Contoh ini menunjukkan evaluasi berbasis data dengan rubrik pengujian sederhana. Kami saat ini tidak menyediakan cara bawaan untuk menjalankan evaluasi ini. Pengguna dapat membuat sistem evaluasi mereka sendiri. Evaluasi adalah sumber kebenaran Anda untuk mengukur efektivitas Skill.
Kembangkan Skill secara iteratif dengan Claude
Proses pengembangan Skill yang paling efektif melibatkan Claude itu sendiri. Bekerja dengan satu instance Claude (“Claude A”) untuk membuat Skill yang akan digunakan oleh instance lain (“Claude B”). Claude A membantu Anda merancang dan menyempurnakan instruksi, sementara Claude B mengujinya dalam tugas nyata. Ini bekerja karena model Claude memahami cara menulis instruksi agen yang efektif dan informasi apa yang dibutuhkan agen. Membuat Skill baru:- Selesaikan tugas tanpa Skill: Bekerja melalui masalah dengan Claude A menggunakan prompting normal. Saat Anda bekerja, Anda secara alami akan memberikan konteks, menjelaskan preferensi, dan berbagi pengetahuan prosedural. Perhatikan informasi apa yang Anda berikan berulang kali.
- Identifikasi pola yang dapat digunakan kembali: Setelah menyelesaikan tugas, identifikasi konteks apa yang Anda berikan yang akan berguna untuk tugas serupa di masa depan. Contoh: Jika Anda bekerja melalui analisis BigQuery, Anda mungkin telah memberikan nama tabel, definisi bidang, aturan penyaringan (seperti “selalu kecualikan akun uji”), dan pola kueri umum.
-
Minta Claude A membuat Skill: “Buat Skill yang menangkap pola analisis BigQuery yang baru saja kami gunakan. Sertakan skema tabel, konvensi penamaan, dan aturan tentang menyaring akun uji.”
Model Claude memahami format dan struktur Skill secara asli. Anda tidak memerlukan prompt sistem khusus atau “skill penulisan” untuk membuat Claude membuat Skill. Cukup minta Claude membuat Skill dan itu akan menghasilkan konten SKILL.md yang terstruktur dengan baik dengan frontmatter dan konten badan yang sesuai.
- Tinjau untuk keringkasan: Periksa bahwa Claude A tidak menambahkan penjelasan yang tidak perlu. Tanya: “Hapus penjelasan tentang apa arti tingkat kemenangan - Claude sudah tahu itu.”
- Tingkatkan arsitektur informasi: Minta Claude A mengorganisir konten lebih efektif. Misalnya: “Atur ini sehingga skema tabel berada di file referensi terpisah. Kami mungkin menambahkan lebih banyak tabel nanti.”
- Uji pada tugas serupa: Gunakan Skill dengan Claude B (instance segar dengan Skill dimuat) pada kasus penggunaan terkait. Amati apakah Claude B menemukan informasi yang tepat, menerapkan aturan dengan benar, dan menangani tugas dengan sukses.
- Iterasi berdasarkan pengamatan: Jika Claude B berjuang atau melewatkan sesuatu, kembali ke Claude A dengan spesifik: “Ketika Claude menggunakan Skill ini, itu lupa menyaring berdasarkan tanggal untuk Q4. Haruskah kami menambahkan bagian tentang pola penyaringan tanggal?”
- Bekerja dengan Claude A (ahli yang membantu menyempurnakan Skill)
- Pengujian dengan Claude B (agen menggunakan Skill untuk melakukan pekerjaan nyata)
- Mengamati perilaku Claude B dan membawa wawasan kembali ke Claude A
- Gunakan Skill dalam alur kerja nyata: Berikan Claude B (dengan Skill dimuat) tugas aktual, bukan skenario uji
- Amati perilaku Claude B: Catat di mana itu berjuang, berhasil, atau membuat pilihan yang tidak terduga Contoh pengamatan: “Ketika saya meminta Claude B untuk laporan penjualan regional, itu menulis kueri tetapi lupa menyaring akun uji, meskipun Skill menyebutkan aturan ini.”
- Kembali ke Claude A untuk perbaikan: Bagikan SKILL.md saat ini dan jelaskan apa yang Anda amati. Tanya: “Saya perhatikan Claude B lupa menyaring akun uji saat saya meminta laporan regional. Skill menyebutkan penyaringan, tetapi mungkin tidak cukup menonjol?”
- Tinjau saran Claude A: Claude A mungkin menyarankan reorganisasi untuk membuat aturan lebih menonjol, menggunakan bahasa yang lebih kuat seperti “HARUS menyaring” daripada “selalu menyaring”, atau merestruktur bagian alur kerja.
- Terapkan dan uji perubahan: Perbarui Skill dengan penyempurnaan Claude A, kemudian uji lagi dengan Claude B pada permintaan serupa
- Ulangi berdasarkan penggunaan: Lanjutkan siklus amati-perbaiki-uji saat Anda menghadapi skenario baru. Setiap iterasi meningkatkan Skill berdasarkan perilaku agen nyata, bukan asumsi.
- Bagikan Skill dengan rekan kerja dan amati penggunaan mereka
- Tanya: Apakah Skill diaktifkan saat diharapkan? Apakah instruksi jelas? Apa yang hilang?
- Gabungkan umpan balik untuk mengatasi titik buta dalam pola penggunaan Anda sendiri
Amati bagaimana Claude menavigasi Skill
Saat Anda mengulangi Skill, perhatikan bagaimana Claude benar-benar menggunakannya dalam praktik. Perhatikan:- Jalur eksplorasi yang tidak terduga: Apakah Claude membaca file dalam urutan yang tidak Anda antisipasi? Ini mungkin menunjukkan struktur Anda tidak seintuitif yang Anda pikir
- Koneksi yang terlewat: Apakah Claude gagal mengikuti referensi ke file penting? Tautan Anda mungkin perlu lebih eksplisit atau menonjol
- Ketergantungan berlebihan pada bagian tertentu: Jika Claude berulang kali membaca file yang sama, pertimbangkan apakah konten itu harus berada di SKILL.md utama
- Konten yang diabaikan: Jika Claude tidak pernah mengakses file bundel, itu mungkin tidak perlu atau sinyal buruk dalam instruksi utama
Anti-pola untuk dihindari
Hindari jalur gaya Windows
Selalu gunakan garis miring ke depan dalam jalur file, bahkan di Windows:- ✓ Baik:
scripts/helper.py,reference/guide.md - ✗ Hindari:
scripts\helper.py,reference\guide.md
Hindari menawarkan terlalu banyak pilihan
Jangan presentasikan beberapa pendekatan kecuali diperlukan:Lanjutan: Skill dengan kode yang dapat dieksekusi
Bagian di bawah ini fokus pada Skill yang mencakup skrip yang dapat dieksekusi. Jika Skill Anda hanya menggunakan instruksi markdown, lewati ke Daftar periksa untuk Skill yang efektif.Selesaikan, jangan hindari
Saat menulis skrip untuk Skill, tangani kondisi kesalahan daripada menghindarinya. Contoh baik: Tangani kesalahan secara eksplisit:Berikan skrip utilitas
Bahkan jika Claude bisa menulis skrip, skrip yang sudah dibuat menawarkan keuntungan: Manfaat skrip utilitas:- Lebih andal daripada kode yang dihasilkan
- Hemat token (tidak perlu menyertakan kode dalam konteks)
- Hemat waktu (tidak ada pembuatan kode yang diperlukan)
- Pastikan konsistensi di seluruh penggunaan

- Jalankan skrip (paling umum): “Jalankan
analyze_form.pyuntuk mengekstrak bidang” - Baca sebagai referensi (untuk logika kompleks): “Lihat
analyze_form.pyuntuk algoritma ekstraksi bidang”
Gunakan analisis visual
Ketika input dapat dirender sebagai gambar, buat Claude menganalisisnya:Dalam contoh ini, Anda perlu menulis skrip
pdf_to_images.py.Buat output antara yang dapat diverifikasi
Ketika Claude melakukan tugas yang kompleks dan terbuka, itu bisa membuat kesalahan. Pola “rencana-validasi-eksekusi” menangkap kesalahan lebih awal dengan membuat Claude terlebih dahulu membuat rencana dalam format terstruktur, kemudian memvalidasi rencana itu dengan skrip sebelum menjalankannya. Contoh: Bayangkan meminta Claude untuk memperbarui 50 bidang formulir dalam PDF berdasarkan spreadsheet. Tanpa validasi, Claude mungkin mereferensikan bidang yang tidak ada, membuat nilai yang bertentangan, melewatkan bidang yang diperlukan, atau menerapkan pembaruan secara tidak benar. Solusi: Gunakan pola alur kerja yang ditunjukkan di atas (pengisian formulir PDF), tetapi tambahkan filechanges.json antara yang divalidasi sebelum menerapkan perubahan. Alur kerja menjadi: analisis → buat file rencana → validasi rencana → jalankan → verifikasi.
Mengapa pola ini bekerja:
- Menangkap kesalahan lebih awal: Validasi menemukan masalah sebelum perubahan diterapkan
- Dapat diverifikasi mesin: Skrip memberikan verifikasi objektif
- Perencanaan yang dapat dibalik: Claude dapat mengulangi rencana tanpa menyentuh asli
- Debugging yang jelas: Pesan kesalahan menunjuk ke masalah spesifik
Paket dependensi
Skill berjalan di lingkungan eksekusi kode dengan batasan khusus platform:- claude.ai: Dapat menginstal paket dari npm dan PyPI serta menarik dari repositori GitHub
- Anthropic API: Tidak memiliki akses jaringan dan tidak ada instalasi paket runtime
Lingkungan runtime
Skill berjalan di lingkungan eksekusi kode dengan akses filesystem, perintah bash, dan kemampuan eksekusi kode. Untuk penjelasan konseptual arsitektur ini, lihat Arsitektur Skill dalam ringkasan. Bagaimana ini mempengaruhi penulisan Anda: Bagaimana Claude mengakses Skill:- Metadata dimuat sebelumnya: Saat startup, nama dan deskripsi dari frontmatter YAML semua Skill dimuat ke dalam prompt sistem
- File dibaca sesuai permintaan: Claude menggunakan alat Read bash untuk mengakses SKILL.md dan file lain dari filesystem saat diperlukan
- Skrip dieksekusi secara efisien: Skrip utilitas dapat dieksekusi melalui bash tanpa memuat konten lengkapnya ke dalam konteks. Hanya output skrip yang menggunakan token
- Tidak ada penalti konteks untuk file besar: File referensi, data, atau dokumentasi tidak menggunakan token konteks sampai benar-benar dibaca
- Jalur file penting: Claude menavigasi direktori skill Anda seperti filesystem. Gunakan garis miring ke depan (
reference/guide.md), bukan garis miring terbalik - Beri nama file secara deskriptif: Gunakan nama yang menunjukkan konten:
form_validation_rules.md, bukandoc2.md - Atur untuk penemuan: Struktur direktori menurut domain atau fitur
- Baik:
reference/finance.md,reference/sales.md - Buruk:
docs/file1.md,docs/file2.md
- Baik:
- Bundel sumber daya komprehensif: Sertakan dokumen API lengkap, contoh luas, dataset besar; tidak ada penalti konteks sampai diakses
- Lebih suka skrip untuk operasi deterministik: Tulis
validate_form.pydaripada meminta Claude menghasilkan kode validasi - Buat niat eksekusi jelas:
- “Jalankan
analyze_form.pyuntuk mengekstrak bidang” (jalankan) - “Lihat
analyze_form.pyuntuk algoritma ekstraksi” (baca sebagai referensi)
- “Jalankan
- Uji pola akses file: Verifikasi Claude dapat menavigasi struktur direktori Anda dengan menguji dengan permintaan nyata
reference/finance.md, dan memanggil bash untuk membaca hanya file itu. File sales.md dan product.md tetap di filesystem, menggunakan nol token konteks sampai diperlukan. Model berbasis filesystem ini adalah apa yang memungkinkan pengungkapan progresif. Claude dapat menavigasi dan secara selektif memuat tepat apa yang diperlukan setiap tugas.
Untuk detail lengkap tentang arsitektur teknis, lihat Cara kerja Skill dalam ringkasan Skill.
Referensi alat MCP
Jika Skill Anda menggunakan alat MCP (Model Context Protocol), selalu gunakan nama alat yang sepenuhnya memenuhi syarat untuk menghindari kesalahan “alat tidak ditemukan”. Format:ServerName:tool_name
Contoh:
BigQuerydanGitHubadalah nama server MCPbigquery_schemadancreate_issueadalah nama alat dalam server tersebut
Hindari menganggap alat diinstal
Jangan asumsikan paket tersedia:Catatan teknis
Persyaratan frontmatter YAML
Frontmatter SKILL.md memerlukan bidangname dan description dengan aturan validasi spesifik:
name: Maksimal 64 karakter, hanya huruf kecil/angka/tanda hubung, tidak ada tag XML, tidak ada kata-kata yang dicadangkandescription: Maksimal 1024 karakter, tidak kosong, tidak ada tag XML
Anggaran token
Jaga badan SKILL.md di bawah 500 baris untuk kinerja optimal. Jika konten Anda melebihi ini, pisahkan ke file terpisah menggunakan pola pengungkapan progresif yang dijelaskan sebelumnya. Untuk detail arsitektur, lihat ringkasan Skill.Daftar periksa untuk Skill yang efektif
Sebelum berbagi Skill, verifikasi:Kualitas inti
- Deskripsi spesifik dan mencakup istilah kunci
- Deskripsi mencakup apa yang dilakukan Skill dan kapan menggunakannya
- Badan SKILL.md di bawah 500 baris
- Detail tambahan dalam file terpisah (jika diperlukan)
- Tidak ada informasi sensitif waktu (atau di bagian “pola lama”)
- Terminologi konsisten di seluruh
- Contoh konkret, bukan abstrak
- Referensi file satu level dalam
- Pengungkapan progresif digunakan dengan tepat
- Alur kerja memiliki langkah-langkah yang jelas
Kode dan skrip
- Skrip menyelesaikan masalah daripada menghindarinya
- Penanganan kesalahan eksplisit dan membantu
- Tidak ada “konstanta sihir” (semua nilai dibenarkan)
- Paket yang diperlukan tercantum dalam instruksi dan diverifikasi tersedia
- Skrip memiliki dokumentasi yang jelas
- Tidak ada jalur gaya Windows (semua garis miring ke depan)
- Langkah validasi/verifikasi untuk operasi kritis
- Loop umpan balik disertakan untuk tugas yang penting kualitasnya
Pengujian
- Setidaknya tiga evaluasi dibuat
- Diuji dengan Haiku, Sonnet, dan Opus
- Diuji dengan skenario penggunaan nyata
- Umpan balik tim digabungkan (jika berlaku)