Lewati ke konten
28/30Bab 28 dari 30

Agent Skills dan SKILL.md: Progressive Disclosure yang Terukur

Lima skill berisi 128.374 token instruksi hanya memakai 253 token context. Pangkas deskripsinya, agent berhenti menemukannya.

Di halaman ini

Ambil satu proyek dengan lima skill yang sudah dipublikasikan terpasang di dalamnya. Inilah biayanya.

terminalBASH
ls .claude/skills/
TEXT
next-best-practices  next-cache-components  vercel-composition-patterns
vercel-react-best-practices  vercel-react-native-skills
o200k_base tokens, measuredTEXT
skill                              level 1   level 2    level 3   files
next-best-practices                     40       966     19,374      19
next-cache-components                   28     2,334          0       0
vercel-composition-patterns             59       533     10,667      13
vercel-react-best-practices             68     1,670     53,670      75
vercel-react-native-skills              58       950     37,957      41
                                    ------   -------   --------
total                                  253     6,453    121,668

Seratus dua puluh delapan ribu token instruksi, contoh, dan aturan — lebih banyak daripada yang muat dalam context window 128.000-token — dan biaya tetap untuk membuat kelimanya tersedia adalah 253 token, dua persepuluh dari satu persen. Tidak ada hal lain dalam kursus ini yang bentuknya seperti itu. Definisi tool dibayar pada setiap request, dipakai ataupun tidak, dan Bab 26 mengukur satu MCP server pada 1.619 token sebelum ia melakukan apa pun: tiga puluh dua kali rata-rata baris level-1 pada tabel di atas.

Bab ini membahas mekanisme yang menghasilkan rasio itu, dua cara mekanisme itu rusak, dan pertanyaan yang dipaksakan mekanisme tersebut tetapi hampir tidak pernah dijawab siapa pun: untuk sebuah potongan pengetahuan, dari empat tempat yang ada, di mana seharusnya ia berada.

Mengapa bab ini tidak punya bahasa pemrograman

Tautan ke bagian: Mengapa bab ini tidak punya bahasa pemrograman

Bab 14 menetapkan aturan untuk paruh kedua kursus ini — koneksi, retry, dan pembatalan adalah TypeScript — lalu menyatakan lima pengecualian. Ini salah satunya, dan alasannya bukan preferensi.

Skill adalah file Markdown. Bukan file yang mengonfigurasi program, bukan file yang dikompilasi program: dokumen yang dibaca model, dengan cara yang sama seperti ia membaca pesan yang kamu ketik. Memberi bab ini bahasa pemrograman berarti tidak memahami formatnya, dan kesalahpahaman itu adalah yang paling umum tentang skill. Semua di bawah ini adalah Markdown dan YAML, plus satu shell script kecil yang ada justru untuk menunjukkan di mana code seharusnya dan tidak seharusnya berada di dalam skill.

Tagihan yang diselesaikannya, dan ini aritmetika Bab 16

Tautan ke bagian: Tagihan yang diselesaikannya, dan ini aritmetika Bab 16

Ini instruksi nyata: bagaimana satu perusahaan menulis release notes. Ini prosedur, bukan preferensi — ia punya urutan langkah, taksonomi, voice, template, dan script yang mengumpulkan bahan mentahnya.

Masukkan semuanya ke system prompt, seperti yang dilakukan sebagian besar tim, dan aritmetika Bab 16 mengambil alih. System prompt adalah prefix, dan prefix dibayar pada setiap call. Diukur dengan o200k_base atas folder yang ditulis untuk bab ini:

the same instruction, two ways, 40 turnsTEXT
whole thing pasted into the system prompt   1,716 x 40  =  68,640 input tokens   $0.1373
as a skill, activated once on turn 12          46 x 40
                                            + 324 (SKILL.md body)
                                            + 665 (two reference files read)
                                                        =   2,829 input tokens   $0.0057
as a skill, never activated at all             46 x 40  =   1,840 input tokens   $0.0037

Dua puluh empat kali lebih murah saat digunakan, tiga puluh tujuh kali lebih murah saat tidak digunakan. Tarifnya adalah tarif Bab 16: $2,00 per juta input token.

Sekarang keberatan yang jujur, karena bab yang melewatkannya akan menjadi iklan. Prompt caching hampir menutup celah biaya. System prompt stabil dan berada di awal, yang menjadikannya kandidat cache terbaik yang ada; pada $0,20 per juta untuk input yang di-cache, 68.640 token yang sama berbiaya $0,0168 alih-alih $0,1373. Masih tiga kali lipat skill, tetapi tidak lagi berbeda satu orde magnitudo.

Uang tidak pernah menjadi argumen terkuat. Ini argumennya:

Caching membuat prefix permanen lebih murah. Ia tidak membuatnya lebih kecil.

