Sari la conținut
28/30Capitolul 28 din 30

Agent Skills și SKILL.md: divulgare progresivă, măsurată

Cinci skills reale cu 128.374 token de instrucțiuni ocupă 253 token de context. Taie descrierile și agent nu le mai găsește.

Pe această pagină

Ia un proiect care are instalate cinci skills publicate. Iată cât costă.

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

O sută douăzeci și opt de mii de token de instrucțiuni, exemple și reguli — mai mult decât încape într-un context window de 128.000 de token — iar costul permanent pentru a le avea pe toate cinci disponibile este de 253 token, două zecimi dintr-un procent. Nimic altceva din acest curs nu are forma asta. O definiție de tool este plătită la fiecare cerere, indiferent dacă este folosită sau nu, iar Capitolul 26 a măsurat un server MCP la 1.619 token înainte să facă absolut ceva: de treizeci și două de ori linia medie de nivel 1 din tabelul de mai sus.

Acest capitol este despre mecanismul care produce acel raport, despre cele două moduri în care se rupe și despre întrebarea pe care mecanismul o impune și la care aproape nimeni nu răspunde: dată fiind o bucată de cunoaștere, în care dintre patru locuri îi este locul.

Capitolul 14 a stabilit regula pentru a doua jumătate a acestui curs — conexiunile, retry-urile și anularea sunt TypeScript — și a declarat cinci excepții. Aceasta este una dintre ele, iar motivul nu este o preferință.

Un skill este un fișier Markdown. Nu un fișier care configurează un program, nu un fișier pe care îl compilează un program: un document pe care modelul îl citește, la fel cum citește mesajul pe care l-ai tastat. A da acestui capitol un limbaj de programare ar însemna să nu fi înțeles formatul, iar această neînțelegere este cea mai comună despre skills. Tot ce urmează este Markdown și YAML, plus un mic script shell care există tocmai ca să arate unde își are locul codul într-un skill și unde nu.

Nota de plată pe care o rezolvă, iar aceasta este aritmetica din Capitolul 16

Link către secțiunea: Nota de plată pe care o rezolvă, iar aceasta este aritmetica din Capitolul 16

Iată o instrucțiune reală: cum își scrie o companie notele de lansare. Este o procedură, nu o preferință — are un set ordonat de pași, o taxonomie, o voce, un șablon și un script care colectează materia primă.

Pune totul în system prompt, așa cum fac majoritatea echipelor, și aritmetica din Capitolul 16 preia controlul. Un system prompt este un prefix, iar un prefix este plătit la fiecare call. Măsurat cu o200k_base peste folderul scris pentru acest capitol:

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

De douăzeci și patru de ori mai ieftin când este folosit, de treizeci și șapte de ori mai ieftin când nu este. Tarifele sunt cele din Capitolul 16: $2.00 per milion de token de input.

Acum obiecția onestă, pentru că un capitol care ar sări peste ea ar fi reclamă. Prompt caching închide în mare parte diferența de bani. Un system prompt este stabil și stă primul, ceea ce îl face cel mai bun candidat pentru cache; la $0.20 per milion pentru input în cache, aceiași 68.640 token costă $0.0168 în loc de $0.1373. Încă de trei ori mai mult decât skill-ul, dar nu mai este un ordin de mărime diferit.

Banii nu au fost niciodată cel mai puternic argument. Acesta este:

Caching face mai ieftin un prefix permanent. Nu îl face mai mic.

La tura 40, versiunea cu system prompt încă are 1.716 token de politică pentru note de lansare în window în timpul unei conversații despre cu totul altceva, concurând pentru ceea ce Capitolul 24 a numit bugetul de attention al modelului. Versiunea cu skill are 46. Pune în cache lucrul greșit și ai cumpărat o reducere pentru o distragere.

Scris ca formulă, cu nn ture, L1L_1 metadata, L2L_2 corpul, L3L_3 întregul pachet și RR setul de fișiere incluse citite efectiv:

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)

