Du har laget en agent og bestemt tonen. Nå spør du hva agenten faktisk skal gjøre. Det er her skill.md-filene kommer inn. Hver ferdighet en agent kan bruke får sin egen skill.md-fil. Det er en stillingsbeskrivelse for én konkret oppgave, og det er kanskje den mest spennende filen i hele OpenClaw, fordi det er her du bestemmer hvilke verktøy agentene faktisk har i hendene.
En skill.md beskriver kun én ferdighet
Det første prinsippet er at hver fil dekker bare én ferdighet. Skal agenten kunne sende e-post, lager du en skill.md for det. Skal den kunne lese kalenderen, lager du en annen. Skal den oppdatere et regneark, en tredje. Du sprer ikke flere ferdigheter inn i samme fil.
Det høres kanskje overdrevent strengt ut, men det er en bevisst struktur. Hver fil blir kort og lett å lese. Hver ferdighet kan endres uten å påvirke de andre. Og du kan kombinere ferdighetene fritt på tvers av agenter, fordi hver enkelt er selvstendig definert.
Vil du forstå hvor skill.md passer inn i hele filstrukturen, anbefaler vi Filer og minne i OpenClaw. Det gir deg helheten før vi dykker ned i detaljene her.
Strukturen øverst i filen
Helt øverst i en skill.md-fil står navnet på ferdigheten. Det er kort og presist. "Send e-post" eller "Oppdater kalender" er typiske eksempler. Du gir den et navn du selv husker, og som forteller hvilken handling agenten kan utføre.
Under navnet kommer en kort beskrivelse av hva ferdigheten gjør. Bare en setning eller to. "Send en e-post fra brukerens innboks. Brukes til å svare på henvendelser eller sende ut informasjon." Det er nok. Du beskriver formålet, ikke den tekniske implementasjonen.
Disse to feltene gir agenten kontekst. Når en agent har flere ferdigheter, leser den disse beskrivelsene for å avgjøre hvilken som passer for oppgaven foran seg. Korte og presise beskrivelser gir mer presis valg av ferdighet.
Når ferdigheten skal brukes, og når den ikke skal
Lengre ned i filen står noen linjer om når ferdigheten skal brukes. Og like viktig, når den ikke skal brukes. Dette er kanskje det viktigste i hele filen, fordi det er her du setter grensene som gjør agenten trygg.
Et godt eksempel er: "Bruk denne ferdigheten når du har et tydelig utkast og brukeren har godkjent å sende. Ikke send e-post automatisk uten godkjenning." Det er to setninger, men de styrer agentens oppførsel hver gang ferdigheten kunne vært relevant.
Disse grensene er det vi setter på vanlig norsk, ikke i kode. Det er du som beslutter hva som er greit. Hvis du vil at agenten alltid skal vise utkast før den sender, sier du det. Hvis du vil at den kan sende automatisk i visse situasjoner, beskriver du de situasjonene.
Hvordan ferdigheten håndterer tvil
Lenger ned beskriver du hva ferdigheten skal gjøre i ulike situasjoner. Hva skal den gjøre hvis e-postadressen mangler? Hva skal den gjøre hvis utkastet er tomt? Hva skal den gjøre hvis brukeren har sagt send, men det ser ut som det er en feil i innholdet?
Du beskriver det som om du forklarer en ny kollega hvordan han skal gjøre noe for første gang. Hvilke ting bør han stoppe og spørre om? Hvilke advarsler skal han følge med på? Hva er normalflyten, og hva er unntakene?
Forskjellen er at en AI-agent aldri glemmer det du har skrevet. Du forklarer det én gang i skill.md, og deretter respekterer agenten reglene hver eneste gang ferdigheten brukes. Det gjør oppstartsinvesteringen verdifull. Det du dokumenterer her, fungerer for alle fremtidige oppgaver.
Skill.md er en stillingsbeskrivelse
Essensen i en skill.md er at det er en stillingsbeskrivelse for én ferdighet. Hva er jobben? Når bruker du den? Når bruker du den ikke? Hvordan håndterer du tvil? Alt sammen i én enkel fil.
Den parallellen er nyttig fordi den hjelper deg å skrive filen riktig. Du tenker som en HR-ansvarlig som lager en stillingsannonse. Du beskriver konkret oppførsel, ikke teknikk. Du setter grenser, ikke bare oppgaver. Du forklarer kontekst, ikke bare prosedyre.
Vil du forstå hvordan skill.md kobler seg til de andre kjernefilene, anbefaler vi artikkelen om agents.md, der ferdigheter listes opp per agent, og artikkelen om soul.md, som styrer kulturen som omslutter alle ferdigheter.
Verktøyene som ferdigheter kobler agenten til
Hver ferdighet kobler agenten til ett konkret verktøy. Det kan være en e-postklient, en kalender, et regneark eller en database. Det er denne koblingen som gjør at agenten kan handle, ikke bare snakke. Vil du forstå hvor ferdigheter passer inn i agentens helhet, anbefaler vi de tre lagene i en AI-agent.
Det viktige med å splitte verktøy i ferdigheter er at du kan gi agenten kun det den trenger. En agent som svarer på e-post trenger ikke tilgang til kalenderen. En agent som lager møteoppsummeringer trenger ikke send-tilgang på e-post. Du gir hver agent en kuratert verktøykasse.
Slik bygger du opp et bibliotek av ferdigheter
Etter hvert som du jobber med OpenClaw, bygger du opp et bibliotek av skill.md-filer. Hver ferdighet er en byggekloss du kan bruke i nye agenter senere. Når du har "Send e-post" på plass, kan flere agenter dele den samme ferdigheten i stedet for at hver definerer sin egen.
Det er denne gjenbruken som gjør at det blir raskere å bygge agent nummer fem enn det gjorde å bygge agent nummer én. Du har infrastrukturen klar. Du må bare beskrive hva den nye agenten skal hete, hvilken rolle den har, og hvilke ferdigheter fra biblioteket den skal kombineres av.
Klar for neste steg
Når du har soul.md, agents.md og skill.md på plass, har du kjernen av en fungerende agent. Neste steg er å forstå hvordan agentene husker det dere har snakket om tidligere. Vi går gjennom det i slik husker AI-agenter med user.md og memory.md.
Vil du se skill.md utforsket linje for linje med video, finner du gjennomgangen i OpenClaw-kurset på Utdannet.no.