Pada turn 40, versi system-prompt masih memiliki 1.716 token kebijakan release-note yang duduk di window selama percakapan tentang hal lain sepenuhnya, bersaing memperebutkan apa yang Bab 24 sebut sebagai attention budget model. Versi skill memiliki 46. Cache hal yang salah, dan yang kamu beli adalah diskon untuk distraksi.

Ditulis sebagai formula, dengan nn turn, L1L_1 metadata, L2L_2 body, L3L_3 seluruh bundle, dan RR himpunan file bundle yang benar-benar dibaca:

system prompt=n(L1+L2+L3)skill=nL1+1[used](L2+iRL3(i))\text{system prompt} = n\,(L_1 + L_2 + L_3) \qquad \text{skill} = n\,L_1 + \mathbb{1}[\text{used}]\left(L_2 + \sum_{i \in R} L_3^{(i)}\right)

Seluruh bab ini adalah perbedaan antara mengalikan term kedua dengan nn dan mengalikannya dengan satu atau dengan nol.

Skill adalah directory. Spesifikasinya cukup singkat untuk dinyatakan lengkap:

the whole formatTEXT
release-notes/
├── SKILL.md          # required: YAML frontmatter + Markdown instructions
├── scripts/          # optional: executable code
├── references/       # optional: documentation read on demand
├── assets/           # optional: templates, schemas, examples
└── ...               # anything else you like

SKILL.md harus diawali dengan YAML frontmatter, dan tepat dua field wajib ada: name dan description.1 Empat lainnya opsional dan tidak ada field lain yang didefinisikan:

FieldWajibBatasan
nameya1–64 karakter, huruf kecil, digit, dan tanda hubung; tidak boleh diawali, diakhiri, atau memiliki tanda hubung ganda; harus cocok dengan nama directory
descriptionya1–1024 karakter, tidak kosong; mengatakan apa yang dilakukan skill dan kapan menggunakannya
licensetidaknama lisensi, atau nama file lisensi yang dibundel
compatibilitytidakhingga 500 karakter: produk yang dituju, package yang dibutuhkan, akses jaringan
metadatatidakmap bebas dari key string ke value string, untuk tooling kamu sendiri
allowed-toolstidakdaftar tool yang sudah disetujui sebelumnya, dipisahkan spasi; ditandai eksperimental

Inilah skill release-notes, lengkap, dengan body di bawah tiga puluh baris:

release-notes/SKILL.mdMARKDOWN
---
name: release-notes
description: Write the release notes for a tagged version in this company's house style. Use when preparing a release, drafting a changelog entry, or when someone asks for the notes for a version number or a tag.
allowed-tools: Bash(git log:*) Bash(git tag:*) Read
---

# Release notes

## Procedure

1. Run `scripts/collect.sh <previous-tag> <new-tag>`. It prints one line per merged
   pull request: number, title, author and the labels.
2. Drop every line whose labels contain `internal`, `ci` or `chore`.
3. Put each surviving line into exactly one of the four categories in
   [references/categories.md](references/categories.md). A change that seems to fit two
   belongs in the higher one; the order in that file is the order of precedence.
4. Rewrite each line as a sentence in the voice defined in
   [references/voice.md](references/voice.md). The pull request title is a note to
   the team; the release note is a note to a stranger.
5. Check the result against [references/examples.md](references/examples.md).

## The one rule that is not negotiable

Every note says what a person can now do, or what stopped happening to them. If a
sentence can only be understood by someone who has read the diff, it is not finished.

Baca apa isi body itu. Ia bukan kebijakan — ia adalah daftar isi dengan urutan operasi. Kebijakannya berada di tiga file yang ia sebutkan dan tidak ia sertakan. Dan langkah pertama menyerahkan pekerjaan ke script, karena code sebuah script tidak pernah masuk ke context window sama sekali: hanya output-nya yang masuk.2

Model loading ini punya nama dan tiga tahap. Spesifikasi menyatakannya dengan token budget yang terlampir:1

  1. Metadata, sekitar 100 token: name dan description, dimuat saat startup untuk setiap skill yang terpasang.
  2. Instructions, direkomendasikan di bawah 5.000 token: body SKILL.md, dimuat saat skill diaktifkan.
  3. Resources, sesuai kebutuhan: file yang dibundel, dimuat hanya saat sesuatu membutuhkannya.

Dokumentasi referensi menambahkan kolom keempat pada tabel yang sama — kapan dimuat, biaya token, konten — dan baris yang penting adalah yang ketiga: tidak ada sampai diakses.3 Kalimat yang merangkum seluruh bab juga ada di sana:

File tidak mengonsumsi context sampai diakses, sehingga Skills dapat menyertakan dokumentasi API yang komprehensif, dataset besar, atau contoh yang luas. Tidak ada penalti context untuk konten bundle yang tidak digunakan.3

Tabel terukur di awal bab ini adalah klaim itu yang dicek terhadap lima skill yang tidak ditulis siapa pun untuk artikel ini. Dua baris layak dibaca saling berhadapan.