Întregul capitol este diferența dintre a înmulți al doilea termen cu nn și a-l înmulți cu unu sau cu zero.

Un skill este un director. Specificația este suficient de scurtă încât să fie redată complet:

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 trebuie să înceapă cu YAML frontmatter, iar exact două câmpuri sunt obligatorii: name și description.1 Alte patru sunt opționale și nu sunt definite altele:

FieldRequiredConstraint
nameda1–64 de caractere, litere mici, cifre și cratime; fără cratimă la început, la final sau dublată; trebuie să se potrivească numelui directorului
descriptionda1–1024 de caractere, nevid; spune ce face skill-ul și când se folosește
licensenunumele unei licențe sau numele unui fișier de licență inclus
compatibilitynupână la 500 de caractere: produs vizat, pachete necesare, acces la rețea
metadatanuo hartă liberă de chei string către valori string, pentru propriul tău tooling
allowed-toolsnulistă separată prin spații de tools preaprobate; marcat experimental

Iată skill-ul pentru release notes, complet, cu corpul sub treizeci de linii:

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.

Citește ce este acel corp. Nu este politica — este un cuprins cu o ordine a operațiilor. Politica trăiește în trei fișiere pe care le numește și nu le include. Iar pasul unu predă munca unui script, pentru că codul unui script nu intră niciodată în context window: doar output-ul lui intră.2

Modelul de încărcare are un nume și trei etape. Specificația le enunță cu un buget de token atașat:1

  1. Metadata, aproximativ 100 token: name și description, încărcate la pornire pentru fiecare skill instalat.
  2. Instrucțiuni, recomandate sub 5.000 token: corpul SKILL.md, încărcat când skill-ul este activat.
  3. Resurse, după nevoie: fișiere incluse, încărcate doar când ceva le cere.

Documentația de referință pune o a patra coloană în același tabel — când este încărcat, cost în token, conținut — iar rândul care contează este al treilea: nimic până la accesare.3 Propoziția care rezumă întregul capitol este și ea acolo:

Files don't consume context until accessed, so Skills can include comprehensive API documentation, large datasets, or extensive examples. There's no context penalty for bundled content that isn't used.3

Tabelul măsurat de la începutul acestui capitol este acea afirmație verificată pe cinci skills pe care nimeni nu le-a scris pentru acest articol. Două rânduri merită citite unul lângă altul.

next-best-practices are un corp de 966 token care trimite la nouăsprezece fișiere ce conțin 19.374 token. Cere-i să repare o eroare de hydration și agent citește corpul plus hydration-error.md: 1.409 token din 20.340, un factor de paisprezece, iar celelalte optsprezece fișiere nu sunt deschise niciodată.

next-cache-components are un corp de 2.334 token și niciun fișier inclus deloc. Este un skill valid și bine scris, iar el nu are nivelul 3 de divulgat. Aceasta este limita onestă a tehnicii: divulgarea progresivă economisește doar dacă există ceva de amânat. Un skill a cărui cunoaștere nu se descompune își plătește întregul corp la activare, iar singura pârghie rămasă este să nu îl activezi.

Cum îl rupi: descrierea este întreaga interfață

Link către secțiunea: Cum îl rupi: descrierea este întreaga interfață

Nivelul 1 este o decizie de rutare luată dintr-o singură propoziție. Nimic altceva despre un skill nu influențează dacă va fi vreodată deschis — nici calitatea corpului, nici exemplele, nici scripturile. Deci descrierea nu este documentație. Este suprafața de interogare, și poate fi greșită.

Specificația spune asta sub forma unui exemplu bun și a unuia prost, iar cel prost are patru cuvinte: description: Helps with PDFs.1 Merită măsurat, nu doar acceptat.

