Agent Skills og SKILL.md: gradvis disclosure, målt
Fem reelle skills med 128.374 tokens instruktioner fylder 253 tokens i context. Skær beskrivelserne ned, og agent finder dem ikke.
På denne side
Tag et projekt med fem publicerede skills installeret. Her er, hvad de koster.
ls .claude/skills/next-best-practices next-cache-components vercel-composition-patterns
vercel-react-best-practices vercel-react-native-skillsskill 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,668Hundrede og otteogtyve tusind tokens med instruktioner, eksempler og regler — mere end der kan være i et context window på 128.000 tokens — og den faste pris for at have alle fem tilgængelige er 253 tokens, to tiendedele af én procent. Intet andet i dette kursus har den form. En værktøjsdefinition betales ved hver request, uanset om den bruges eller ej, og Kapitel 26 målte én MCP server til 1.619 tokens, før den overhovedet gør noget: toogtredive gange den gennemsnitlige niveau-1-linje i tabellen ovenfor.
Dette kapitel handler om mekanismen, der skaber det forhold, om de to måder den går i stykker på, og om det spørgsmål, mekanismen tvinger frem, og næsten ingen svarer på: Når du har et stykke viden, hvilket af fire steder hører det så hjemme i?
Hvorfor dette kapitel ikke har noget programmeringssprog
Link til afsnittet: Hvorfor dette kapitel ikke har noget programmeringssprogKapitel 14 satte reglen for anden halvdel af dette kursus — forbindelser, retries og cancellation er TypeScript — og erklærede fem undtagelser. Dette er en af dem, og grunden er ikke en præference.
En skill er en Markdown-fil. Ikke en fil, der konfigurerer et program, ikke en fil et program compiler: et dokument modellen læser, på samme måde som den læser den besked, du skrev. At give dette kapitel et programmeringssprog ville betyde, at man ikke havde forstået formatet, og den misforståelse er den mest almindelige om skills. Alt nedenfor er Markdown og YAML, plus ét lille shell-script, der findes præcis for at vise, hvor code hører og ikke hører hjemme inde i en skill.
Regningen den løser, og det er Kapitel 16's aritmetik
Link til afsnittet: Regningen den løser, og det er Kapitel 16's aritmetikHer er en reel instruktion: hvordan en virksomhed skriver sine release notes. Det er en procedure, ikke en præference — den har en ordnet række trin, en taksonomi, en stemme, en template og et script, der samler råmaterialet.
Læg det hele i system prompt, som de fleste teams gør, og Kapitel 16's aritmetik tager over. En system prompt er et prefix, og et prefix betales ved hvert kald. Målt med o200k_base over mappen skrevet til dette kapitel:
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.0037Fireogtyve gange billigere, når den bruges, syvogtredive gange billigere, når den ikke bruges. Satserne er Kapitel 16's: $2.00 per million input-tokens.
Nu den ærlige indvending, for et kapitel der sprang den over, ville være reklame. Prompt caching lukker det meste af pengespændet. En system prompt er stabil, og den ligger først, hvilket gør den til den bedste cache-kandidat der findes; til $0.20 per million for cached input koster de samme 68.640 tokens $0.0168 i stedet for $0.1373. Stadig tre gange så meget som skillen, men ikke længere en anden størrelsesorden.
Pengene var aldrig det stærkeste argument. Det er dette:
Caching gør et permanent prefix billigere. Det gør det ikke mindre.
Ved tur 40 har system-prompt-versionen stadig 1.716 tokens release-note-politik siddende i vinduet under en samtale om noget helt andet, hvor de konkurrerer om det Kapitel 24 kaldte modellens attention budget. Skill-versionen har 46. Cache den forkerte ting, og du har købt rabat på en distraktion.
Skrevet som en formel, med ture, metadata, body, hele bundtet og mængden af bundtede filer, der faktisk læses:
Hele dette kapitel er forskellen mellem at gange det andet led med og at gange det med én eller med nul.
Hvad en skill faktisk er
Link til afsnittet: Hvad en skill faktisk erEn skill er en mappe. Specifikationen er kort nok til at gengive fuldstændigt:
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 likeSKILL.md skal begynde med YAML frontmatter, og præcis to felter er påkrævet: name og description.1 Fire mere er valgfrie, og ingen andre er defineret:
| Felt | Påkrævet | Begrænsning |
|---|---|---|
name | ja | 1–64 tegn, små bogstaver, tal og bindestreger; ingen indledende, afsluttende eller dobbelt bindestreg; skal matche mappenavnet |
description | ja | 1–1024 tegn, ikke tom; siger hvad skillen gør og hvornår den skal bruges |
license | nej | et licensnavn eller navnet på en bundtet licensfil |
compatibility | nej | op til 500 tegn: tiltænkt produkt, krævede pakker, netværksadgang |
metadata | nej | et frit map fra string-nøgler til string-værdier, til dit eget værktøj |
allowed-tools | nej | mellemrumsepareret liste over forhåndsgodkendte værktøjer; markeret eksperimentel |
Her er release-notes-skillen, komplet, med dens body på under tredive linjer:
---
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.Læs, hvad den body er. Den er ikke politikken — den er en indholdsfortegnelse med en rækkefølge af operationer. Politikken bor i tre filer, den navngiver og ikke inkluderer. Og trin ét sender arbejde videre til et script, fordi et scripts code aldrig kommer ind i context window overhovedet: kun dets output gør.2
Tre niveauer, og hvad hvert enkelt koster
Link til afsnittet: Tre niveauer, og hvad hvert enkelt kosterLoading-modellen har et navn og tre trin. Specifikationen beskriver dem med et tilknyttet token-budget:1
- Metadata, cirka 100 tokens:
nameogdescription, loaded ved opstart for hver installeret skill. - Instruktioner, anbefalet under 5.000 tokens:
SKILL.mdbody, loaded når skillen aktiveres. - Ressourcer, efter behov: bundtede filer, loaded kun når noget kræver dem.
Referencedokumentationen sætter en fjerde kolonne på samme tabel — hvornår loaded, token-omkostning, indhold — og rækken der betyder noget, er den tredje: ingen før adgang.3 Sætningen der opsummerer hele kapitlet, står der også:
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
Den målte tabel øverst i dette kapitel er den påstand tjekket mod fem skills, som ingen skrev til denne artikel. To rækker fortjener at blive læst op mod hinanden.
next-best-practices har en body på 966 tokens, der linker til nitten filer med 19.374 tokens. Bed den om at rette en hydration error, og agent læser body plus hydration-error.md: 1.409 tokens ud af 20.340, en faktor fjorten, og de andre atten filer bliver aldrig åbnet.
next-cache-components har en body på 2.334 tokens og slet ingen bundtede filer. Det er en gyldig skill og en velskrevet en, og den har intet niveau 3 at disclose. Det er teknikkens ærlige grænse: progressive disclosure er kun en besparelse, hvis der er noget at udskyde. En skill hvis viden ikke kan dekomponeres, betaler hele sin body ved aktivering, og den eneste løftestang der er tilbage, er ikke at aktivere den.
Ødelæg den: beskrivelsen er hele interfacet
Link til afsnittet: Ødelæg den: beskrivelsen er hele interfacetNiveau 1 er en routing-beslutning truffet ud fra én sætning. Intet andet ved en skill påvirker, om den nogensinde åbnes — ikke bodyens kvalitet, ikke eksemplerne, ikke scripts. Så beskrivelsen er ikke dokumentation. Den er query surface, og den kan være forkert.
Specifikationen siger det i form af et godt eksempel og et dårligt, og det dårlige er fire ord: description: Helps with PDFs.1 Det er værd at måle i stedet for bare at acceptere.
Seks skills, hver med en plausibel beskrivelse, der siger hvad den gør, og hvornår den skal bruges. Fireogtyve requests, fire per skill, formuleret som et menneske ville formulere dem og uden nogensinde at nævne skillen. Modellen ser de seks linjer i sin system prompt og skal svare med ét navn eller med NONE. Greedy decoding, så den reproducerer. Derefter de samme fireogtyve requests med de samme seks skills, og beskrivelserne skåret ned til deres blotte emne.
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.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 24Læs intervallerne først, som Kapitel 4 insisterede på, og Kapitel 29 vil insistere på igen: de overlapper, og fireogtyve cases kan ikke rangordne to systemer alene på deres aggregater. Den parrede sammenligning er det, der afgør det, og den er Kapitel 15's instrument: Af de ti cases hvor de to arme var uenige, gik ni til de rige beskrivelser og én til de tynde. Det er etableret ved den sædvanlige tærskel.
Læs nu den sidste linje, som er det faktiske fund. Med tynde beskrivelser svarede modellen NONE på ni af fireogtyve requests. Ikke den forkerte skill: ingen skill. Her er fire af dem, ordret:
"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-practicesEn perfekt sql-review skill var installeret, med en body og eksempler og en checklist, og den blev aldrig åbnet, tre gange i træk, på de tre spørgsmål den var skrevet til. Niveau 2 og 3 er irrelevante for en skill, som niveau 1 aldrig når.
Prisen for at rette det: 214 tokens, forskellen mellem 295 og 81, fordelt over seks skills. Det er Kapitel 18's fund, der ankommer fra den anden side. Der tog ændring af kun et værktøjs beskrivelse date formatting fra 2 korrekte ud af 24 til 24 ud af 24. Her tager ændring af kun en skills beskrivelse aktivering fra 10 ud af 24 til 18. I begge tilfælde er den billigste rettelse i systemet en sætning, og i begge tilfælde skal sætningen navngive triggeren og ikke kun emnet: ikke hvad tingen er, men hvad brugeren netop vil have sagt, når den gælder.
Ét forbehold skylder dette kapitel sine egne standarder. Dette er en model med en halv milliard parametre, og en frontier model router langt bedre end 75 %. Læs mekanismen, ikke størrelsen: routing-signalet er én sætning langt, uanset hvilken model der læser det, og ingen model kan vælge på information, du ikke lagde i den sætning.
Ødelæg den igen: nødudgangen der koster 26.362 tokens
Link til afsnittet: Ødelæg den igen: nødudgangen der koster 26.362 tokensDen anden fejl er det modsatte af den første. Skillen findes, niveauerne er korrekt delt op, og agent læser alligevel det hele.
vercel-react-best-practices er en reelt velbygget skill. Dens body på 1.670 tokens er en prioritetstabel med otte kategorier og en hurtig reference, der navngiver 70 regelfiler, én linje hver. Reglerne ligger på disk ved siden af den: 70 filer, den mindste 132 tokens, median 319, den største 1.052. Stil den ét spørgsmål om barrel imports, og den ærlige pris er body plus én fil — under 2.400 tokens mod et bundle på 53.670.
Så siger den sidste linje i bodyen dette:
## Full Compiled Document
For the complete guide with all rules expanded: `AGENTS.md`AGENTS.md er 26.362 tokens. Det er de 70 regelfiler sat sammen: deres sum er 25.784, og forskellen er overskrifterne mellem dem. Så skillen tilbyder agent et valg mellem at læse én medianregel på 319 tokens og at læse det samme indhold, det hele, til treogfirs gange prisen — og den tilbyder det valg i en sætning uden tilknyttet pris og uden betingelse for, hvornår det er værd at gøre.
Det er ikke en bug, og filen er ikke forkert; et compiled dokument er reelt nyttigt for et menneske og for en agent, der er blevet bedt om at auditere en hel codebase. Det er en niveau-3-fil med en niveau-2-invitation, og læren generaliserer ud over denne ene skill: hver sti ud af en SKILL.md bør sige, hvad den koster, og hvornår den er det værd, fordi modellen ikke har nogen måde at vide, at et filnavn er treogfirs gange dyrere end filnavnet ovenover.
Den samme mappe rummer en mindre lære om staleness. Bodyen siger "70 rules across 8 categories" og oplister 70; rules/-mappen rummer 72 filer, hvoraf to er scaffolding (_template.md og _sections.md); og sidecar-filen metadata.json siger "40+ rules". Tre optællinger af den samme mængde i én mappe, én af dem rigtig, én af dem aritmetisk, og én efterladt fra en tidligere version. En skill er et dokument, og dokumenter rådner præcis som en kodekommentar, der er driftet væk fra koden ved siden af den — med den forskel at denne her læses af en maskine, som ikke løfter et øjenbryn.
Felterne referenceimplementeringen tilføjer, og portabilitetsfælden
Link til afsnittet: Felterne referenceimplementeringen tilføjer, og portabilitetsfældenDen åbne specifikation definerer seks frontmatter-felter. Referenceimplementeringen, Claude Code, accepterer tyve.2 Fem grupper er værd at kende ved navn, fordi det er dér formatet holder op med kun at være et dokument:
Tilladelse og invocation. allowed-tools forhåndsgodkender værktøjer for den tur, der invoked skillen, og grant fjernes ved næste besked; disallowed-tools fjerner dem. disable-model-invocation forhindrer modellen i at loade den på egen hånd, hvilket gør skillen til en kommando, et menneske kører. user-invocable: false gør det modsatte: skjult for mennesker, kun tilgængelig for modellen, til baggrundsviden.
Isolation og pris. context: fork kører skillen i en separat sub-agent context med sit eget vindue — Kapitel 25's sub-agent-grænse som én linje YAML — hvor agent vælger hvilken slags, og background afgør, om turen venter. model og effort ændrer hvilken model der kører, mens skillen er aktiv, kun for den tur.
Argumenter (arguments, argument-hint) lader et menneske sende værdier, der substitueres ind i bodyen, hvilket er det, der gør en skill brugbar som en slash command. Scoping (paths) begrænser aktivering til filer, der matcher et glob. Og dynamic context injection er den, der ændrer den mentale model: en linje på formen !`git diff HEAD` kører før bodyen sendes, og dens output substitueres ind i teksten. Dokumentet er en template, og en del af det beregnes ved læsetid.
Nu fælden, og den står i den samme dokumentation: uden for Claude Code — i webproduktet, gennem Skills API, i packaging — er kun de seks specificerede felter tilladt, og ethvert andet felt er en hård fejl ved upload.2 Så en skill, der virker perfekt i ét produkt, fejler ved installation i et andet fra samme leverandør, og den fejler i frontmatter i stedet for i noget, du kunne teste ved at læse prosaen. Hvis du vil have en skill til at være portabel, er de seks felter hele budgettet. Hvis du ikke vil, så sig det i compatibility, som findes præcis til det.
Tabellen dette kapitel findes for
Link til afsnittet: Tabellen dette kapitel findes forFire ting forveksles konstant med hinanden, og forvirringen er ikke ordkløveri: vælger du forkert, koster det penge ved hver tur, eller det koster dig en garanti, du troede du havde.
| System prompt | Skill | Værktøj | MCP server | |
|---|---|---|---|---|
| Hvad det er | tekst i hver request | en mappe hvis rod er en SKILL.md | et JSON Schema plus et endpoint i din code | en proces eller service, der taler en protocol |
| Hvad modellen gør | læser den, altid | læser den, når den beslutter at beskrivelsen matcher | kalder det og venter på dit resultat | kalder den gennem hosten, én client per server |
| Hvad det koster | dens fulde længde, hver tur, for altid | cirka 50 tokens per tur; body én gang, hvis den bruges | dens schema, hver tur; execution når den kaldes | hvert schema plus serverens instructions, hver tur |
| Hvad det kan garantere | intet — det er rådgivning | intet — det er rådgivning, modellen kan springe over | alt hvad din code håndhæver før handling | alt hvad serveren håndhæver |
| Hvem skriver det | dig | dig, en kollega eller en leverandør | dig | en anden, for mange hosts |
| Kapitel | 15 | dette | 18 | 26 og 27 |
De to rækker med fed er hele skellet. En skill læses; et værktøj invoked. En skill er prosa, der ankommer i context window og konkurrerer om attention med alt andet derinde; modellen kan følge den, mislæse den eller ignorere den, og intet i systemet opdager det. Et værktøj er et kald, der helt forlader modellens hænder: din code modtager argumenter, validerer dem, tjekker tilladelser og beslutter. Kapitel 18 formulerede det som at modellen foreslår, og din code afgør, og den opdeling er præcis det en skill ikke har.
Så seks reelle cases, afgjort:
"Svar på brugerens sprog. Angiv aldrig en pris, du ikke har fået."
Link til afsnittet: "Svar på brugerens sprog. Angiv aldrig en pris, du ikke har fået."System prompt. Den gælder på hver tur, den er en begrænsning snarere end en procedure, og den er to sætninger lang. Noget der altid gælder, har intet at disclose progressivt, og at betale for en discovery-linje på hver tur for at undgå at betale for to sætninger på hver tur er ikke en besparelse.
"Hvordan vi skriver release notes her."
Link til afsnittet: "Hvordan vi skriver release notes her."Skill. Procedural, nødvendig måske én tur ud af fyrre, kan dekomponeres i stemme, taksonomi og eksempler, og det er prosa, som et menneske vil redigere. Det er den form formatet blev designet til, og målingen ovenfor er det, den sparer.
"Slå en ordre op på dens identifier i lagerdatabasen."
Link til afsnittet: "Slå en ordre op på dens identifier i lagerdatabasen."Værktøj. Der ligger en deterministisk funktion bag, og modellen må ikke improvisere queryen. At skrive dette som en skill — et dokument der forklarer, hvordan man queryer lageret — giver modellen schemaet og håber. Et schema plus et endpoint giver den et svar.
"Læs og skriv issues i vores tracker fra hvert agent-produkt virksomheden bruger."
Link til afsnittet: "Læs og skriv issues i vores tracker fra hvert agent-produkt virksomheden bruger."MCP server. Capabiliteten er ikke din, flere hosts har brug for den, og den har en authentication-historie. Det er -problemet, Kapitel 26 åbnede med, en protocol er svaret på det, og Kapitel 27 shipper en to gange. En skill kan ikke opdages af en host, der aldrig har set dit filesystem — hvilket er præcis det gap, standardarbejdet i slutningen af dette kapitel lukker.
"Brandmanualen på fire hundrede sider."
Link til afsnittet: "Brandmanualen på fire hundrede sider."Ingen af de fire. Det er viden, der skal slås op, ikke en procedure der skal følges, og den hører hjemme i et indeks, agent søger i: Kapitel 19. At bundle den som niveau 3 er tilladt og fristende og forkert, fordi modellen skulle gætte, hvilken af fyrre filer der rummer svaret, alene ud fra deres navne. Hvad der er en god skill, er den to sider lange procedure, der fortæller agent, hvornår den skal søge i indekset, hvad en lav similarity score betyder, og hvordan den skal citere det, den finder.
"Refundér aldrig mere end to hundrede euro uden et menneske."
Link til afsnittet: "Refundér aldrig mere end to hundrede euro uden et menneske."Et værktøj med en approval gate, og aldrig en skill. Det er casen der betyder noget. Skrevet ind i en SKILL.md er grænsen en sætning, modellen læser og normalt respekterer; skrevet ind i refund-værktøjet er den en branch, der kører, før nogen penge flyttes. En grænse, der ville gøre dig pinligt berørt, hvis den blev overskredet, er ikke dokumentation. Reglen, der er værd at huske: hvis konsekvensen af at ignorere instruktionen er værre end et dårligt formateret svar, hører instruktionen ikke hjemme i et dokument.
Fra intern jargon til en standard, med tallene
Link til afsnittet: Fra intern jargon til en standard, med talleneHistorien er kort, usædvanligt vel dateret, og det er den del næsten ingen fortæller.
Agent Skills blev offentliggjort den 16. oktober 2025 som én leverandørs feature, defineret i den announcement som "organized folders of instructions, scripts, and resources that agents can discover and load dynamically to perform better at specific tasks", med de tre niveauer beskrevet gennem en analogi, der er værd at beholde: "like a well-organized manual that starts with a table of contents, then specific chapters, and finally a detailed appendix".4
Den 18. december 2025 blev den samme side opdateret for at annoncere formatet som en åben standard, med sin egen specifikation på agentskills.io, governance åben for bidrag og en reference-validator.3 Læst den 7. september 2026 oplister standardens client showcase seksogfyrre produkter — editors, terminals, cloud-platforme og mobile runtimes, inklusive first-party coding agents fra Anthropic, OpenAI, Google og Mistral — hver med link til sin egen setup-dokumentation.1
Konvergensen med MCP bliver lavet åbent, med tal du kan tjekke:
| Hvad det er | Åbnet | Status 7. sep. 2026 | |
|---|---|---|---|
| SEP-2076 | Agent Skills as a First-Class MCP Primitive: nye skills/list- og skills/get-metoder, en skills capability, en list_changed notification | 13. januar 2026 | lukket, 24. februar 2026 |
| Skills Over MCP working group | definerer hvordan skills bliver "discovered, distributed, and consumed through MCP"; mødes ugentligt; sytten oplistede medlemmer, to af dem leads | interest group 1. februar 2026; working group 16. april 2026 | aktiv |
| SEP-2640 | Skills Extension, Extensions Track: en skill:// resource convention, extension identifier io.modelcontextprotocol/skills, discovery gennem skills/list og content gennem resources/read | 23. april 2026 | under review |
Det interessante er lukningen, ikke forslagene. SEP-2076 bad om en fjerde primitive ved siden af tools, resources og prompts. Working group, der opstod ud af det, besluttede at svaret var nej: skills rider på den resources primitive, der allerede findes, som en opt-in extension.5 Kapitel 26 målte den samme instinkt i protocolens egen changelog, hvor sampling, roots og logging blev deprecated i stedet for bevaret. Et standardiseringsorgan, der fjerner et forslag, det selv har forfattet, opfører sig godt, og grunden til at fortælle historien med tallene foran er, at de resuméer du læser andre steder, stadig beskriver skills som en MCP primitive.
Hvor det går hen herfra
Link til afsnittet: Hvor det går hen herfraDu kan nu skrive en SKILL.md, dele den op i tre niveauer, der betaler sig selv, læse frontmatter i en andens skill og vide, hvilke felter der ikke overlever upload et andet sted, og besvare spørgsmålet hele kapitlet blev bygget omkring — system prompt, skill, værktøj eller server — med en begrundelse i stedet for en vane.
Det du ikke kan, er at sige, om din virker.
Hver påstand i dette kapitel, der betød noget, var en måling, og den der betød mest, var en accuracy: 18 ud af 24 mod 10 ud af 24, med et interval på hver og en parret test mellem dem, fordi to aggregater der overlapper, intet afgør. Det instrument var lånt. En skills beskrivelse er en routing-nøgle, dens body er en procedure, modellen måske eller måske ikke følger, og begge egenskaber kan du kun finde ud af ved at køre tingen mange gange og score, hvad der kom tilbage — hvilket er et golden set, en grader du skrev før kørslen, og den metric der spørger, om det virkede hver gang snarere end mindst én gang.
Kapitel 29 er det, og det åbner med det tal, dette kapitels metode afhænger af: en agent der lykkes syv ud af ti gange, ligner 70 %, og dens pass^10 — chancen for at den lykkes på alle ti — er nul. Det måler også tre graders på de samme to hundrede transcripts og får 0 %, 13 % og 26 % uden at regenerere en eneste token. Før du stoler på sætningen, du lige skrev ind i en description, har du brug for instrumentet, der kan fortælle dig, at den er dårligere end den, du erstattede.
Kilder og metode
Link til afsnittet: Kilder og metodeHver token-optælling i dette kapitel blev produceret lokalt med tiktoken 0.14.0 og o200k_base encoding, den 7. september 2026: over de fem tredjeparts-skills, der er oplistet øverst i dette kapitel, og over release-notes-skillen skrevet til dette kapitel, hvis komplette tekst er gengivet delvist ovenfor. Niveau 1 måles som den enkelte linje - name: description, som en host renderer ind i system prompt; niveau 2 er SKILL.md body efter frontmatter; niveau 3 er hver anden fil i mappen. Omkostningerne bruger Kapitel 16's målte satser for gpt-5.6-terra, $2.00 per million input-tokens og $0.20 per million cached input-tokens, anvendt på de optællinger — de er aritmetik på målte tokens, ikke observationer af en live-regning. Ingen betalt API blev kaldt for at skrive dette kapitel.
Aktiveringseksperimentet kørte Qwen/Qwen2.5-0.5B-Instruct i half precision på én consumer-GPU, greedy decoding, 24 requests over seks skills, to gange — én gang med beskrivelser der siger, hvad skillen gør, og hvornår den gælder, én gang med beskrivelserne skåret ned til et blottet emne i stil med specifikationens egen "poor example". Intervaller er Wilson ved 95 %; den parrede sammenligning er en tosidet exact sign test over de ti discordant cases; Wilson-intervallet er Kapitel 4's og den præcise parrede sign test er Kapitel 15's, begge genbrugt uændret. Læs størrelserne som en egenskab ved en meget lille model og metoden som overførbar.
De fem skills målt her er tredjepartspakker, ikke skrevet til dette kapitel: next-best-practices og next-cache-components fra vercel-labs/next-skills, og vercel-composition-patterns, vercel-react-best-practices og vercel-react-native-skills fra vercel-labs/agent-skills. Deres interne optællinger — 70 regelfiler, AGENTS.md på 26.362 tokens, metadata.json dateret januar 2026 og med påstanden "40+ rules" — blev læst fra filerne på disk den 7. september 2026 og er egenskaber ved den publicerede version, ikke kritik af dens forfattere: hver eneste af dem er den slags drift, der opstår i ethvert dokumentationstræ, som redigeres oftere, end det tælles.
Referencer
Link til afsnittet: Referencer-
Agent Skills Specification og Overview,
agentskills.io/specificationogagentskills.io, læst 7. september 2026. Kilde til mappestrukturen; frontmatter-tabellen gengivet ovenfor med alle begrænsninger (name1–64 tegn og matchende mappen,description1–1024 tegn,compatibilityop til 500,allowed-toolsmarkeret eksperimentel); de gode og dårligedescription-eksempler; den tretrins progressive-disclosure-beskrivelse med dens token-budget (metadata cirka 100 tokens, instruktioner under 5.000 anbefalet, ressourcer efter behov) og rådet om at holdeSKILL.mdunder 500 linjer; noten om at "the agent will load this entire file once it's decided to activate a skill";scripts/-,references/- ogassets/-konventionerne;skills-ref validate-kommandoen; udsagnet om at formatet "was originally developed by Anthropic, released as an open standard, and has been adopted by a growing number of agent products"; og client showcase, som oplistede seksogfyrre produkter på læsedatoen. ↩ ↩2 ↩3 ↩4 -
Skills i Claude Code-dokumentationen,
code.claude.com/docs/en/skills, læst 7. september 2026. Kilde til den fulde felttabel brugt i afsnittet "felterne referenceimplementeringen tilføjer" —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— til beskrivelsen af dynamic context injection med!`command`, der kører før bodyen sendes, til reglen om at enallowed-toolsgrant fjernes ved næste besked, og til compliance-noten om at uden for Claude Code accepteres kun de seks specificerede felter, og ethvert andet udløser en hård fejl ved upload eller packaging. ↩ ↩2 ↩3 -
Agent Skills overview,
platform.claude.com/docs/en/agents-and-tools/agent-skills/overview, læst 7. september 2026. Kilde til niveautabellen med dens fire kolonner (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); til sætningen citeret fuldt ud om bundtet indhold uden context penalty; til "until a Skill is triggered, only its name and description occupy context"; til udsagnet om at et scripts code aldrig kommer ind i context window, og kun dets output gør; og til sikkerhedsafsnittet, som fortæller dig at bruge skills kun fra betroede kilder og advarer om, at en malicious skill "can direct Claude to invoke tools or execute code in ways that don't match the Skill's stated purpose" — Kapitel 30's emne, der ankommer gennem et dokument snarere end gennem en værktøjsbeskrivelse. ↩ ↩2 ↩3 -
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, læst 7. september 2026. Kilde til definitionen citeret ovenfor, til analogien med indholdsfortegnelse/kapitler/appendiks, til de tre niveauer som oprindeligt beskrevet, og til framing om at agents har brug for "more composable, scalable, and portable ways" til at få domain expertise. Den tilhørende produktannouncement påclaude.com/blog/skillsbærer publiceringsdatoen 16. oktober 2025 og opdateringen 18. december 2025, der introducerede organisationsbred administration og den åbne standard. ↩ -
Skills Over MCP Charter,
modelcontextprotocol.io/community/working-groups/skills-over-mcp, læst 7. september 2026. Kilde til mission statement citeret ovenfor, til changelog-datoerne (interest group dannet 1. februar 2026, initial charter 14. april 2026, konverteret til working group 16. april 2026, SEP-2640 linket 25. april 2026), til leadership og de sytten oplistede medlemmer, til den ugentlige møderytme, og til success criterion, der navngiver udkastet Skills Extension som "a formal extension using existing Resources primitives". SEP-2076, Agent Skills as a First-Class MCP Primitive,github.com/modelcontextprotocol/modelcontextprotocol/pull/2076, blev åbnet 13. januar 2026 og lukket 24. februar 2026; den foreslogskills/list,skills/get, enskillsserver capability og enskills/list_changednotification, og definerede en skill som "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, blev åbnet 23. april 2026 på Extensions Track og bærerskill://resource convention og extension identifierio.modelcontextprotocol/skills. Kapitel 26 oplister den samme working group blandt protocolens valgfrie extensions. ↩