Sat Jun 27 2026 20:00:00 GMT-0400 (Eastern Daylight Time)
Claude Code Skills: Fail SKILL.md yang Sebenarnya Dipanggil oleh Model
Claude Code Skills menggabungkan arahan, fail, dan skrip ke dalam SKILL.md yang dimuatkan oleh model mengikut permintaan. Saya menerangkan cara menulis, mencetuskan, dan berkongsi kemahiran ini.

Dikemas kini: June 28, 2026
Claude Code Skill ialah folder dengan fail SKILL.md yang agen akan tarik ke dalam konteks hanya apabila tugas sepadan dengannya. Saya mencipta kemahiran pertama saya untuk berhenti menampal senarai semak migrasi pangkalan data 200 perkataan yang sama ke setiap sesi. Fail itu kini menjimatkan saya kira-kira sejam seminggu.
Berikut adalah versi ringkas, diikuti dengan anatomi praktikalnya: apakah itu kemahiran, cara menulis frontmatter dan badan SKILL.md, bagaimana model memutuskan untuk memanggil kemahiran, dan bila sesebuah kemahiran terlalu berlebihan berbanding arahan biasa. Jika anda sudah menggunakan Claude Code, anda boleh melancarkan kemahiran pertama anda dalam masa kurang daripada lima minit.
Jawapan ringkas: apakah itu Claude Code Skill?
Satu kemahiran ialah kebolehan yang boleh digunakan semula dan dipanggil oleh model, disimpan sebagai SKILL.md (ditambah skrip sokongan pilihan). Tidak seperti system prompt yang sentiasa dimuatkan, kemahiran dimuatkan mengikut permintaan apabila model memutuskan ia relevan dengan permintaan anda. Anda menulis nama, penerangan tentang bila menggunakannya, dan arahan badan. Penerangan adalah medan yang paling penting kerana itulah yang dibaca oleh model untuk memutuskan sama ada untuk menggunakan kemahiran itu. Kemahiran wujud secara tempatan dalam .claude/skills/ atau dihantar dari pendaftar (registry), jadi pasukan boleh berkongsi satu cara kanonik untuk melakukan migrasi, semakan kod, atau pengeluaran.
Jika anda mahukan konteks yang lebih luas mengenai CLI itu sendiri, lihat Claude Code ultimate guide for 2026. Untuk mengetahui bagaimana kemahiran berbeza daripada sub-agents yang sentiasa aktif, baca how I automated my workflow with Claude Code sub-agents.
Apa sebenarnya kemahiran itu, dan daripada apa ia diperbuat?
Kemahiran ialah direktori. Minimum yang diperlukan hanyalah fail SKILL.md. Secara pilihan, ia boleh membungkus skrip, templat, atau dokumen rujukan yang disertakan dengan kemahiran itu. Dokumentasi agent-skills Anthropic menerangkan kemahiran sebagai set arahan dan sumber berbungkus yang boleh dimuatkan oleh model apabila relevan (docs.anthropic.com/en/docs/agents-and-tools/agent-skills).
Saya menganggap kemahiran sebagai subrutin berversi dan bernama untuk model itu. Tiga perkara yang membezakannya daripada prompt panjang adalah:
- Ia adalah opt-in. Model hanya memuatkannya apabila tugas itu kelihatan sepadan dengan penerangan tersebut.
- Ia adalah scoped. Anda boleh melampirkan fail dan skrip yang hanya masuk akal untuk keupayaan itu.
- Ia adalah shareable. Folder itu boleh dibawa merentasi projek dan rakan sepasukan.
CLI itu sendiri adalah sumber terbuka dan konvensyen kemahiran didokumentasikan di sampingnya pada GitHub (github.com/anthropics/claude-code), iaitu tempat saya menyemak apabila tingkah laku berubah antara versi keluaran.
Bagaimana anda menyusun fail SKILL.md?
Fail ini mempunyai dua bahagian: YAML frontmatter dan badan Markdown. Frontmatter memberitahu model bila untuk berjalan; badan pula memberitahu apa yang perlu dilakukan. Berikut adalah anatomi yang saya gunakan.
---
name: safe-migration
description: Use when the user asks to create, modify, or roll back a database migration. Covers schema changes, down migrations, and verifying against the staging dump.
---
Badan ini adalah Markdown biasa. Saya mengekalkan tiga bahagian: matlamat satu baris, prosedur bernombor, dan gerbang "henti dan sahkan" yang eksplisit. Nama mesti sepadan dengan nama folder. Penerangan itu harus ditulis untuk model, bukan untuk manusia, jadi ia membaca seperti syarat pencetus (trigger condition).
Saya menguji ini secara langsung. Dengan penerangan yang samar-samar seperti "membantu dengan pangkalan data," kemahiran itu terpicu pada soalan SQL yang tidak berkaitan. Selepas saya menulis semula kepada "Use when the user asks to create, modify, or roll back a database migration," ketepatan pemanggilan meningkat daripada kira-kira 60 peratus kepada boleh dipercayai. Penerangan itu yang melakukan penghalaan (routing), jadi luangkan masa penyuntingan anda di sana.