Șase skills, fiecare cu o descriere plauzibilă care spune ce face și când se folosește. Douăzeci și patru de cereri, patru per skill, formulate așa cum le-ar formula o persoană și fără a numi vreodată skill-ul. Modelul vede cele șase linii în system prompt și trebuie să răspundă cu un nume sau cu NONE. Greedy decoding, deci reproduce. Apoi aceleași douăzeci și patru de cereri cu aceleași șase skills, iar descrierile tăiate până la subiectul lor nud.

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

Citește mai întâi intervalele, așa cum a insistat Capitolul 4 și cum va insista din nou Capitolul 29: ele se suprapun, iar douăzeci și patru de cazuri nu pot ierarhiza două sisteme doar pe agregatele lor. Comparația pereche este cea care decide, iar instrumentul este cel din Capitolul 15: dintre cele zece cazuri în care cele două brațe au fost în dezacord, nouă au mers la descrierile bogate și unul la cele subțiri. Asta este stabilit la pragul obișnuit.

Acum citește ultima linie, care este constatarea propriu-zisă. Cu descrieri subțiri, modelul a răspuns NONE la nouă din douăzeci și patru de cereri. Nu skill-ul greșit: niciun skill. Iată patru dintre ele, 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

Un skill sql-review perfect era instalat, cu corp și exemple și checklist, și nu a fost deschis niciodată, de trei ori la rând, la cele trei întrebări pentru care fusese scris. Nivelurile 2 și 3 sunt irelevante pentru un skill la care nivelul 1 nu ajunge niciodată.

Costul remedierii: 214 token, diferența dintre 295 și 81, împărțită peste șase skills. Este constatarea din Capitolul 18 venind din cealaltă parte. Acolo, schimbarea doar a descrierii unui tool a dus formatarea datelor de la 2 corecte din 24 la 24 din 24. Aici, schimbarea doar a descrierii unui skill duce activarea de la 10 din 24 la 18. În ambele cazuri, cea mai ieftină remediere din sistem este o propoziție, iar în ambele cazuri propoziția trebuie să numească trigger-ul, nu doar subiectul: nu ce este lucrul, ci ce tocmai va fi spus utilizatorul când se aplică.

O rezervă pe care acest capitol o datorează propriilor standarde. Acesta este un model de o jumătate de miliard de parametri, iar un model de frontieră rutează mult mai bine decât 75 %. Citește mecanismul, nu magnitudinea: semnalul de rutare are o singură propoziție indiferent ce model îl citește, iar niciun model nu poate selecta pe baza informației pe care nu ai pus-o în acea propoziție.

Cum îl rupi din nou: trapa de evacuare care costă 26.362 token

Link către secțiunea: Cum îl rupi din nou: trapa de evacuare care costă 26.362 token

Al doilea eșec este opusul primului. Skill-ul este găsit, nivelurile sunt împărțite corect, iar agent citește totul oricum.

vercel-react-best-practices este un skill cu adevărat bine construit. Corpul lui de 1.670 token este un tabel de priorități cu opt categorii și o referință rapidă care numește 70 de fișiere de reguli, câte o linie fiecare. Regulile sunt pe disc lângă el: 70 de fișiere, cel mai mic 132 token, mediana 319, cel mai mare 1.052. Pune-i o întrebare despre barrel imports și costul onest este corpul plus un fișier — sub 2.400 token față de un pachet de 53.670.

Apoi ultima linie a corpului spune asta:

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

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

AGENTS.md are 26.362 token. Este concatenarea celor 70 de fișiere de reguli: suma lor este 25.784, iar diferența sunt heading-urile dintre ele. Deci skill-ul îi oferă agent-ului o alegere între a citi o regulă mediană la 319 token și a citi același conținut, tot, la un preț de optzeci și trei de ori mai mare — și oferă acea alegere într-o propoziție fără cost atașat și fără condiție despre când merită luată.