next-best-practices memiliki body 966-token yang menautkan ke sembilan belas file berisi 19.374 token. Minta ia memperbaiki hydration error dan agent membaca body plus hydration-error.md: 1.409 token dari 20.340, faktor empat belas, dan delapan belas file lainnya tidak pernah dibuka.

next-cache-components memiliki body 2.334-token dan tidak ada file bundle sama sekali. Itu skill yang valid dan ditulis dengan baik, dan ia tidak punya level 3 untuk diungkap. Itulah batas jujur teknik ini: progressive disclosure hanya menghemat jika ada sesuatu yang bisa ditunda. Skill yang pengetahuannya tidak terurai membayar seluruh body saat aktivasi, dan satu-satunya tuas yang tersisa adalah tidak mengaktifkannya.

Merusaknya: description adalah seluruh interface

Tautan ke bagian: Merusaknya: description adalah seluruh interface

Level 1 adalah keputusan routing yang dibuat dari satu kalimat. Tidak ada hal lain tentang skill yang memengaruhi apakah ia pernah dibuka — bukan kualitas body, bukan contoh, bukan script. Jadi description bukan dokumentasi. Ia adalah query surface, dan ia bisa salah.

Spesifikasi mengatakannya lewat contoh yang baik dan contoh yang buruk, dan contoh buruk itu empat kata: description: Helps with PDFs.1 Itu layak diukur, bukan sekadar diterima.

Enam skill, masing-masing dengan description yang masuk akal yang mengatakan apa yang dilakukannya dan kapan menggunakannya. Dua puluh empat request, empat per skill, dirumuskan seperti cara seseorang akan merumuskannya dan tidak pernah menyebut nama skill. Model melihat enam baris di system prompt-nya dan harus menjawab dengan satu nama atau dengan NONE. Greedy decoding, jadi ia mereproduksi. Lalu dua puluh empat request yang sama dengan enam skill yang sama, dan description dipangkas menjadi subjek polosnya.

the two system promptsTEXT
rich   - sql-review: Review a SQL migration for locks, missing indexes and unsafe
         defaults before it runs on the production database. Use when someone adds
         or changes a migration, an index, or a table column.
thin   - sql-review: Helps with SQL.
24 requests, Qwen2.5-0.5B-Instruct, greedy decodingTEXT
rich   295 tokens of level 1 for six skills   18/24 correct = 75.0 %  [55.1, 88.0]
thin    81 tokens of level 1 for six skills   10/24 correct = 41.7 %  [24.5, 61.2]

paired: rich only 9, thin only 1, two-sided sign test p = 0.0215
answered NONE: rich 1 of 24, thin 9 of 24

Baca intervalnya dulu, seperti yang ditekankan Bab 4 dan akan ditekankan lagi oleh Bab 29: interval itu overlap, dan dua puluh empat kasus tidak dapat memberi peringkat dua sistem hanya dari agregatnya. Perbandingan berpasangan adalah yang menyelesaikannya, dan itu instrumen Bab 15: dari sepuluh kasus ketika kedua arm berbeda pendapat, sembilan berpihak pada description yang kaya dan satu pada yang tipis. Itu terbukti pada threshold yang biasa.

Sekarang baca baris terakhir, yang merupakan temuan sebenarnya. Dengan description tipis, model menjawab NONE pada sembilan dari dua puluh empat request. Bukan skill yang salah: tidak ada skill. Ini empat di antaranya, verbatim:

TEXT
"Check this migration before I run it against production."     -> release-notes
"Will this CREATE INDEX lock writes?"                          -> NONE
"Is this ALTER TABLE safe to deploy at peak traffic?"          -> NONE
"Is 'seamless and powerful' allowed in the app store listing?" -> next-best-practices

Skill sql-review yang sempurna sudah terpasang, dengan body dan contoh serta checklist, dan ia tidak pernah dibuka, tiga kali berturut-turut, pada tiga pertanyaan yang memang ia tulis untuk jawab. Level 2 dan 3 tidak relevan bagi skill yang tidak pernah dicapai level 1.

Biaya untuk memperbaikinya: 214 token, selisih antara 295 dan 81, tersebar di enam skill. Ini adalah temuan Bab 18 yang datang dari sisi lain. Di sana, mengubah hanya description sebuah tool membawa pemformatan tanggal dari 2 benar dari 24 menjadi 24 dari 24. Di sini, mengubah hanya description sebuah skill membawa aktivasi dari 10 dari 24 menjadi 18. Dalam kedua kasus, perbaikan termurah dalam sistem adalah satu kalimat, dan dalam kedua kasus kalimat itu harus menyebut trigger dan bukan hanya subjek: bukan apa bendanya, melainkan apa yang baru saja dikatakan user saat ia berlaku.

Satu caveat yang harus dibayar bab ini kepada standarnya sendiri. Ini model setengah miliar parameter, dan frontier model melakukan routing jauh lebih baik daripada 75 %. Baca mekanismenya, bukan magnitudonya: sinyal routing hanya sepanjang satu kalimat model apa pun yang membacanya, dan tidak ada model yang bisa memilih berdasarkan informasi yang tidak kamu masukkan ke kalimat itu.

