Singkatan
Keterampilan Kode Claude adalah kapabilitas kustom yang memperluas fungsionalitas Claude untuk alur kerja tertentu. Sistem Skill Creator mengotomatiskan pembuatan keterampilan melalui proses terstruktur: definisikan tujuan keterampilan Anda, susun berkas SKILL.md, buat kasus uji, jalankan evaluasi dengan tolok ukur kuantitatif, dan tingkatkan secara iteratif berdasarkan umpan balik.
Pengantar
Anda menggunakan Kode Claude setiap hari. Sering kali, Anda mengulangi urutan yang sama: menyiapkan struktur proyek, menjalankan perintah uji tertentu, memformat keluaran dengan cara tertentu. Alih-alih menjelaskan ulang alur kerja dari awal setiap kali, tangkap alur kerja itu sekali dan sediakan selamanya. Keterampilan Kode Claude memungkinkan Anda memperluas fungsionalitas Claude untuk alur kerja spesifik. Dengan Skill Creator, prosesnya otomatis dan sistematis.
Panduan ini membahas langkah-langkah implementasi, anatomi keterampilan, alur kerja pembuatan, sistem evaluasi, dan optimasi pemicuan. Contoh diambil dari repositori keterampilan resmi Anthropic.
💡 Jika Anda membangun keterampilan terkait API, Apidog terintegrasi secara alami. Uji endpoint API, validasi respons, dan hasilkan dokumentasi dalam satu alur kerja keterampilan.
Apa Itu Keterampilan Kode Claude?
Keterampilan Kode Claude adalah set instruksi khusus yang memperluas kapabilitas Claude untuk domain atau alur kerja tertentu. Keterampilan ini diimplementasikan sebagai plugin custom dalam berkas markdown.
Arsitektur Sistem Keterampilan
Keterampilan menggunakan sistem pemuatan tiga tingkat:
- Metadata (~100 kata) - Nama dan deskripsi (frontmatter YAML)
- Isi SKILL.md (<500 baris) - Instruksi inti, dimuat saat keterampilan dipicu
- Sumber daya terpaket (opsional) - Skrip, referensi, aset
skill-name/
├── SKILL.md (wajib)
│ ├── YAML frontmatter (nama, deskripsi)
│ └── Instruksi Markdown
└── Sumber Daya Terpaket (opsional)
├── scripts/ - Kode untuk tugas berulang
├── references/ - Dokumentasi tambahan
└── assets/ - Templat, ikon, font
Kapan Keterampilan Dipicu
Keterampilan muncul di daftar available_skills Claude. Claude memutuskan pemicu berdasarkan deskripsi. Hanya alur kerja kompleks yang tidak bisa ditangani langsung oleh Claude yang akan memicu keterampilan.
Contoh Nyata dari Repositori Anthropic
| Keterampilan | Tujuan | Fitur Utama |
|---|---|---|
| skill-creator | Membuat keterampilan baru | Pembuatan kasus uji, evaluasi tolok ukur, optimasi |
| mcp-builder | Membangun server MCP | Templat Python/Node, evaluasi, praktik terbaik |
| docx | Membuat dokumen Word | Skrip python-docx, templat, panduan gaya |
| Mengekstrak/manipulasi PDF | Penanganan formulir, ekstraksi teks, referensi | |
| frontend-design | Membuat antarmuka web | Komponen, pola Tailwind, pemeriksaan aksesibilitas |
Alur Kerja Pembuatan Keterampilan
Ikuti siklus ini untuk membangun keterampilan yang teruji dan andal:
- Tangkap tujuan - Definisikan kebutuhan keterampilan
- Tulis draf - Buat berkas SKILL.md
- Buat kasus uji - Definisikan prompt realistis
- Jalankan evaluasi - Uji dengan/ tanpa keterampilan
- Tinjau hasil - Umpan balik & metrik kuantitatif
- Iterasi - Tingkatkan berdasarkan temuan
- Optimalkan deskripsi - Maksimalkan akurasi pemicu
- Paket - Distribusikan sebagai file .skill
Langkah 1: Tangkap Tujuan
Pahami kebutuhan alur kerja yang ingin diotomasi. Tanyakan:
- Apa hasil yang diharapkan?
- Kapan keterampilan dipicu (frasa/konteks)?
- Apa format keluarannya?
- Apakah butuh kasus uji? (Objektif vs subjektif)
Contoh: Keterampilan Pengujian API
Tujuan: Membantu pengembang menguji API REST secara sistematis
Pemicu: Saat pengguna menyebutkan pengujian API, endpoint, REST, GraphQL, atau validasi respons
Keluaran: Laporan uji (lulus/gagal, perintah curl, perbandingan respons)
Kasus uji: Ya, keluarannya dapat diverifikasi
Langkah 2: Tulis Berkas SKILL.md
Buat SKILL.md dengan struktur berikut:
---
name: api-tester
description: Cara menguji API REST secara sistematis. Gunakan saat pengguna menyebutkan pengujian API, endpoint, REST, GraphQL, atau ingin memvalidasi respons API. Pastikan untuk menyarankan keterampilan ini kapan pun pengujian terlibat.
compatibility: Membutuhkan curl atau alat klien HTTP
---
# Keterampilan Penguji API
## Alur Kerja Inti
1. **Pahami endpoint** - Baca spesifikasi/ minta skema
2. **Rancang kasus uji** - Jalur sukses, kasus batas, error
3. **Jalankan uji** - Gunakan curl atau Apidog
4. **Validasi respons** - Cek kode status, header, struktur body
5. **Laporkan hasil** - Ringkas lulus/gagal
## Templat Kasus Uji
- Autentikasi valid & payload benar
- Autentikasi valid & field wajib hilang
- Autentikasi tidak valid (401)
- Pembatasan laju
- Waktu respons di bawah beban
## Format Keluaran
# Laporan Uji API
## Ringkasan
- Uji dijalankan: X
- Lulus: Y
- Gagal: Z
## Uji Gagal
### Nama Uji
**Diharapkan:** 200 OK
**Aktual:** 400 Bad Request
**Respons:** {...}
## Rekomendasi
...
Praktik terbaik:
- Jaga SKILL.md <500 baris, referensi detail di file lain.
- Jelaskan alasan setiap langkah, bukan hanya "harus".
- Gunakan bentuk imperatif: "Selalu validasi status code terlebih dahulu".
- Sertakan contoh input/output.
Langkah 3: Buat Kasus Uji
Buat 2-3 prompt uji realistis di evals/evals.json:
{
"skill_name": "api-tester",
"evals": [
{
"id": 1,
"prompt": "Uji endpoint /users di api.example.com - butuh token Bearer dan mengembalikan daftar user dengan id, nama, email",
"expected_output": "Laporan uji minimal 5 kasus uji, termasuk auth gagal, sukses, dan paginasi",
"files": []
},
{
"id": 2,
"prompt": "Periksa endpoint POST /orders menangani kuantitas tidak valid",
"expected_output": "Kasus uji untuk kuantitas negatif, nol, non-numerik dengan error yang sesuai",
"files": ["openapi.yaml"]
}
]
}
Prompt uji baik: spesifik, konkrit, punya URL, ekspektasi, dan konteks nyata.
Langkah 4: Jalankan Evaluasi
Untuk tiap kasus uji, jalankan dua kali: dengan dan tanpa keterampilan.
Struktur workspace:
api-tester-workspace/
├── iteration-1/
│ ├── eval-0-auth-failure/
│ │ ├── with_skill/outputs/
│ │ ├── without_skill/outputs/
│ │ └── eval_metadata.json
│ ├── benchmark.json
│ └── benchmark.md
├── iteration-2/
└── feedback.json
Eksekusi paralel:
# Dengan keterampilan
Jalankan tugas ini:
- Jalur keterampilan: /path/to/api-tester
- Tugas: Uji endpoint /users di api.example.com
- Simpan keluaran ke: api-tester-workspace/iteration-1/eval-0/with_skill/outputs/
# Tanpa keterampilan
Jalankan tugas ini:
- Jalur keterampilan: (none)
- Tugas: Uji endpoint /users di api.example.com
- Simpan keluaran ke: api-tester-workspace/iteration-1/eval-0/without_skill/outputs/
Data waktu:
{
"total_tokens": 84852,
"duration_ms": 23332,
"total_duration_seconds": 23.3
}
Langkah 5: Susun Pernyataan (Assertions)
Susun assertions objektif di eval_metadata.json untuk penilaian otomatis:
{
"assertions": [
{
"name": "includes_auth_failure_test",
"description": "Laporan uji mencakup kasus uji auth gagal",
"type": "contains",
"value": "401"
},
{
"name": "includes_success_test",
"description": "Laporan uji mencakup uji permintaan sukses",
"type": "contains",
"value": "200"
},
{
"name": "includes_curl_commands",
"description": "Setiap kasus uji menyertakan perintah curl",
"type": "regex",
"value": "curl -"
}
]
}
Langkah 6: Nilai dan Agregasi
Setelah eksekusi, jalankan subagen penilai untuk mengevaluasi assertions ke keluaran. Simpan hasil di grading.json.
{
"eval_id": 0,
"grading": [
{
"text": "includes_auth_failure_test",
"passed": true,
"evidence": "Ditemukan 401 di kasus uji"
}
]
}
Agregasi hasil dengan:
python -m scripts.aggregate_benchmark api-tester-workspace/iteration-1 --skill-name api-tester
Langkah 7: Luncurkan Penampil Evaluasi
Jalankan penampil evaluasi untuk review hasil:
nohup python /path/to/skill-creator/eval-viewer/generate_review.py \
api-tester-workspace/iteration-1 \
--skill-name "api-tester" \
--benchmark api-tester-workspace/iteration-1/benchmark.json \
> /dev/null 2>&1 &
VIEWER_PID=$!
Untuk iterasi berikutnya:
--previous-workspace api-tester-workspace/iteration-1
Jika tanpa browser, generate file HTML statis:
--static /path/to/output/review.html
Langkah 8: Baca Umpan Balik & Iterasi
Setelah review, baca feedback.json:
{
"reviews": [
{
"run_id": "eval-0-with_skill",
"feedback": "grafik tidak ada label sumbu"
}
],
"status": "complete"
}
Iterasi:
- Perbaiki keterampilan sesuai umpan balik
- Uji ulang di iterasi baru
- Review ulang hingga puas
Matikan penampil saat selesai:
kill $VIEWER_PID 2>/dev/null
Langkah 9: Optimalkan Deskripsi Keterampilan
Bagian deskripsi di frontmatter SKILL.md sangat penting. Optimasi dengan set kueri evaluasi (campur kasus yang harus/ tidak boleh memicu):
[
{
"query": "ok bos saya baru saja mengirimkan file xlsx ini...",
"should_trigger": true
},
{
"query": "Saya perlu membuat tabel pivot dari CSV ini...",
"should_trigger": false
}
]
Uji dan iterasi deskripsi:
python -m scripts.run_loop \
--eval-set /path/to/trigger-eval.json \
--skill-path /path/to/api-tester \
--model claude-sonnet-4-6 \
--max-iterations 5 \
--verbose
Update frontmatter dengan hasil deskripsi terbaik.
Langkah 10: Paket dan Distribusikan
Setelah iterasi selesai, paketkan keterampilan:
python -m scripts.package_skill /path/to/api-tester
Bagikan file .skill ke tim. Instalasi dengan menaruh file di direktori keterampilan atau gunakan perintah instal Claude Code.
Kesalahan Umum dalam Pembuatan Keterampilan
1. Deskripsi Tidak Jelas
# Buruk
description: Keterampilan untuk bekerja dengan API
# Baik
description: Cara menguji API REST secara sistematis. Gunakan saat pengguna menyebutkan pengujian API, endpoint, REST, GraphQL, atau ingin memvalidasi respons API. Pastikan untuk menyarankan keterampilan ini kapan pun pengujian terlibat.
2. Instruksi Terlalu Membatasi
# Buruk
SELALU gunakan format ini. JANGAN PERNAH menyimpang. HARUS menyertakan bagian-bagian ini.
# Baik
Gunakan format ini karena memastikan stakeholder mudah menemukan info. Jika audiens berbeda, sesuaikan struktur.
3. Melewatkan Kasus Uji
Selalu siapkan 2-3 kasus uji, bahkan untuk keterampilan subjektif.
4. Mengabaikan Data Waktu
Pastikan keterampilan tetap efisien.
5. Tidak Menggabungkan Skrip Berulang
Bundel skrip di scripts/ untuk menghindari pengulangan.
Contoh Keterampilan Dunia Nyata
Keterampilan Pembangun MCP
Struktur:
mcp-builder/
├── SKILL.md
├── reference/
│ ├── mcp_best_practices.md
│ ├── python_mcp_server.md
│ └── node_mcp_server.md
└── evaluation/
└── evaluation.md
Keterampilan Docx
- Skrip python-docx
- Sistem templat
- Panduan gaya
Alur kerja: pahami kebutuhan → pilih templat → hasilkan dokumen → validasi.
Keterampilan Desain Frontend
- Komponen siap pakai
- Pola Tailwind CSS
- Pemeriksaan aksesibilitas
SKILL.md berisi alur inti, dokumentasi komponen di references/.
Menguji Keterampilan Anda dengan Apidog
Jika membangun keterampilan API, Apidog dapat diintegrasikan:
Contoh: Integrasi Keterampilan Pengujian API
## Menjalankan Uji API
Gunakan Apidog untuk pengujian sistematis:
1. Impor spesifikasi OpenAPI ke Apidog
2. Hasilkan kasus uji dari spesifikasi
3. Jalankan uji & ekspor hasil JSON
4. Validasi respons terhadap skema
Untuk assertions kustom, gunakan fitur skrip Apidog.
Struktur:
api-tester/
├── SKILL.md
└── scripts/
├── run-apidog-tests.py
└── generate-report.py
Kesimpulan
Keterampilan Kode Claude memperluas kapabilitas Claude secara terstruktur:
- Tangkap tujuan - Definisikan kebutuhan
- Susun SKILL.md - Instruksi jelas, sertakan contoh
- Buat kasus uji - Prompt realistis
- Jalankan evaluasi - Uji paralel
- Tinjau hasil - Umpan balik & tolok ukur
- Iterasi - Tingkatkan berdasarkan data & feedback
- Optimalkan deskripsi - Maksimalkan pemicu
- Paket - Distribusi sebagai file .skill
FAQ
Berapa lama waktu yang dibutuhkan untuk membuat keterampilan?
Keterampilan sederhana: 15-30 menit. Keterampilan kompleks: 2-3 jam (termasuk iterasi).
Apakah saya perlu menulis kasus uji untuk setiap keterampilan?
Tidak. Keterampilan dengan keluaran objektif (kode, data) butuh kasus uji. Keterampilan subjektif cukup dievaluasi kualitatif.
Bagaimana jika keterampilan saya tidak dipicu secara andal?
Optimalkan deskripsi. Tambahkan frasa pemicu/konteks. Jalankan siklus optimasi deskripsi dengan 20 kueri evaluasi.
Bagaimana cara berbagi keterampilan dengan tim?
Paketkan dengan python -m scripts.package_skill <path>, bagikan file .skill, dan tim menaruh di direktori keterampilan.
Bisakah keterampilan memanggil API eksternal?
Ya. Bundel skrip untuk panggilan API, simpan kunci API di environment variable.
Batas ukuran berkas untuk keterampilan?
Tidak ada batas keras, tapi SKILL.md sebaiknya <500 baris. Referensi detail, skrip, dan aset dipisahkan.
Bagaimana cara memperbarui keterampilan yang sudah ada?
Salin ke lokasi yang dapat ditulis, edit, dan paket ulang. Gunakan nama asli.

Top comments (0)