Bilakah Patut Menjadikan Sesuatu Sebagai Kemahiran?
Ini adalah soalan yang paling kerap saya terima. Peraturan saya: jika saya telah menampal blok arahan yang sama tiga kali dalam tempoh dua minggu, dan ia lebih panjang daripada perenggan, maka ia menjadi kemahiran. Di bawah ialah matriks keputusan yang sebenarnya saya gunakan.
| Isyarat | Jadikan sebagai kemahiran | Kekalkan sebagai arahan (prompt) |
|---|---|---|
| Digunakan 3+ kali baru-baru ini | Ya | Tidak |
| Memerlukan skrip atau templat lampiran | Ya | Tidak |
| Dikongsi merentasi pasukan | Ya | Tidak |
| Sekali sahaja, di bawah perenggan | Tidak | Ya |
| Trivial, langkah tunggal | Tidak | Ya |
| Berubah setiap masa | Tidak | Ya |
Paksi kedua ialah kos. Setiap kemahiran yang dimuatkan menambah token kepada konteks, jadi blok arahan yang besar dan sentiasa relevan lebih baik sebagai ingatan peringkat projek atau perintah tersuai berbanding sebagai kemahiran. Kemahiran bersinar untuk kepakaran yang relevan secara bersyarat.
Kes konkrit di mana saya menulis kemahiran: proses keluaran kami memerlukan mengemas kini log perubahan (changelog), menaikkan tiga fail versi, menandakan (tagging), dan menghantar ringkasan ke Slack. Saya menuliskannya sekali sebagai kemahiran, dan sekarang saya hanya berkata "cut a release" dan model menjalankan keseluruhan senarai semak itu mengikut urutan. Kes konkrit di mana saya tidak melakukannya: refactor satu kali pada fail konfigurasi. Itu kekal sebagai arahan (prompt).
Bagaimana pola kemahiran yang dipanggil oleh model berfungsi?
Pola yang membuatkan kemahiran terasa ajaib ialah anda tidak memanggilnya. Anda hanya menghuraikan tugas tersebut, dan model akan membaca deskripsi kemahiran yang tersedia serta mengambil kemahiran yang sepadan. Ini didokumentasikan dalam dokumentasi resmi Claude Code (docs.anthropic.com/en/docs/claude-code).
Alirannya kelihatan seperti ini:
- Anda menaip permintaan dalam bahasa semula jadi.
- Model melihat
namedandescriptionbagi setiap kemahiran yang dipasang. - Ia menilai kerelevanan terhadap permintaan anda.
- Badan (dan fail berpasangan) kemahiran yang menang dimasukkan ke dalam konteks.
- Model melaksanakan arahan tersebut.
Kesan praktikalnya: anda mesti menulis description seolah-olah anda sedang menulis entri enjin carian untuk model itu. Mulakan dengan kata kerja dan skop pencetus (trigger scope). Bandingkan dua deskripsi ini:
- Lemah: "Kemahiran untuk mengendalikan perkara git."
- Kuat: "Gunakan apabila pengguna meminta untuk squash, rebase, atau membahagikan komit pada cawangan semasa. Menghasilkan rancangan interaktif sebelum menjalankan sebarang penulisan semula."
Yang kuat menamakan kata kerja pencetus dan kawalan keselamatan (guardrail). Itulah yang menjadikan pemanggilan itu boleh dipercayai. Jika anda menyambungkan kemahiran menggunakan alat, panduan integrasi Claude Code MCP merangkumi bagaimana pelayan alat luaran sesuai bersama bundel kemahiran. Untuk protokol asas yang menghubungkannya, sila lihat MCP dan konteks model.

