Hopp til innhold

Claude Code: Skills — Bygg dine egne kommandoer

Skills lar deg lære Claude Code nye triks med enkle tekstfiler. Lag egne kommandoer, automatiser arbeidsflyter og del dem med teamet.

6 min lesing min lesetid

Oransje blokkrobot som holder en oppskriftsbok med lysende skill-kort som svever rundt den

Kort fortalt

Claude Code er kraftig rett ut av boksen. Den kan lese filene dine, kjøre programmer og bygge hele prosjekter. Men hvert team, hvert prosjekt og hver person jobber forskjellig. Skills lar deg lære Claude hvordan du jobber ved å skrive enkle tekstfiler kalt SKILL.md. Tenk på en skill som et oppskriftskort du gir til en kokk: det forteller Claude nøyaktig hvilke ingredienser som trengs, hvilke steg som skal følges, og hvordan resultatet skal se ut. Når oppskriften finnes, kan Claude følge den når som helst situasjonen krever det, eller du kan be om den ved navn.

Du trenger ikke å være programmerer for å lage skills. Klarer du å skrive et sett med instruksjoner på vanlig norsk, kan du bygge en skill.

Kokebok-analogien

Se for deg at Claude Code er en talentfull kokk som kan lage nesten hva som helst. Uten skills må du forklare hver rett fra bunnen av hver gang. «Først, forvarm ovnen. Så bland mel og smør...» Det fungerer, men det er tregt og repetitivt.

Skills er kokeboken. Hver skill er et oppskriftskort med tydelige instruksjoner. Når du sier «lag deploy-retten», åpner Claude oppskriften og følger den steg for steg. Du skrev oppskriften én gang. Claude følger den for alltid.

Analogien holder seg på flere måter:

Kokebok-konseptSkills-ekvivalent
OppskriftskortSKILL.md-fil
Navn på rettenSkråstrekkommandoen (f.eks. /deploy)
IngredienslisteStøttefiler, maler, skript
Kokkens personlige kokebokPersonlige skills i ~/.claude/skills/
Restaurantens husoppskrifterProsjektskills i .claude/skills/
KokebokforlagPlugins og enterprise-administrerte skills

Slik ser en skill ut

En skill er en mappe som inneholder en fil kalt SKILL.md. Filen har to deler: en header (kalt frontmatter) som gir Claude metadata om skillen, og en brødtekst med de faktiske instruksjonene.

Her er et enkelt eksempel. Denne skillen lærer Claude å forklare kode med diagrammer og hverdagslige analogier:

---
name: explain-code
description: Explains code with visual diagrams and analogies.
  Use when explaining how code works or when the user asks
  "how does this work?"
---

When explaining code, always include:

1. **Start with an analogy**: Compare the code to something
   from everyday life
2. **Draw a diagram**: Use ASCII art to show the flow
3. **Walk through the code**: Explain step-by-step what happens
4. **Highlight a gotcha**: What is a common mistake?

Keep explanations conversational.

Lagre dette som ~/.claude/skills/explain-code/SKILL.md, og du har en fungerende skill. Claude kan nå bruke den automatisk når du spør hvordan noe fungerer, eller du kan skrive /explain-code for å kalle den direkte.

To typer skills

Ikke alle oppskrifter er like. Noen er referansemateriale du vil at Claude skal ha i bakhodet. Andre er handlingsplaner med steg-for-steg-instruksjoner. Skills fungerer på samme måte.

Referanse-skills: bakgrunnskunnskap

En referanse-skill (reference skill) tilfører konvensjoner, mønstre eller domenekunnskap som Claude bruker på det du jobber med. Tenk på det som en stilguide festet til veggen.

---
name: api-conventions
description: API design patterns for this codebase
---

When writing API endpoints:
- Use RESTful naming conventions
- Return consistent error formats with status codes
- Include request validation on every route
- Log errors with structured JSON

Claude laster denne automatisk når du jobber med API-kode. Du trenger aldri skrive /api-conventions. Den bare vet.

Oppgave-skills: steg-for-steg-handlinger

En oppgave-skill (task skill) gir Claude en sjekkliste å følge når du utløser den. Tenk på det som en oppskrift du trekker frem når det er tid for å lage en bestemt rett.

---
name: deploy
description: Deploy the application to production
disable-model-invocation: true
---

Deploy the application:
1. Run the test suite
2. Build the application
3. Push to the deployment target
4. Verify the deployment succeeded

Linjen disable-model-invocation: true er viktig her. Den betyr at bare du kan utløse denne skillen ved å skrive /deploy. Du vil ikke at Claude skal bestemme seg for å deploye applikasjonen din bare fordi koden ser klar ut.

Innebygde skills: klare fra start

Claude Code leveres med fem innebygde skills (bundled skills) du kan bruke med en gang. Disse er ikke enkle snarveier. De er detaljerte spillebøker som lar Claude koordinere komplekst arbeid, inkludert å starte flere agenter parallelt.