Asta nu este un bug și fișierul nu este greșit; un document compilat este cu adevărat util pentru un om și pentru un agent căruia i s-a cerut să auditeze un întreg codebase. Este un fișier de nivel 3 cu o invitație de nivel 2, iar lecția se generalizează dincolo de acest skill: fiecare cale care iese dintr-un SKILL.md ar trebui să spună cât costă și când merită, pentru că modelul nu are cum să știe că un nume de fișier este de optzeci și trei de ori mai scump decât numele de fișier de deasupra lui.

Același folder poartă o lecție mai mică despre învechire. Corpul spune „70 de reguli în 8 categorii” și listează 70; directorul rules/ conține 72 de fișiere, dintre care două sunt schele (_template.md și _sections.md); iar sidecar-ul metadata.json spune „40+ reguli”. Trei numărări ale aceluiași set într-un folder, una corectă, una aritmetică și una rămasă dintr-o versiune anterioară. Un skill este un document, iar documentele putrezesc exact ca un comentariu de cod care a deviat de la codul de lângă el — cu diferența că acesta este citit de o mașină care nu va ridica din sprânceană.

Câmpurile adăugate de implementarea de referință și capcana portabilității

Link către secțiunea: Câmpurile adăugate de implementarea de referință și capcana portabilității

Specificația deschisă definește șase câmpuri frontmatter. Implementarea de referință, Claude Code, acceptă douăzeci.2 Cinci grupuri merită cunoscute pe nume, pentru că ele sunt locul unde formatul încetează să mai fie doar un document:

Permisiune și invocare. allowed-tools preaprobă tools pentru tura care a invocat skill-ul, iar grant-ul se curăță la mesajul următor; disallowed-tools le elimină. disable-model-invocation oprește modelul să îl încarce singur, ceea ce transformă skill-ul într-o comandă pe care o rulează o persoană. user-invocable: false face opusul: ascuns de oameni, disponibil doar modelului, pentru cunoaștere de fundal.

Izolare și cost. context: fork rulează skill-ul într-un context separat de sub-agent, cu propriul window — limita de sub-agent din Capitolul 25 ca o singură linie de YAML — cu agent alegând tipul și background decidând dacă tura așteaptă. model și effort schimbă ce model rulează cât timp skill-ul este activ, doar pentru acea tură.

Argumentele (arguments, argument-hint) permit unei persoane să trimită valori care sunt substituite în corp, ceea ce face ca un skill să fie utilizabil ca slash command. Scoping (paths) limitează activarea la fișiere care se potrivesc unui glob. Iar dynamic context injection este cel care schimbă modelul mental: o linie de forma !`git diff HEAD` rulează înainte ca body-ul să fie trimis, iar output-ul ei este substituit în text. Documentul este un șablon, iar o parte din el este calculată la momentul citirii.

Acum capcana, iar ea este enunțată în aceeași documentație: în afara Claude Code — în produsul web, prin Skills API, în packaging — sunt permise doar cele șase câmpuri specificate, iar orice alt câmp este o eroare dură la upload.2 Deci un skill care funcționează perfect într-un produs eșuează la instalare într-un altul aparținând aceluiași vendor și eșuează în frontmatter, nu în ceva ce ai putea testa citind proza. Dacă intenționezi ca un skill să fie portabil, cele șase câmpuri sunt întregul buget. Dacă nu, spune asta în compatibility, care există exact pentru acest lucru.

Patru lucruri sunt confundate constant între ele, iar confuzia nu este pedanterie de vocabular: alegerea greșită costă bani la fiecare tură sau te costă o garanție pe care credeai că o ai.