Bagaimana anda mencetuskan dan menyahpepijat kemahiran?
Pencetusan kebanyakannya automatik, tetapi saya mempunyai tiga teknik sengaja untuk kawalan dan penyahpepijatan.
- Jadilah eksplisit. Mengatakan "gunakan kemahiran safe-migration" memaksa ia. Berguna apabila deskripsi adalah kabur.
- Senaraikan kemahiran yang dipasang. Minta model untuk menyenaraikan kemahiran dan deskripsi mereka yang tersedia. Beginilah cara saya mengesahkan bahawa kemahiran baharu telah didaftarkan.
- Periksa jejak (trace). Apabila kemahiran beroperasi secara salah, saya membaca deskripsi mana yang sepadan dan mengetatkan kata-kata pencetus.
Apabila kemahiran tidak beroperasi (fire), puncanya hampir selalu adalah deskripsi, bukan lokasi fail. Saya menulis semula ayat pertama untuk bermula dengan "Gunakan apabila..." dan menambah kata kerja spesifik. Itu membetulkannya sembilan daripada sepuluh kali.
Berikut adalah senarai semak penyahpepijatan yang saya jalankan, mengikut urutan:
| Simptom | Punca mungkin | Pembetulan |
|---|---|---|
| Kemahiran tidak pernah beroperasi | Deskripsi terlalu kabur | Tambah kata kerja pencetus |
| Kemahiran beroperasi terlalu kerap | Deskripsi terlalu luas | Sempitkan klausa skop |
| Badan kemahiran diabaikan | Badan terlalu panjang atau tidak jelas | Potong kepada langkah bernombor |
| Kemahiran salah dipilih | Dua kemahiran bertindih | Samakan deskripsi |
| Fail tidak ditemui | Susun atur folder yang salah | Padankan name dengan folder |
Skill berbanding sub-agent berbanding slash command
Ketiga-tiga ini bertindih, dan orang sering keliru mengenainya. Saya menyusunnya dengan pembahagian yang ringkas.
- Skill: model-invoked instructions ditambah fail pilihan. Terbaik untuk kepakaran bersyarat.
- Sub-agent: satu instans Claude Code berasingan yang melakukan kerja terpencil. Terbaik untuk tugas selari, jangka panjang. Penulisan saya mengenai sub-agent automation write-up mendalami perkara ini.
- Slash command: pintasan yang anda taip secara sengaja. Terbaik untuk perkara yang sentiasa anda mahukan atas permintaan.
Skills adalah satu-satunya daripada ketiga-tiga yang dipilih oleh model untuk anda. Itulah kuasa super dan risikonya: skill yang diterangkan dengan salah akan membazirkan konteks secara senyap.
Bagaimana anda berkongsi kemahiran dan menggunakan pendaftar?
Satu kemahiran hanyalah folder, jadi perkongsian adalah mudah secara prinsip. Saya letakkan folder itu di bawah .claude/skills/ dalam repo dan lakukan commit. Rakan sepasukan akan mendapatkannya apabila melakukan clone. Untuk perkongsian merentasi pasukan, komuniti mengekalkan pendaftar (registries) dan alat rasmi menunjuk ke lokasi umum.
Persediaan praktikal saya:
- Simpan kemahiran khusus projek dalam repo, dikawal versi.
- Simpan kemahiran peribadi dalam repo dotfiles yang dihubungkan (symlinked) ke
.claude/skills/. - Tetapkan versi kemahiran apabila berkongsi secara luaran, kerana perubahan deskripsi boleh mengubah tingkah laku secara senyap.
Amaran jujur mengenai perkongsian: satu kemahiran mengandungi andaian tentang tumpukan teknologi (stack) anda. Kemahiran migrasi yang ditulis untuk Drizzle akan menghasilkan output yang salah dengan yakin dalam projek Prisma jika deskripsinya tidak melindungi skop. Sentiasa nyatakan rangka kerja (framework) dan kawalan keselamatan (guardrails) dalam deskripsi, dan tambahkan langkah "henti dan sahkan" sebelum tindakan memusnahkan. Saya belajar ini melalui cara yang sukar apabila satu kemahiran yang dikongsi menjalankan penulisan semula pemusnahan pada cawangan yang salah, jadi anggap setiap kemahiran yang dikongsi sebagai tidak dipercayai sehingga deskripsinya membuktikan sebaliknya.

Kredit Imej
- Skrin hitam dengan teks kod di atas stesen kerja pembangun — foto oleh Pixabay di Pexels
- Pandangan dekat kod pengaturcaraan pada monitor semasa pembangunan — foto oleh Christina Morillo di Pexels
- Laptop menunjukkan penyunting kod semasa pembangunan perisian — foto oleh luis gomes di Pexels
Gunakan alat percuma kami semasa mengikuti panduan ini.
Teruskan membaca

Wed Mar 25 2026 20:00:00 GMT-0400 (Eastern Daylight Time)
Pengubah Saiz Imej Pukal: Ubah Saiz Ratusan Imej Sekeligus (Percuma)
Ubah saiz ratusan imej secara pukal dan percuma menggunakan alat pelayar, ImageMagick, XnConvert, atau skrip Python. Nikmati penjimatan bait sebenar dan aliran kerja kelompok yang selamat.

Wed Mar 18 2026 20:00:00 GMT-0400 (Eastern Daylight Time)
Penukar WebP: Cara Tukar Imej ke WebP (Dengan Saiz Sebenar)
Tukar imej JPEG dan PNG kepada format WebP untuk fail web yang lebih kecil. Kami menyediakan saiz sebenar, arahan cwebp, kaedah Python & pelayar, serta strategi sandaran (fallback) JPEG/PNG.

Wed Mar 11 2026 20:00:00 GMT-0400 (Eastern Daylight Time)
Real-ESRGAN AI Upscaling: Cara Ia Berfungsi dan Bila Menggunakannya
Apa itu Real-ESRGAN, bagaimana resolusi super berasaskan GAN berfungsi, apa kelebihannya (upscaling 4x foto dan seni), dan di mana ia gagal, disertakan arahan dan had yang jujur.