SkillHva den gjør
/batch <instruksjon>Del opp en stor oppgave i 5-30 uavhengige enheter og kjør dem alle parallelt, hver i sitt eget isolerte arbeidsområde. Perfekt for migrasjoner på tvers av kodebasen
/claude-apiLast inn referansemateriale for å bygge med Claude-APIet. Aktiveres automatisk når koden din importerer Anthropic SDK
/debug [beskrivelse]Skru på feilsøkingslogging og hjelp med å feilsøke problemer ved å lese sesjonsloggen
/loop [intervall] <prompt>Kjør en prompt gjentatte ganger på en tidsplan. Eksempel: /loop 5m check if the website is up
/simplify [fokus]Gjennomgå nylig endrede filer for kodekvalitet, og fiks problemene. Starter tre gjennomgangsagenter parallelt

Hovedforskjellen mellom innebygde skills og innebygde kommandoer (som /help eller /compact) er at innebygde skills er prompt-baserte. De gir Claude en detaljert spillebok og lar den finne den beste tilnærmingen for akkurat din kodebase. Innebygde kommandoer kjører fast logikk.

Hvor skills bor

Hvor du lagrer en skill bestemmer hvem som kan bruke den. Tenk på det som forskjellige hyller i et kjøkken:

PlasseringStiHvem kan bruke den
EnterpriseAdministrert av organisasjonen dinAlle i selskapet
Personlig~/.claude/skills/skill-name/SKILL.mdDeg, i alle prosjektene dine
Prosjekt.claude/skills/skill-name/SKILL.mdAlle som jobber med dette prosjektet
PluginInne i en installert pluginDer pluginen er aktivert

Når to skills har samme navn, vinner den høyere hyllen: enterprise slår personlig, personlig slår prosjekt. Plugin-skills bruker et navnerom (namespace), som plugin-name:skill-name, slik at de aldri kolliderer med de andre.

Et ord om egendefinerte kommandoer (custom commands): Hvis du har brukt .claude/commands/-filer, fungerer de fortsatt perfekt. Faktisk skaper både .claude/commands/deploy.md og .claude/skills/deploy/SKILL.md den samme /deploy-kommandoen. Skills er det nyere formatet og støtter ekstra funksjoner som støttefiler, men dine eksisterende kommandoer fortsetter å fungere uten endringer.

Sende argumenter

Skills kan ta imot inndata. Plassholderen $ARGUMENTS erstattes med det du skriver etter skill-navnet.

---
name: fix-issue
description: Fix a GitHub issue
disable-model-invocation: true
---

Fix GitHub issue $ARGUMENTS following our coding standards.

1. Read the issue description
2. Understand the requirements
3. Implement the fix
4. Write tests
5. Create a commit

Skriv /fix-issue 123 og Claude mottar «Fix GitHub issue 123 following our coding standards.»

For skills som tar flere inndata, bruk nummererte argumenter. $0 er det første argumentet, $1 er det andre:

---
name: migrate-component
description: Migrate a component from one framework to another
---

Migrate the $0 component from $1 to $2.
Preserve all existing behavior and tests.

Kjører du /migrate-component SearchBar React Vue, får Claude beskjed om å migrere SearchBar-komponenten fra React til Vue. Argumenter med flere ord trenger anførselstegn: /migrate-component "Search Bar" React Vue.

Dynamisk kontekstinjeksjon

Her blir skills virkelig kraftfulle. Syntaksen !`kommando` kjører en shell-kommando (terminal command) før Claude ser skill-innholdet. Kommandoens output erstatter plassholderen, slik at Claude mottar ekte, ferske data.

---
name: pr-summary
description: Summarize changes in a pull request
---

## Pull request context
- PR diff: !`gh pr diff`
- PR comments: !`gh pr view --comments`
- Changed files: !`gh pr diff --name-only`

## Your task
Summarize this pull request. Highlight breaking changes
and suggest improvements.

Når du skriver /pr-summary, skjer tre ting før Claude ser noe som helst:

  1. gh pr diff kjøres og fanger opp den faktiske diffen
  2. gh pr view --comments henter de virkelige kommentarene
  3. gh pr diff --name-only lister opp endrede filer

Claude mottar den ferdig rendrede prompten med ekte PR-data allerede innebygd. Dette er forprosessering (preprocessing). Claude kjører ikke disse kommandoene. Den ser bare resultatet.

Kontrollere hvem som kan utløse en skill

To frontmatter-felt lar deg styre tilgang:

InnstillingDu kan kalleClaude kan kalleBruksområde
Standard (ingen innstilling)JaJaGenerell kunnskap og konvensjoner
disable-model-invocation: trueJaNeiHandlinger med sideeffekter: deploy, commit, sende meldinger
user-invocable: falseNeiJaBakgrunnskunnskap Claude bør kjenne, men som brukere ikke skal trigge direkte

