Agent Skills: Sådan giver du din AI-agent specialviden uden context bloat
En Agent Skill er en mappe med en SKILL.md-fil, der gør en generel AI-agent til specialist - kun når opgaven kræver det. Her er hvordan formatet virker, og hvordan du bygger din første.

Lars Nielsen
FlowNordics
Kort fortalt
En Agent Skill er en mappe med en SKILL.md-fil, der lærer din AI-agent at løse en bestemt opgave - og som kun indlæses, når opgaven dukker op. Det holder token-forbruget nede og gør viden, der ellers sidder i hovedet på folk, til noget agenten kan bruge igen og igen.
De fleste forsøger at gøre deres AI-agent klogere ved at proppe flere instruktioner ind i én stor system prompt. Det virker - indtil et punkt. Så begynder kvaliteten at falde, fordi modellen drukner i kontekst, den ikke bruger. Agent Skills vender logikken om: i stedet for at have alt med hele tiden lader du agenten hente præcis den specialviden, den skal bruge, lige når opgaven kræver det.
Det får du med
- Hvad en Agent Skill er, og hvorfor en mappe med en SKILL.md-fil slår en stor system prompt
- Hvordan progressive disclosure holder dit token-forbrug nede, selv med hundredvis af skills installeret
- Hvordan du skriver description-feltet - den tekst der afgør, om din skill overhovedet bliver brugt
- Forskellen på en skill, en MCP-server og en AGENTS.md-fil, og hvornår du bruger hvad
- Sådan tester du en skill, inden du lader den udføre handlinger
- De vigtigste faldgruber, fra context rot til skills der gør agenten dårligere
Hvad en Agent Skill er - og hvorfor den slår en stor system prompt
En Agent Skill er en mappe, der indeholder en SKILL.md-fil med to ting: noget metadata (et navn og en beskrivelse) og et sæt instruktioner i almindelig tekst, der fortæller agenten, hvordan en bestemt opgave skal løses. Tænk på det som en SOP - en fast arbejdsgang - du rækker din AI-agent. Mappen kan også indeholde scripts, skabeloner og opslagsmateriale, men det eneste obligatoriske er selve SKILL.md-filen.
Hvorfor er det interessant? Fordi den klassiske måde at gøre en agent dygtigere på - at skrive flere og flere instruktioner ind i én system prompt - har en indbygget grænse. En skill løser fire konkrete problemer, der har plaget AI-agenter, siden de blev brugbare i forretning.
- For mange instruktioner giver dårligere resultater. Når du hælder alt, hvad du kan komme i tanke om, ind i én prompt, falder modellens præcision. Fænomenet kaldes context rot, og det rammer alle store sprogmodeller. En skill indlæses kun, når den skal bruges.
- Agenter har manglet procedurel hukommelse. Sprogmodeller er gode til at huske fakta og hændelser, men har ikke haft en god måde at huske, hvordan en opgave udføres trin for trin. En skill er præcis det: en hukommelse for fremgangsmåder.
- Multi-agent-systemer blev for tunge. I stedet for at bygge og vedligeholde en hær af specialiserede underagenter kan én generel agent skifte rolle ved at hente den rette skill, når den skal bruges.
- Formatet er let og portabelt. En mappe med en markdown-fil kan bruges af stort set enhver agent med adgang til et filsystem - på tværs af leverandører.
Sådan er en skill bygget op: SKILL.md og progressive disclosure
Hver skill bor i sin egen mappe og skal som minimum indeholde en SKILL.md-fil. Resten er valgfrit, og det er her, formatets vigtigste idé kommer ind: du lægger kun det allernødvendigste i selve SKILL.md og flytter alt det tunge ud i undermapper, der først indlæses, når der er brug for dem.
- `scripts/` - kode, agenten kan køre. Deterministisk arbejde som at parse filer, regne eller formatere hører til her. Modellen beslutter hvad; scriptet gør det tunge arbejde.
- `references/` - viden, der kun er relevant, når skillen kører: domæneregler, definitioner, håndtering af særtilfælde. Indlæses on-demand.
- `assets/` - skabeloner, skemaer og andre statiske filer, der bruges i outputtet.
Progressive disclosure: tre niveauer, der holder konteksten lille
Selve mekanikken, der gør skills effektive, hedder progressive disclosure. I stedet for at indlæse alt på én gang henter agenten mere detalje, i takt med at opgaven kræver det. Det foregår i tre niveauer.
De tre niveauer i progressive disclosure
| Niveau | Hvad indlæses | Hvornår | Token-omkostning |
|---|---|---|---|
| 1. Metadata | Navn og description | Altid - for alle installerede skills | ca. 100 tokens pr. skill |
| 2. Instruktioner | Hele SKILL.md-filen | Når skillen aktiveres af en opgave | Anbefalet under 5.000 tokens |
| 3. Ressourcer | Filer i scripts/, references/ og assets/ | Kun når instruktionerne henviser til dem | Kun det, der faktisk bruges |
Beskrivelsen er routing-algoritmen - sådan skriver du den
Hvis du kun bruger tid ét sted, så lad det være på description-feltet. Det er den eneste tekst, modellen ser, når den skal afgøre, om din skill skal indlæses. En vag beskrivelse betyder en ubrugt skill - lige meget hvor god selve indholdet er. Formatet sætter en grænse på 1.024 tegn, men de fleste lander omkring 50 ord.
- Skriv hvad den gør OG hvornår den skal bruges. Begge dele. Det er hvornår-delen, de fleste glemmer.
- Front-load trigger-ordene. Start med handlingen ("Genererer en commit-besked..."), ikke med "Denne skill hjælper med...".
- Skriv eksplicit hvornår den IKKE skal bruges. Det forhindrer, at den aktiveres på de forkerte opgaver.
- Vær insisterende, hvis modellen under-aktiverer. Hellere lidt for tydelig end overset.
Beregner dagligt råvarebehov og laver indkøbslister til caféen. Brug, når brugeren vil estimere dagens forbrug eller lave en bestilling. Brug IKKE til vagtplanlægning eller regnskab.Udfylder og sender tilbud i virksomhedens skabelon. Brug, når brugeren beder om et tilbud, en offert eller et prisforslag til en kunde.Genererer en commit-besked ud fra ændringerne i et repo. Brug, når brugeren har lavet ændringer og skal til at committe.Navngivning: vær åbenlys og kedelig
- Mappenavn i snake_case (fx
bigquery_ingestion), skill-navn i kebab-case (fxpdf-processing). Navnet skal matche mappenavnet. - Foretræk gerund-formen som
managing-databasesfrem for noget generisk. - Undgå generiske navne som
utils,toolsellerhelper- og undlad interne forkortelser, udenforstående ikke kender. - Maks 64 tegn, kun små bogstaver, tal og bindestreger.
De to veje til din første skill
Skills opstår i praksis ad to forskellige veje. Begge ender med det samme: en mappe forankret af en SKILL.md-fil. Men startpunktet er forskelligt.
Vej A: oversæt det, du allerede ved
Den første vej drives af fagfolk, der allerede har viden skrevet ned et sted. En complianceansvarlig med en 30-siders runbook. En HR-ansvarlig med onboarding-guides til nye medarbejdere. Ingen af dem behøver at lære at kode. Indholdet findes; den eneste opgave er at oversætte det til et format, agenten kan bruge fornuftigt. Start med YAML-frontmatter (navn og description), og flyt alt det lange ud i references/.
Vej B: lad agenten krystallisere en arbejdsgang
Den anden vej starter fra den modsatte ende. I stedet for at oversætte noget, du allerede har, fanger du noget, agenten lige har gjort. Agenten løser en opgave godt, du opdager, at arbejdsgangen kan genbruges, og du lader agenten foreslå et udkast til en SKILL.md ud fra det. Du gennemgår udkastet i stedet for at skrive det selv. Det er meta-skills-territorium - skills, hvis opgave er at skrive eller forbedre andre skills.
Skill, MCP eller AGENTS.md - hvad bruger du hvornår?
Skills lever side om side med to andre primitiver, der ofte forveksles med dem. De konkurrerer ikke - de spiller sammen. Det handler om at vide, hvad hver ting er god til.
Tre primitiver, tre forskellige opgaver
| Primitiv | Hvad det er | Hvornår du bruger det |
|---|---|---|
| Agent Skill | En køreplan for, hvordan en bestemt opgave løses - viden om hvordan | Når agenten skal kunne en specifik arbejdsgang godt og konsistent |
| MCP-server | En forbindelse til et eksternt system (database, CRM, API) - adgang til data og handlinger | Når agenten skal hente data eller udføre noget i et andet system |
| AGENTS.md | Projektets faste konventioner, altid indlæst | Til generel kontekst, der gælder hele tiden - fx stack, byggekommandoer og kodestil |
I praksis arbejder de sammen. Når en skill har brug for data, fortæller den agenten, at den skal kalde et værktøj - typisk en MCP-server. Og den reneste opsætning holder AGENTS.md kort og bruger den eventuelt som et kort katalog, der peger agenten ind i skill-biblioteket. Huskeregel: skills plus MCP, ikke skills mod MCP.
Sådan tester du en skill, inden den må noget
En skill uden en test er et håb, ikke en evne. Det lyder hårdt, men det er pointen: en dårligt designet skill aktiverer enten på de forkerte opgaver, giver forkert output eller fylder så meget, at den trækker resten af agentens arbejde ned. Heldigvis fejler skills på forudsigelige måder, der falder i fire kategorier.
De fire måder en skill fejler på
| Fejltype | Hvad der sker | Hvornår den opdages |
|---|---|---|
| Trigger-fejl | Den forkerte skill aktiveres, eller den rigtige aktiveres ikke | I routing-loggen, ved en enkelt forespørgsel |
| Eksekverings-fejl | Skillen aktiveres korrekt, men giver forkert output eller kalder de forkerte værktøjer | I kvaliteten af outputtet |
| Token budget-fejl | En stor skill fylder så meget i konteksten, at den forringer andre opgaver | Under realistisk belastning med flere skills i brug |
| Regression | En ny skill overlapper med en eksisterende og bryder routing, der virkede før | Først når hele biblioteket bruges samlet |
Read / draft / act: lad ikke en skill udføre handlinger fra dag ét
En god regel er at lade en skill stige i gradueringer af, hvad den må. Jo mere uoprettelig en handling er, jo strengere skal testen være, før skillen får lov.
- Read-only (kun læse): Skillen henter, slår op eller beskriver data, men ændrer intet. Sigt efter 90 % trigger-præcision, før den går videre.
- Draft-only (udkast til gennemsyn): Skillen producerer indhold, et menneske godkender. Fx et udkast til en kunde-e-mail.
- Action-allowed (må udføre): Skillen må udføre uoprettelige handlinger på rigtige systemer - fx udstede en refundering. Kræver grundig test og menneskelig godkendelse.
Kendte begrænsninger og faldgruber, du skal kende
Skills er ikke gratis magi, og en guide, der kun nævner fordele, mister troværdighed. Her er de faldgruber, der oftest rammer i praksis.
- Isolation er en fælde. En skill, der virker perfekt alene, kan forringe agenten, når den indlæses sammen med 5 til 15 andre skills i produktion. Test altid under realistiske forhold, ikke kun isoleret.
- Hold token-budgettet stramt. Bliver din SKILL.md lang, hører det næste afsnit sandsynligvis til i
references/. Tommelfingerregel: hold SKILL.md under 500 linjer. - Skriv software, ikke regler. Erstat instruktioner i stil med "GØR ALTID X" med deterministisk kode i
scripts/. Modeller lærer at ignorere store blokke af versaler, præcis som et menneske ignorerer en mur af advarselstekst. - Start ikke med meta-skills. Få den manuelle proces til at virke først. Den hurtigste vej til et dårligt bibliotek er at pege en agent mod en tom mappe og bede den lave 50 skills.
Sådan kommer du i gang i denne uge
Skills virker allerede i Claude-apperne (Free, Pro og Max), i Claude Code og via API'en, så længe code execution er slået til. Der findes også officielle biblioteker at hente fra - blandt andet Anthropics og Googles - så du ikke behøver bygge alt selv. Men den bedste første skill kommer fra din egen forretning.
- 01
Find din mest erfarne praktiker
Tag din dygtigste medarbejder til side i en time, og bed dem fortælle tre arbejdsgange, de udfører jævnligt. Optag samtalen. Transskriptet er næsten bogstaveligt det første udkast til tre skills.
- 02
Kør den mest gentagne arbejdsgang uden skill
Vælg den oftest gentagne opgave, og kør den med agenten - uden nogen skill indlæst. Noter, hvor den fejler. Det giver dig signalet til, hvad skillen skal dække.
- 03
Skriv en SKILL.md og tre testtilfælde
Skriv udkastet ud fra transskriptet. Lav 3 eval-tilfælde (to positive, ét negativt), før du skriver selve indholdet. Brug mest tid på
description-feltet. - 04
Udgiv på read-only og iterér
Læg skillen ud på read-only-niveau, test under produktionslignende forhold, og finpuds beskrivelsen, indtil trigger-præcisionen er over 90 %. Gentag så for den næste arbejdsgang.
System prompt = instinkt. AGENTS.md = projektets README. Værktøjer og MCP = hænder. RAG = bibliotek. En skill = den køreplan, en erfaren kollega rækker dig på dag ét, og som AI'en aldrig glemmer.
Når du henter skills udefra
- 01Foretræk first-party skills til specifikke værktøjer. En skill skrevet af dem, der byggede det underliggende system, er mere korrekt og bedre vedligeholdt end et fællesskabs-alternativ.
- 02Pin alt, du afhænger af. En upinnet afhængighed, der virkede i går, kan fejle i morgen.
- 03Audit, før du tager en skill i brug. En skill er kode, der kører i din kontekst. Behandl den med samme forsigtighed som enhver anden afhængighed.
Ressourcer
Equipping agents for the real world with Agent Skills
Anthropics tekniske introduktion til Agent Skills, progressive disclosure og designprincipperne bag formatet.
Agent Skills - Claude Platform Docs
Den officielle dokumentation for, hvordan skills bygges og bruges på tværs af Claude-produkterne.
Agent Skills - Specification (agentskills.io)
Den åbne standard for SKILL.md-formatet med alle felter, grænser og mappestruktur.
Google's Official Skills Repository
Googles officielle samling af Agent Skills til deres produkter, installerbar med npx skills install.
Context Rot: How Increasing Input Tokens Impacts LLM Performance
Chromas forskning på tværs af 18 modeller, der dokumenterer, hvorfor større kontekstvinduer ikke i sig selv hjælper.
What are skills? - Claude Help Center
Kort officiel gennemgang af, hvad skills er, hvor de virker, og hvordan du finder og installerer dem.
Næste skridt
Tag din mest gentagne manuelle arbejdsgang, optag hvordan din dygtigste medarbejder løser den, og skriv den om til en enkelt SKILL.md med tre testtilfælde. Læg den ud på read-only, og finpuds beskrivelsen, indtil den aktiverer pålideligt. Når den første skill kører, har du mønstret - og så bygger du biblioteket én arbejdsgang ad gangen.