Merusaknya lagi: escape hatch yang berbiaya 26.362 token

Tautan ke bagian: Merusaknya lagi: escape hatch yang berbiaya 26.362 token

Kegagalan kedua adalah kebalikan dari yang pertama. Skill ditemukan, level-levelnya dipisahkan dengan benar, lalu agent tetap membaca semuanya.

vercel-react-best-practices adalah skill yang benar-benar dibangun dengan baik. Body 1.670-token miliknya adalah tabel prioritas delapan kategori dan quick reference yang menyebut 70 file aturan, satu baris masing-masing. Aturannya ada di disk di sebelahnya: 70 file, yang terkecil 132 token, median 319, terbesar 1.052. Ajukan satu pertanyaan tentang barrel imports dan biaya yang jujur adalah body plus satu file — di bawah 2.400 token dibanding bundle 53.670.

Lalu baris terakhir body mengatakan ini:

the final section of SKILL.mdTEXT
## Full Compiled Document

For the complete guide with all rules expanded: `AGENTS.md`

AGENTS.md adalah 26.362 token. Itu adalah 70 file aturan yang digabungkan: jumlahnya 25.784, dan selisihnya adalah heading di antaranya. Jadi skill menawarkan agent pilihan antara membaca satu aturan median seharga 319 token dan membaca konten yang sama, semuanya, dengan harga delapan puluh tiga kali lipat — dan ia menawarkan pilihan itu dalam kalimat tanpa biaya yang terlampir dan tanpa kondisi kapan sebaiknya mengambilnya.

Itu bukan bug dan filenya tidak salah; dokumen terkompilasi benar-benar berguna bagi manusia, dan bagi agent yang diminta mengaudit seluruh codebase. Itu adalah file level-3 dengan undangan level-2, dan pelajarannya berlaku lebih luas dari satu skill ini: setiap path keluar dari SKILL.md harus mengatakan berapa biayanya dan kapan ia layak, karena model tidak punya cara untuk tahu bahwa sebuah filename delapan puluh tiga kali lebih mahal daripada filename di atasnya.

Folder yang sama membawa pelajaran lebih kecil tentang kebasian. Body mengatakan “70 rules across 8 categories” dan mencantumkan 70; directory rules/ berisi 72 file, dua di antaranya scaffolding (_template.md dan _sections.md); dan sidecar metadata.json mengatakan “40+ rules”. Tiga hitungan atas himpunan yang sama dalam satu folder, satu benar, satu aritmetis, dan satu tertinggal dari versi sebelumnya. Skill adalah dokumen, dan dokumen membusuk persis seperti komentar kode yang sudah drift menjauh dari kode di sampingnya — bedanya, yang ini dibaca mesin yang tidak akan mengangkat alis.

Field yang ditambahkan reference implementation, dan jebakan portabilitas

Tautan ke bagian: Field yang ditambahkan reference implementation, dan jebakan portabilitas

Spesifikasi terbuka mendefinisikan enam field frontmatter. Reference implementation, Claude Code, menerima dua puluh.2 Lima kelompok layak diketahui namanya, karena di sanalah format berhenti menjadi hanya dokumen:

Permission dan invocation. allowed-tools menyetujui tool sebelumnya untuk turn yang memanggil skill dan grant tersebut bersih pada pesan berikutnya; disallowed-tools menghapusnya. disable-model-invocation menghentikan model dari memuatnya sendiri, yang mengubah skill menjadi command yang dijalankan seseorang. user-invocable: false melakukan kebalikannya: tersembunyi dari manusia, tersedia hanya untuk model, untuk pengetahuan latar belakang.

Isolation dan biaya. context: fork menjalankan skill dalam context sub-agent terpisah dengan window-nya sendiri — boundary sub-agent Bab 25 sebagai satu baris YAML — dengan agent memilih jenisnya dan background memutuskan apakah turn menunggu. model dan effort mengubah model mana yang berjalan saat skill aktif, hanya untuk turn itu.

Arguments (arguments, argument-hint) memungkinkan seseorang meneruskan value yang disubstitusikan ke body, yang membuat skill dapat digunakan sebagai slash command. Scoping (paths) membatasi aktivasi ke file yang cocok dengan glob. Dan dynamic context injection adalah yang mengubah model mental: baris berbentuk !`git diff HEAD` berjalan sebelum body dikirim, dan output-nya disubstitusikan ke teks. Dokumen adalah template, dan sebagian darinya dihitung saat dibaca.