Dette betyr mer enn det kanskje høres ut. En deploy-skill bør aldri kjøre fordi Claude syntes koden så klar ut. En skill med kontekst om et gammelt system bør alltid være tilgjengelig for Claude, men aldri fylle opp /-menyen din.

Støttefiler

En skill kan inneholde mer enn bare SKILL.md. Tenk på skill-mappen som en oppskriftsboks: hovedkortet ligger øverst, men under finnes referanseark, maler og hjelpeskript.

my-skill/
├── SKILL.md           # Hovedinstruksjoner (påkrevd)
├── template.md        # Mal Claude kan fylle ut
├── examples/
│   └── sample.md      # Eksempel som viser forventet format
└── scripts/
    └── validate.sh    # Skript Claude kan kjøre

Referer til disse filene fra SKILL.md slik at Claude vet de finnes og når de skal lastes. Hold selve SKILL.md under 500 linjer. Flytt detaljert referansemateriale til separate filer.

Kjøre skills i isolasjon

Legg til context: fork i frontmatteren for å kjøre en skill i en separat subagent (en selvstendig Claude-instans som jobber uavhengig). Skill-innholdet blir oppgaven for den subagenten, og resultatene oppsummeres tilbake til hovedsamtalen din.

---
name: deep-research
description: Research a topic thoroughly
context: fork
agent: Explore
---

Research $ARGUMENTS thoroughly:

1. Find relevant files using Glob and Grep
2. Read and analyze the code
3. Summarize findings with specific file references

Dette er nyttig for oppgaver som ikke bør forstyrre den nåværende samtalen din. Subagenten jobber i sin egen isolerte kontekst og rapporterer tilbake når den er ferdig.

Dele skills

Fordi skills bare er filer, er deling rett frem:

  • Med teamet ditt: Legg skills i .claude/skills/ i prosjektets repository. Alle som kloner repoet får skillene automatisk.
  • Som en plugin: Pakk skills inn i en plugin som andre kan installere. Plugin-skills bruker et navnerom slik at de aldri kolliderer med prosjekt- eller personlige skills.
  • Hele organisasjonen: Selskaper kan distribuere administrerte skills (managed skills) til alle brukere gjennom enterprise-innstillinger.

Alt i praksis: et eksempel fra virkeligheten

Her er en skill som genererer en ukentlig statusrapport for prosjektet. Den kombinerer flere konsepter: dynamisk kontekstinjeksjon, støtte for argumenter og oppgave-lignende instruksjoner.

---
name: weekly-report
description: Generate a weekly status report for the project
disable-model-invocation: true
context: fork
---

## Project context
- Recent commits: !`git log --oneline -20`
- Open issues: !`gh issue list --limit 10`
- Open PRs: !`gh pr list --limit 10`

## Your task
Write a concise weekly status report for $ARGUMENTS
(or the current project if no name is given).

Include:
1. What was accomplished this week
2. What is in progress
3. Any blockers or risks
4. Priorities for next week

Format as markdown. Keep it under 500 words.

Skriv /weekly-report og Claude henter ferske data fra git og GitHub, analyserer dem, og skriver en komplett statusrapport. context: fork sørger for at den kjører i isolasjon slik at den ikke forstyrrer det du holder på med. disable-model-invocation: true sørger for at Claude bare genererer rapporten når du ber om det.

Det er kraften i skills: du skriver oppskriften én gang, og Claude følger den perfekt hver gang.

Ordliste

BegrepForklaring
SkillEn tekstfil (SKILL.md) som lærer Claude Code en ny ferdighet eller arbeidsflyt
SKILL.mdHovedinstruksjonsfilen inne i en skill-mappe. Inneholder frontmatter og markdown-instruksjoner
FrontmatterMetadata-seksjonen mellom ----markører øverst i en SKILL.md-fil. Styrer hvordan skillen oppfører seg
Skråstrekkommando (slash command)En skill som kalles ved å skrive / etterfulgt av skill-navnet, som /deploy eller /fix-issue
Innebygd skill (bundled skill)En skill som leveres med Claude Code og er tilgjengelig i hver sesjon, som /batch eller /simplify
Referanse-skill (reference skill)En skill som gir bakgrunnskunnskap Claude bruker automatisk, som kodekonvensjoner
Oppgave-skill (task skill)En skill med steg-for-steg-instruksjoner for en spesifikk handling, vanligvis utløst manuelt
Dynamisk kontekstinjeksjon (dynamic context injection)!`kommando`-syntaksen som kjører shell-kommandoer før Claude ser skillen, og injiserer ferske data
SubagentEn selvstendig Claude-instans som jobber uavhengig. Skills med context: fork kjører i en subagent
PluginEn pakke med skills, verktøy eller konfigurasjon som kan installeres og deles på tvers av prosjekter

Kilder og ressurser

Del denne artikkelen