System promptSkillToolServer MCP
Ce estetext în fiecare cerereun folder a cărui rădăcină este un SKILL.mdun JSON Schema plus un endpoint în codul tăuun proces sau serviciu care vorbește un protocol
Ce face modelulîl citește, întotdeaunaîl citește, când decide că descrierea se potriveșteîl apelează și așteaptă rezultatul tăuîl apelează, prin host, un client per server
Ce costăîntreaga lungime, fiecare tură, pentru totdeaunaaproximativ 50 token pe tură; corpul o dată, dacă este folositschema lui, fiecare tură; execuție când este apelatfiecare schemă plus instructions al serverului, fiecare tură
Ce poate garantanimic — este sfatnimic — este sfat pe care modelul îl poate săritot ce impune codul tău înainte de a acționatot ce impune serverul
Cine îl scrietutu, un coleg sau un vendortualtcineva, pentru multe host-uri
Capitol15acesta1826 și 27

Cele două rânduri cu bold sunt întreaga distincție. Un skill este citit; un tool este invocat. Un skill este proză care ajunge în context window și concurează pentru attention cu tot ce mai este acolo; modelul îl poate urma, îl poate citi greșit sau îl poate ignora, iar nimic din sistem nu observă. Un tool este un call care iese complet din mâinile modelului: codul tău primește argumente, le validează, verifică permisiuni și decide. Capitolul 18 a formulat-o ca modelul propune și codul tău dispune, iar acea împărțire este exact ceea ce un skill nu are.

Deci șase cazuri reale, rezolvate:

„Răspunde în limba utilizatorului. Nu declara niciodată un preț care nu ți-a fost dat.”

Link către secțiunea: „Răspunde în limba utilizatorului. Nu declara niciodată un preț care nu ți-a fost dat.”

System prompt. Se aplică la fiecare tură, este o constrângere mai degrabă decât o procedură și are două propoziții. Ceva care se aplică mereu nu are nimic de divulgat progresiv, iar a plăti pentru o linie de descoperire la fiecare tură ca să eviți să plătești pentru două propoziții la fiecare tură nu este o economie.

Skill. Procedural, necesar poate într-o tură din patruzeci, descompunibil în voce, taxonomie și exemple, și este proză pe care o persoană o va edita. Aceasta este forma pentru care a fost proiectat formatul, iar măsurarea de mai sus este ce economisește.

„Caută o comandă după identificatorul ei în baza de date a depozitului.”

Link către secțiunea: „Caută o comandă după identificatorul ei în baza de date a depozitului.”

Tool. Există o funcție deterministă în spate, iar modelul nu trebuie să improvizeze interogarea. Scrierea acestui lucru ca skill — un document care explică cum se interoghează depozitul — îi dă modelului schema și speră. O schemă plus un endpoint îi dă un răspuns.

„Citește și scrie issue-uri în trackerul nostru, din fiecare produs cu agent pe care îl folosește compania.”

Link către secțiunea: „Citește și scrie issue-uri în trackerul nostru, din fiecare produs cu agent pe care îl folosește compania.”

Server MCP. Capabilitatea nu este a ta, mai multe host-uri au nevoie de ea și are o poveste de autentificare. Aceasta este problema N×MN \times M cu care a deschis Capitolul 26, un protocol este răspunsul la ea, iar Capitolul 27 livrează unul de două ori. Un skill nu poate fi descoperit de un host care nu ți-a văzut niciodată filesystem-ul — exact golul pe care munca de standardizare de la finalul acestui capitol îl închide.

Niciunul dintre cele patru. Este cunoaștere de căutat, nu o procedură de urmat, și îi este locul într-un index pe care agent îl caută: Capitolul 19. Includerea lui ca nivel 3 este permisă, tentantă și greșită, pentru că modelul ar trebui să ghicească din numele lor care dintre patruzeci de fișiere conține răspunsul. Ce este un skill bun este procedura de două pagini care îi spune agent-ului când să caute în acel index, ce înseamnă un scor de similaritate mic și cum să citeze ce găsește.

„Nu rambursa niciodată mai mult de două sute de euro fără un om.”

Link către secțiunea: „Nu rambursa niciodată mai mult de două sute de euro fără un om.”