Sekarang jebakannya, dan ia dinyatakan di dokumentasi yang sama: di luar Claude Code — pada produk web, melalui Skills API, dalam packaging — hanya enam field yang dispesifikasikan yang diizinkan, dan field lain apa pun adalah hard error saat upload.2 Jadi skill yang bekerja sempurna di satu produk gagal dipasang di produk lain milik vendor yang sama, dan ia gagal di frontmatter, bukan pada sesuatu yang bisa kamu uji dengan membaca prosanya. Jika kamu ingin skill portabel, enam field adalah seluruh budget. Jika tidak, katakan itu di compatibility, yang memang ada persis untuk ini.

Empat hal terus-menerus tertukar satu sama lain, dan kekacauan ini bukan pedanteri kosakata: memilih salah akan membebanimu uang pada setiap turn, atau menghilangkan guarantee yang kamu kira kamu punya.

System promptSkillToolMCP server
Apa ituteks di setiap requestfolder yang root-nya adalah SKILL.mdJSON Schema plus endpoint di code kamuprocess atau service yang berbicara dengan protocol
Apa yang model lakukanmembacanya, selalumembacanya, saat ia memutuskan description cocokmemanggilnya, dan menunggu hasilmumemanggilnya, melalui host, satu client per server
Berapa biayanyapanjang penuhnya, setiap turn, selamanyasekitar 50 token per turn; body sekali, jika digunakanschema-nya, setiap turn; eksekusi saat dipanggilsetiap schema plus instructions server, setiap turn
Apa yang bisa dijamintidak ada — ini sarantidak ada — ini saran yang dapat dilewati modelsemua yang code kamu tegakkan sebelum bertindaksemua yang ditegakkan server
Siapa yang menulisnyakamukamu, rekan kerja, atau vendorkamuorang lain, untuk banyak host
Bab15yang ini1826 dan 27

Dua baris yang dicetak tebal adalah seluruh pembedanya. Skill dibaca; tool di-invoke. Skill adalah prosa yang masuk ke context window dan bersaing memperebutkan attention dengan semua hal lain di sana; model bisa mengikutinya, salah membacanya, atau mengabaikannya, dan tidak ada bagian sistem yang menyadari. Tool adalah call yang keluar sepenuhnya dari tangan model: code kamu menerima argument, memvalidasinya, memeriksa permission, dan memutuskan. Bab 18 menyatakannya sebagai model yang mengusulkan dan code kamu yang menentukan, dan pembagian itu persis yang tidak dimiliki skill.

Jadi enam kasus nyata, diselesaikan:

“Jawab dalam bahasa user. Jangan pernah menyatakan harga yang belum diberikan kepadamu.”

Tautan ke bagian: “Jawab dalam bahasa user. Jangan pernah menyatakan harga yang belum diberikan kepadamu.”

System prompt. Ini berlaku pada setiap turn, ini constraint dan bukan prosedur, dan panjangnya dua kalimat. Sesuatu yang selalu berlaku tidak punya apa pun untuk diungkap secara progresif, dan membayar discovery line pada setiap turn demi menghindari membayar dua kalimat pada setiap turn bukanlah penghematan.

“Cara kami menulis release notes di sini.”

Tautan ke bagian: “Cara kami menulis release notes di sini.”

Skill. Prosedural, dibutuhkan mungkin satu turn dari empat puluh, dapat diurai menjadi voice, taksonomi, dan contoh, serta berupa prosa yang akan diedit manusia. Ini adalah bentuk yang dirancang untuk format ini, dan pengukuran di atas adalah penghematannya.

“Cari order berdasarkan identifier-nya di database gudang.”

Tautan ke bagian: “Cari order berdasarkan identifier-nya di database gudang.”

Tool. Ada fungsi deterministik di baliknya dan model tidak boleh mengarang query. Menuliskannya sebagai skill — dokumen yang menjelaskan cara query gudang — menyerahkan schema ke model dan berharap. Schema plus endpoint menyerahkan jawaban.

“Baca dan tulis issue di tracker kami, dari setiap produk agent yang digunakan perusahaan.”

Tautan ke bagian: “Baca dan tulis issue di tracker kami, dari setiap produk agent yang digunakan perusahaan.”

MCP server. Capability-nya bukan milikmu, beberapa host membutuhkannya, dan ia punya cerita authentication. Itulah masalah N×MN \times M yang dibuka Bab 26, protocol adalah jawabannya, dan Bab 27 mengirimkannya dua kali. Skill tidak bisa ditemukan oleh host yang belum pernah melihat filesystem kamu — tepat celah yang sedang ditutup pekerjaan standardisasi di akhir bab ini.

“Brand manual empat ratus halaman.”

Tautan ke bagian: “Brand manual empat ratus halaman.”

Tidak satu pun dari empat. Itu pengetahuan untuk dicari, bukan prosedur untuk diikuti, dan tempatnya di index yang dicari agent: Bab 19. Membundelnya sebagai level 3 diizinkan dan menggoda dan salah, karena model harus menebak file mana dari empat puluh yang memuat jawabannya hanya dari nama file. Yang merupakan skill yang baik adalah prosedur dua halaman yang memberi tahu agent kapan harus mencari index itu, apa arti similarity score rendah, dan cara mengutip yang ditemukannya.

“Jangan pernah refund lebih dari dua ratus euro tanpa manusia.”

Tautan ke bagian: “Jangan pernah refund lebih dari dua ratus euro tanpa manusia.”

Tool dengan approval gate, dan tidak pernah skill. Ini kasus yang penting. Ditulis ke SKILL.md, limit itu adalah kalimat yang dibaca dan biasanya dihormati model; ditulis ke refund tool, ia adalah branch yang berjalan sebelum uang apa pun bergerak. Limit yang akan mempermalukanmu jika dilanggar bukanlah dokumentasi. Aturannya, layak dihafal: jika konsekuensi mengabaikan instruksi lebih buruk daripada jawaban yang formatnya jelek, instruksi itu tidak termasuk dalam dokumen.

Dari jargon internal ke standard, dengan angkanya

Tautan ke bagian: Dari jargon internal ke standard, dengan angkanya

Sejarahnya singkat, bertanggal luar biasa rapi, dan ini bagian yang hampir tidak diceritakan siapa pun.

Agent Skills dipublikasikan pada 16 Oktober 2025 sebagai fitur satu vendor, didefinisikan dalam pengumuman itu sebagai “folder terorganisasi berisi instruksi, script, dan resource yang dapat ditemukan dan dimuat agent secara dinamis agar bekerja lebih baik pada tugas spesifik”, dengan tiga level dijelaskan lewat analogi yang layak dipertahankan: “seperti manual yang tertata baik, dimulai dengan daftar isi, lalu bab-bab spesifik, dan akhirnya appendix yang mendetail”.4

Pada 18 Desember 2025 halaman yang sama diperbarui untuk mengumumkan format tersebut sebagai open standard, dengan spesifikasinya sendiri di agentskills.io, governance terbuka untuk kontribusi, dan reference validator.3 Dibaca pada 7 September 2026, showcase client standard itu mencantumkan empat puluh enam produk — editor, terminal, platform cloud, dan mobile runtime, termasuk coding agents first-party dari Anthropic, OpenAI, Google, dan Mistral — masing-masing menautkan ke dokumentasi setup-nya sendiri.1

Konvergensi dengan MCP dilakukan secara terbuka, dengan angka yang bisa kamu cek:

Apa ituDibukaStatus pada 7 Sep 2026
SEP-2076Agent Skills as a First-Class MCP Primitive: method skills/list dan skills/get baru, capability skills, notification list_changed13 Januari 2026ditutup, 24 Februari 2026
Skills Over MCP working groupmendefinisikan bagaimana skill “ditemukan, didistribusikan, dan dikonsumsi melalui MCP”; bertemu mingguan; tujuh belas anggota tercantum, dua di antaranya leadinterest group 1 Februari 2026; working group 16 April 2026aktif
SEP-2640Skills Extension, Extensions Track: konvensi resource skill://, extension identifier io.modelcontextprotocol/skills, discovery melalui skills/list dan content melalui resources/read23 April 2026dalam review

Bagian menariknya adalah penutupan, bukan proposalnya. SEP-2076 meminta primitive keempat di samping tools, resources, dan prompts. Working group yang terbentuk darinya memutuskan jawabannya tidak: skill menumpang pada resources primitive yang sudah ada, sebagai extension opt-in.5 Bab 26 mengukur insting yang sama dalam changelog protocol itu sendiri, ketika sampling, roots, dan logging dideprecate alih-alih dipertahankan. Badan standard yang menghapus proposal yang ia tulis sendiri sedang berperilaku baik, dan alasan menceritakan kisah ini dengan angka di depan adalah karena ringkasan yang akan kamu baca di tempat lain masih mendeskripsikan skill sebagai MCP primitive.

Sekarang kamu bisa menulis SKILL.md, membaginya menjadi tiga level yang membayar dirinya sendiri, membaca frontmatter skill orang lain dan tahu field mana yang tidak akan bertahan saat di-upload ke tempat lain, serta menjawab pertanyaan yang menjadi fondasi seluruh bab — system prompt, skill, tool, atau server — dengan alasan, bukan kebiasaan.

Yang belum bisa kamu lakukan adalah tahu apakah milikmu bekerja.

Setiap klaim penting dalam bab ini adalah pengukuran, dan yang paling penting adalah akurasi: 18 dari 24 melawan 10 dari 24, dengan interval pada masing-masing dan paired test di antara keduanya, karena dua agregat yang overlap tidak memutuskan apa pun. Instrumen itu dipinjam. Description sebuah skill adalah routing key, body-nya adalah prosedur yang mungkin diikuti model dan mungkin tidak, dan kedua hal itu adalah properti yang hanya bisa kamu ketahui dengan menjalankan benda itu berkali-kali dan memberi skor pada hasilnya — yang berarti golden set, grader yang kamu tulis sebelum run, dan metric yang bertanya apakah ia berhasil setiap kali, bukan setidaknya sekali.