Un tool cu approval gate, și niciodată un skill. Acesta este cazul care contează. Scris într-un SKILL.md, limita este o propoziție pe care modelul o citește și de obicei o respectă; scrisă în tool-ul de refund, este o ramură care rulează înainte ca vreun ban să se miște. O limită a cărei depășire te-ar face de rușine nu este documentație. Regula, de memorat: dacă urmarea ignorării instrucțiunii este mai rea decât un răspuns prost formatat, instrucțiunea nu are ce căuta într-un document.

Istoria este scurtă, neobișnuit de bine datată, și este partea pe care aproape nimeni nu o spune.

Agent Skills au fost publicate pe 16 octombrie 2025 ca funcționalitate a unui vendor, definite în acel anunț ca „organized folders of instructions, scripts, and resources that agents can discover and load dynamically to perform better at specific tasks”, cu cele trei niveluri descrise printr-o analogie care merită păstrată: „like a well-organized manual that starts with a table of contents, then specific chapters, and finally a detailed appendix”.4

Pe 18 decembrie 2025, aceeași pagină a fost actualizată pentru a anunța formatul ca standard deschis, cu o specificație proprie la agentskills.io, guvernanță deschisă contribuțiilor și un validator de referință.3 Citit pe 7 septembrie 2026, showcase-ul de clienți al standardului listează patruzeci și șase de produse — editoare, terminale, platforme cloud și runtime-uri mobile, inclusiv agenții de codare first-party de la Anthropic, OpenAI, Google și Mistral — fiecare cu link către propria documentație de configurare.1

Convergența cu MCP se face la vedere, cu cifre pe care le poți verifica:

Ce esteDeschisStare pe 7 sept. 2026
SEP-2076Agent Skills as a First-Class MCP Primitive: metode noi skills/list și skills/get, o capabilitate skills, o notificare list_changed13 ianuarie 2026închis, 24 februarie 2026
Skills Over MCP working groupdefinește cum sunt skills „discovered, distributed, and consumed through MCP”; se întâlnește săptămânal; șaptesprezece membri listați, doi dintre ei leadsinterest group 1 februarie 2026; working group 16 aprilie 2026activ
SEP-2640Skills Extension, Extensions Track: o convenție de resursă skill://, identificator de extensie io.modelcontextprotocol/skills, descoperire prin skills/list și conținut prin resources/read23 aprilie 2026în review

Partea interesantă este închiderea, nu propunerile. SEP-2076 cerea o a patra primitivă lângă tools, resources și prompts. Working group-ul format din ea a decis că răspunsul era nu: skills merg pe primitiva resources care există deja, ca extensie opt-in.5 Capitolul 26 a măsurat același instinct în propriul changelog al protocolului, unde sampling, roots și logging au fost depreciate în loc să fie păstrate. Un organism de standardizare care elimină o propunere pe care a inițiat-o se comportă bine, iar motivul pentru care spunem această poveste cu cifrele în față este că rezumatele pe care le vei citi în altă parte încă descriu skills ca pe o primitivă MCP.

Acum poți scrie un SKILL.md, îl poți împărți în trei niveluri care își plătesc costul, poți citi frontmatter-ul skill-ului altcuiva și poți ști ce câmpuri nu vor supraviețui când sunt uploadate în altă parte, și poți răspunde la întrebarea în jurul căreia a fost construit întregul capitol — system prompt, skill, tool sau server — cu un motiv, nu din obișnuință.

Ce nu poți face este să spui dacă al tău funcționează.

Fiecare afirmație din acest capitol care a contat a fost o măsurare, iar cea care a contat cel mai mult a fost o acuratețe: 18 din 24 față de 10 din 24, cu un interval pe fiecare și un test pereche între ele, pentru că două agregate care se suprapun nu decid nimic. Instrumentul acela a fost împrumutat. Descrierea unui skill este o cheie de rutare, corpul lui este o procedură pe care modelul poate sau nu să o urmeze, iar ambele sunt proprietăți pe care le poți afla doar rulând lucrul de multe ori și notând ce a revenit — ceea ce înseamnă un set de aur, un evaluator scris înainte de run și metrica ce întreabă dacă a funcționat de fiecare dată, nu măcar o dată.