Bab 29 adalah itu, dan ia dibuka dengan angka yang menjadi sandaran metode bab ini: agent yang berhasil tujuh kali dari sepuluh terlihat seperti 70 %, dan pass^10-nya — peluang ia berhasil pada semua sepuluh — adalah nol. Bab itu juga mengukur tiga grader pada dua ratus transcript yang sama dan mendapatkan 0 %, 13 %, dan 26 % tanpa meregenerasi satu token pun. Sebelum kamu memercayai kalimat yang baru saja kamu tulis ke description, kamu membutuhkan instrumen yang bisa memberi tahu bahwa kalimat itu lebih buruk daripada yang kamu gantikan.


Setiap hitungan token dalam bab ini diproduksi secara lokal dengan tiktoken 0.14.0 dan encoding o200k_base, pada 7 September 2026: atas lima skill pihak ketiga yang tercantum di awal bab ini, dan atas skill release-notes yang ditulis untuk bab ini, yang teks lengkapnya direproduksi sebagian di atas. Level 1 diukur sebagai satu baris - name: description yang dirender host ke system prompt; level 2 adalah body SKILL.md setelah frontmatter; level 3 adalah setiap file lain di folder. Biaya menggunakan tarif terukur Bab 16 untuk gpt-5.6-terra, $2,00 per juta input token dan $0,20 per juta input token yang di-cache, diterapkan pada hitungan tersebut — ini aritmetika atas token yang diukur, bukan observasi atas tagihan live. Tidak ada API berbayar yang dipanggil untuk menulis bab ini.

Eksperimen aktivasi menjalankan Qwen/Qwen2.5-0.5B-Instruct dalam half precision pada satu GPU konsumen, greedy decoding, 24 request atas enam skill, dua kali — sekali dengan description yang menyatakan apa yang dilakukan skill dan kapan ia berlaku, sekali dengan description yang dipangkas menjadi subjek polos ala “poor example” milik spesifikasi sendiri. Interval adalah Wilson pada 95 %; perbandingan berpasangan adalah two-sided exact sign test atas sepuluh kasus discordant; interval Wilson adalah milik Bab 4 dan exact paired sign test adalah milik Bab 15, keduanya digunakan ulang tanpa perubahan. Baca magnitudonya sebagai properti model yang sangat kecil dan metodenya sebagai sesuatu yang dapat ditransfer.