Capitolul 29 este asta și deschide cu numărul de care depinde metoda acestui capitol: un agent care reușește de șapte ori din zece arată ca 70 %, iar pass^10 al lui — șansa să reușească în toate cele zece — este zero. Măsoară și trei evaluatori pe aceleași două sute de transcripturi și obține 0 %, 13 % și 26 % fără să regenereze niciun token. Înainte să ai încredere în propoziția pe care tocmai ai scris-o într-un description, ai nevoie de instrumentul care îți poate spune că este mai proastă decât cea pe care ai înlocuit-o.


Fiecare număr de token din acest capitol a fost produs local cu tiktoken 0.14.0 și encoding-ul o200k_base, pe 7 septembrie 2026: peste cele cinci skills third-party listate la începutul acestui capitol și peste skill-ul release-notes scris pentru acest capitol, al cărui text complet este reprodus parțial mai sus. Nivelul 1 este măsurat ca linia unică - name: description pe care un host o randă în system prompt; nivelul 2 este corpul SKILL.md după frontmatter; nivelul 3 este orice alt fișier din folder. Costurile folosesc tarifele măsurate în Capitolul 16 pentru gpt-5.6-terra, $2.00 per milion de token de input și $0.20 per milion de token de input în cache, aplicate acelor numărători — sunt aritmetică pe token măsurați, nu observații ale unei facturi live. Nu a fost apelat niciun API plătit pentru a scrie acest capitol.

Experimentul de activare a rulat Qwen/Qwen2.5-0.5B-Instruct în half precision pe un GPU de consum, greedy decoding, 24 de cereri peste șase skills, de două ori — o dată cu descrieri care afirmă ce face skill-ul și când se aplică, o dată cu descrierile tăiate la un subiect nud în stilul propriului „poor example” al specificației. Intervalele sunt Wilson la 95 %; comparația pereche este un test exact al semnului, bilateral, peste cele zece cazuri discordante; intervalul Wilson este cel din Capitolul 4, iar testul exact pereche al semnului este cel din Capitolul 15, ambele reutilizate neschimbat. Citește magnitudinile ca proprietate a unui model foarte mic și metoda ca transferabilă.

Cele cinci skills măsurate aici sunt pachete third-party, nu scrise pentru acest capitol: next-best-practices și next-cache-components din vercel-labs/next-skills, și vercel-composition-patterns, vercel-react-best-practices și vercel-react-native-skills din vercel-labs/agent-skills. Numărătorile lor interne — 70 de fișiere de reguli, AGENTS.md la 26.362 token, metadata.json datat ianuarie 2026 și pretinzând „40+ rules” — au fost citite din fișierele de pe disc pe 7 septembrie 2026 și sunt proprietăți ale acelei versiuni publicate, nu critici la adresa autorilor lor: fiecare dintre ele este tipul de drift care apare în orice arbore de documentație editat mai des decât este numărat.

  1. Agent Skills Specification și Overview, agentskills.io/specification și agentskills.io, citite pe 7 septembrie 2026. Sursa pentru structura directorului; tabelul frontmatter reprodus mai sus cu fiecare constrângere (name 1–64 de caractere și potrivire cu directorul, description 1–1024 de caractere, compatibility până la 500, allowed-tools marcat experimental); exemplele bune și slabe description; descrierea în trei etape a progressive-disclosure cu bugetul ei de token (metadata aproximativ 100 token, instrucțiuni recomandate sub 5.000, resurse după nevoie) și sfatul de a menține SKILL.md sub 500 de linii; nota că „the agent will load this entire file once it's decided to activate a skill”; convențiile scripts/, references/ și assets/; comanda skills-ref validate; afirmația că formatul „was originally developed by Anthropic, released as an open standard, and has been adopted by a growing number of agent products”; și showcase-ul de clienți, care lista patruzeci și șase de produse la data citirii. 2 3 4

  2. Skills în documentația Claude Code, code.claude.com/docs/en/skills, citită pe 7 septembrie 2026. Sursa pentru tabelul complet de câmpuri folosit în secțiunea „câmpurile adăugate de implementarea de referință” — 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 — pentru descrierea dynamic context injection cu !`command` rulând înainte ca body-ul să fie trimis, pentru regula că un grant allowed-tools se curăță la mesajul următor și pentru nota de conformitate că în afara Claude Code sunt acceptate doar cele șase câmpuri specificate, iar oricare altul produce o eroare dură la upload sau packaging. 2 3

  3. Prezentarea generală Agent Skills, platform.claude.com/docs/en/agents-and-tools/agent-skills/overview, citită pe 7 septembrie 2026. Sursa pentru tabelul de niveluri cu cele patru coloane ale lui (Level 1 metadata, always, about 100 tokens per skill; Level 2 instructions, when triggered, under 5k tokens; Level 3+ resources, as needed, none until accessed); pentru propoziția citată integral despre conținutul inclus care nu poartă penalizare de context; pentru „until a Skill is triggered, only its name and description occupy context”; pentru afirmația că codul unui script nu intră niciodată în context window și doar output-ul lui intră; și pentru secțiunea de securitate, care îți spune să folosești skills doar din surse de încredere și avertizează că un skill malițios „can direct Claude to invoke tools or execute code in ways that don't match the Skill's stated purpose” — subiectul Capitolului 30, sosind printr-un document, nu printr-o descriere de tool. 2 3

  4. Anthropic, Equipping agents for the real world with Agent Skills, 16 octombrie 2025, anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills, citit pe 7 septembrie 2026. Sursa pentru definiția citată mai sus, pentru analogia cu cuprins/capitole/anexă, pentru cele trei niveluri așa cum au fost descrise inițial și pentru încadrarea conform căreia agenții au nevoie de modalități „more composable, scalable, and portable ways” de a primi expertiză de domeniu. Anunțul de produs companion de la claude.com/blog/skills poartă data publicării, 16 octombrie 2025, și actualizarea din 18 decembrie 2025 care a introdus managementul la nivel de organizație și standardul deschis.

  5. Skills Over MCP Charter, modelcontextprotocol.io/community/working-groups/skills-over-mcp, citit pe 7 septembrie 2026. Sursa pentru mission statement-ul citat mai sus, pentru datele din changelog (interest group format pe 1 februarie 2026, charter inițial pe 14 aprilie 2026, convertit în working group pe 16 aprilie 2026, SEP-2640 legat pe 25 aprilie 2026), pentru leadership și cei șaptesprezece membri listați, pentru cadența întâlnirilor săptămânale și pentru criteriul de succes care numește draftul Skills Extension drept „a formal extension using existing Resources primitives”. SEP-2076, Agent Skills as a First-Class MCP Primitive, github.com/modelcontextprotocol/modelcontextprotocol/pull/2076, a fost deschis pe 13 ianuarie 2026 și închis pe 24 februarie 2026; a propus skills/list, skills/get, o capabilitate de server skills și o notificare skills/list_changed și a definit un skill ca „a named bundle of instructions plus references to tools, prompts, and resources that together teach an agent how to perform a domain-specific workflow”. SEP-2640, Skills Extension, .../pull/2640, a fost deschis pe 23 aprilie 2026 pe Extensions Track și poartă convenția de resursă skill:// și identificatorul de extensie io.modelcontextprotocol/skills. Capitolul 26 listează același working group printre extensiile opționale ale protocolului.

Gata să lași LIA să aleagă?

Construiește cu toate modelele AI într-un singur loc — începe gratuit azi.