Lima skill yang diukur di sini adalah package pihak ketiga, bukan ditulis untuk bab ini: next-best-practices dan next-cache-components dari vercel-labs/next-skills, serta vercel-composition-patterns, vercel-react-best-practices, dan vercel-react-native-skills dari vercel-labs/agent-skills. Hitungan internalnya — 70 file aturan, AGENTS.md pada 26.362 token, metadata.json bertanggal Januari 2026 dan mengklaim “40+ rules” — dibaca dari file di disk pada 7 September 2026 dan merupakan properti versi yang dipublikasikan itu, bukan kritik terhadap penulisnya: semuanya adalah jenis drift yang muncul di pohon dokumentasi mana pun yang diedit lebih sering daripada dihitung.

  1. Agent Skills Specification dan Overview, agentskills.io/specification dan agentskills.io, dibaca 7 September 2026. Sumber layout directory; tabel frontmatter yang direproduksi di atas dengan setiap constraint (name 1–64 karakter dan cocok dengan directory, description 1–1024 karakter, compatibility hingga 500, allowed-tools ditandai eksperimental); contoh description yang baik dan buruk; deskripsi progressive-disclosure tiga tahap dengan token budget-nya (metadata sekitar 100 token, instructions direkomendasikan di bawah 5.000, resources sesuai kebutuhan) dan saran untuk menjaga SKILL.md di bawah 500 baris; catatan bahwa “agent akan memuat seluruh file ini setelah ia memutuskan untuk mengaktifkan skill”; konvensi scripts/, references/, dan assets/; command skills-ref validate; pernyataan bahwa format ini “awalnya dikembangkan oleh Anthropic, dirilis sebagai open standard, dan telah diadopsi oleh jumlah produk agent yang terus bertambah”; dan client showcase, yang mencantumkan empat puluh enam produk pada tanggal dibaca. 2 3 4

  2. Skills dalam dokumentasi Claude Code, code.claude.com/docs/en/skills, dibaca 7 September 2026. Sumber tabel field lengkap yang digunakan di bagian “field yang ditambahkan reference implementation” — when_to_use, argument-hint, arguments, disable-model-invocation, user-invocable, allowed-tools, disallowed-tools, model, effort, context, agent, background, hooks, paths, shell, metadata, license, compatibility — deskripsi dynamic context injection dengan !`command` yang berjalan sebelum body dikirim, aturan bahwa grant allowed-tools bersih pada pesan berikutnya, dan catatan compliance bahwa di luar Claude Code hanya enam field yang dispesifikasikan yang diterima dan field lain apa pun menyebabkan hard error saat upload atau packaging. 2 3

  3. Overview Agent Skills, platform.claude.com/docs/en/agents-and-tools/agent-skills/overview, dibaca 7 September 2026. Sumber tabel level dengan empat kolomnya (Level 1 metadata, selalu, sekitar 100 token per skill; Level 2 instructions, saat triggered, di bawah 5k token; Level 3+ resources, sesuai kebutuhan, tidak ada sampai diakses); kalimat yang dikutip lengkap tentang konten bundle yang tidak membawa penalti context; “sampai Skill triggered, hanya nama dan description-nya yang menempati context”; pernyataan bahwa code sebuah script tidak pernah masuk ke context window dan hanya output-nya yang masuk; dan bagian security, yang menyuruhmu menggunakan skill hanya dari sumber tepercaya dan memperingatkan bahwa skill berbahaya “dapat mengarahkan Claude untuk invoke tools atau mengeksekusi code dengan cara yang tidak sesuai dengan tujuan yang dinyatakan Skill” — subjek Bab 30, datang melalui dokumen alih-alih melalui tool description. 2 3

  4. Anthropic, Equipping agents for the real world with Agent Skills, 16 Oktober 2025, anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills, dibaca 7 September 2026. Sumber definisi yang dikutip di atas, analogi daftar-isi/bab/appendix, tiga level sebagaimana awalnya dijelaskan, dan framing bahwa agent membutuhkan cara yang “lebih composable, scalable, dan portable” untuk diberi keahlian domain. Pengumuman produk pendamping di claude.com/blog/skills memuat tanggal publikasi 16 Oktober 2025 dan pembaruan 18 Desember 2025 yang memperkenalkan manajemen seluruh organisasi dan open standard.

  5. Skills Over MCP Charter, modelcontextprotocol.io/community/working-groups/skills-over-mcp, dibaca 7 September 2026. Sumber mission statement yang dikutip di atas, tanggal changelog (interest group terbentuk 1 Februari 2026, initial charter 14 April 2026, dikonversi menjadi working group 16 April 2026, SEP-2640 ditautkan 25 April 2026), leadership dan tujuh belas anggota tercantum, cadence meeting mingguan, serta kriteria sukses yang menyebut draft Skills Extension sebagai “extension formal menggunakan Resources primitives yang sudah ada”. SEP-2076, Agent Skills as a First-Class MCP Primitive, github.com/modelcontextprotocol/modelcontextprotocol/pull/2076, dibuka pada 13 Januari 2026 dan ditutup pada 24 Februari 2026; ia mengusulkan skills/list, skills/get, capability server skills dan notification skills/list_changed, serta mendefinisikan skill sebagai “bundle bernama berisi instruksi plus referensi ke tools, prompts, dan resources yang bersama-sama mengajari agent cara melakukan workflow spesifik-domain”. SEP-2640, Skills Extension, .../pull/2640, dibuka pada 23 April 2026 di Extensions Track dan membawa konvensi resource skill:// serta extension identifier io.modelcontextprotocol/skills. Bab 26 mencantumkan working group yang sama di antara extension opsional protocol.


Dibuat oleh

David Vicente Campos

Pendiri NeuraLIA Labs & salah satu pendiri MyRealFood

Saya seorang insinyur komputer lulusan Universitas León. Saya ikut mendirikan MyRealFood, tempat saya sebagai CTO membangun aplikasi yang telah digunakan jutaan orang untuk makan lebih sehat, dan saya mendirikan NeuraLIA Labs, tempat saya membangun produk AI. Di sini saya menulis tentang hal-hal yang harus saya pahami sepanjang perjalanan, sebagaimana dulu saya berharap ada yang menjelaskannya kepada saya.

Selengkapnya tentang penulis

Diterbitkan oleh NeuraLIA Labs.

Dapatkan postingan baru di inbox kamu

Berita AI, panduan, dan update produk — email singkat saat kami menerbitkan sesuatu yang layak kamu baca.

Indeks kursus

Abstract software decision engine with branching paths, probability nodes, and glowing gates.
jev11 menit baca

Model AI Jev dibuat untuk keputusan, bukan prosa

Jev dari TypeSafe AI menarik perhatian karena memperlakukan kecerdasan software sebagai persoalan probabilitas: pilih cabang yang tepat, sertakan keyakinan, dan hindari membayar LLM untuk menulis teks saat kode membutuhkan keputusan.

Abstract agent runtime sorting documents, memory blocks and pointer nodes inside a bounded context frame.
context-engineering11 menit baca

Rekayasa konteks untuk agen AI jangka panjang

Agen yang berjalan lama tidak gagal hanya karena window-nya kecil. Mereka gagal ketika file, output tool, dan riwayat lama menggeser tugas yang seharusnya diselesaikan agen.

Siap membiarkan LIA yang memilih?

Berkarya dengan semua model AI dalam satu tempat — mulai gratis hari ini.