
Claude-ferdigheter vs. utvidelser: Forskjell og bruk
Claude-ferdigheter og -utvidelser: En teknisk gjennomgang av innhold vs. innpakning
Begrepene «Claude-ferdighet» og «Claude-utvidelse» brukes ofte om hverandre, noe som skaper forvirring for utviklere som prøver å utvide Claude Code. I virkeligheten er de ikke det samme. Å forstå forskjellen er ikke bare akademisk; det er fundamentalt for å bygge, installere og feilsøke tilpasset atferd på en effektiv måte.
Hos SkillProof jobber vi med denne mekanikken hver dag. Vi leser ikke bare dokumentasjonen; vi installerer og kjører ferdigheter på reelt arbeid, både fra rene mapper og fra utvidelsespakker. Av de 1877 ferdighetene vi har testet til dags dato, besto bare 1159 (62 %) vår evaluering. Ytterligere 624 krevde konfigurasjon, en tilhørende ferdighet eller en integrasjon før de leverte, og 94 scoret under basislinjen uten ferdigheter – enten kunne de ikke kjøre i det hele tatt, eller de kjørte og etterlot deg dårligere stilt enn om du ikke hadde installert noe. Denne erfaringen gir oss et klart, faktabasert perspektiv på forskjellen mellom en Claude-ferdighet og en utvidelse, og hva du bør bruke.
Den enkleste måten å tenke på det er slik: en ferdighet er innholdet – settet med instruksjoner som lærer Claude en ny atferd. En utvidelse er en innpakning – en distribusjonspakke som kan inneholde én eller flere ferdigheter, sammen med andre typer utvidelser.
Denne artikkelen skiller de to konseptene, ved å bruke de nøyaktige filstiene og kommandoene vi bruker i vår daglige testing. Vi vil dekke hva en ferdighet er, hva en utvidelse er, hvordan de installeres, og når man bør bygge den ene fremfor den andre.
Hva er en Claude Code-ferdighet? Den atomære enheten for atferd
En Claude-ferdighet er den mest fundamentale byggeklossen. Det er, helt bokstavelig, en mappe som inneholder en fil ved navn SKILL.md. Det er alt. Mappenavnet blir ferdighetens identifikator.
SKILL.md-filen har en enkel, todelt struktur:
- YAML Frontmatter: En blokk øverst i filen, omsluttet av
---, som definerer ferdighetens metadata. Feltet som betyr noe erdescription.nameer valgfritt og bruker mappenavnet som standard, og det finnes et titalls andre valgfrie felt (allowed-tools,when_to_use,model,pathsog lignende) som de fleste ferdigheter aldri rører. - Markdown-instruksjoner: Under frontmatter-blokken skriver du ren markdown som forklarer oppgaven til Claude. Dette er din prompt, ditt sett med instruksjoner for hvordan atferden skal utføres.
Avgjørende er at SKILL.md-formatet ikke inkluderer kompleks syntaks for å definere verktøyfunksjoner, API-skjemaer eller parametertyper. Det er ingen påkrevd blokk for «few-shot»-eksempler. Hele systemet er bygget på naturlig språk.
Det viktigste feltet i frontmatter-blokken er description. Dette er ikke bare for menneskelige lesere; det er den primære utløseren for ferdigheten. Når du gir Claude en oppgave, skanner den description-feltene til alle installerte ferdigheter for å finne en match. Hvis oppgavebeskrivelsen din samsvarer med en ferdighets description, laster Claude den ferdighetens markdown-instruksjoner inn i sin kontekst for å veilede responsen. Utelater du det, faller Claude tilbake på det første avsnittet i brødteksten, som sjelden er skrevet for å være en utløser.
Dette er et hyppig feilpunkt vi dokumenterer i testene våre. Vi har sett mange ferdigheter med strålende instruksjoner i markdown-brødteksten som Claude aldri bruker fordi description i frontmatter-blokken var for vag, for spesifikk eller manglet helt. En ferdighet med en beskrivelse som "Aids in development" vil nesten aldri bli utløst. For en dypere titt på hva som kjennetegner en god ferdighet, se vår guide om hva Claude-ferdigheter er.
Hvordan installere en rå-ferdighet
Hvis en ferdighet bare er en mappe, er installasjonen så enkel som å kopiere den mappen til riktig sted. Claude Code ser etter ferdigheter på to steder:
- Global:
~/.claude/skills/ - Prosjektspesifikk:
<your-project-directory>/.claude/skills/
Ferdigheter i den globale mappen er tilgjengelige i alle prosjekter du åpner med Claude Code. Ferdigheter i en prosjektspesifikk mappe lastes bare når du jobber i det prosjektet. Dette er nyttig for oppgaver som er spesifikke for en enkelt kodebase.
For å installere en ferdighet du har lastet ned fra et Git-repository, er prosessen en direkte filoperasjon. For eksempel, etter å ha klonet et repository som inneholder en ferdighet, ville du kjørt:
# Eksempel: Installere en ferdighet i den globale mappen
cp -r path/to/cloned-repo/the-skill-folder ~/.claude/skills/
Claude Code overvåker disse ferdighetsmappene, så en ferdighet du legger til, redigerer eller fjerner, blir fanget opp i den nåværende økten uten en omstart. Unntaket er en ferdighetsmappe som ikke eksisterte da økten startet; oppretter du en slik, må du starte på nytt slik at Claude Code begynner å overvåke den.
Det finnes ikke noe spesielt kommandolinjegrensesnitt for å installere en rå-ferdighet, og ingen --skill-flagg som peker Claude mot en SKILL.md-fil for en enkelt kjøring. Å kopiere mappen er installasjonen.
Denne direkte, filbaserte tilnærmingen er hvordan vi installerer flertallet av ferdighetene i vår katalog. Det er enkelt, transparent og lett å feilsøke. Du kan finne mer detaljerte installasjonseksempler i vår guide til å installere Claude-ferdigheter.
Hva er en Claude-utvidelse? En distribusjonspakke
Hvis en ferdighet er innholdet, er en utvidelse transportkassen. En utvidelse er en selvstendig mappe med komponenter, som vanligvis har et .claude-plugin/plugin.json-manifest som inneholder dens identitetsmetadata (navn, beskrivelse, versjon, forfatter) og kan peke på hvor komponentene befinner seg.
Dette er kjerneforskjellen mellom en Claude-ferdighet og en utvidelse: en utvidelse er designet for å være en pakke. Selv om den kan inneholde en enkelt ferdighet, ligger dens virkelige styrke i evnen til å pakke sammen flere relaterte utvidelser. En utvidelse kan levere:
- Ferdigheter: Én eller flere
SKILL.md-mapper. - Agenter: Spesialiserte underagenter som hoved-Claude-agenten kan delegere arbeid til.
- Skråstrek-kommandoer: Egendefinerte
/-kommandoer du kan kjøre direkte i Claude Code sitt chat-grensesnitt. - Hooks: Skript som kjører automatisk på bestemte punkter i øktens livssyklus.
- MCP-servere: Tilkoblinger til en Model Context Protocol-server, slik at en utvidelse kan koble til en ekstern integrasjon som en del av installasjonen, i stedet for at du må konfigurere det manuelt. For mer om dette, se vår gjennomgang av ferdigheter vs. MCP.
- LSP-servere: Språkservertilkoblinger som gir Claude typefeil og kodenavigasjon.
En utvidelse er ikke bare en innpakning for en enkelt ferdighet. Det er et komplett verktøysett. For eksempel kan en utvidelse for et spesifikt testrammeverk pakke sammen en ferdighet for å skrive nye tester, en skråstrek-kommando for å kjøre dem, og en hook for å kjøre tester før hver commit. Ferdigheten er bare én brikke i puslespillet.
Hvordan utvidelser og markedsplasser fungerer
Fordi utvidelser er mer komplekse pakker, er installasjonsprosessen annerledes. Du kopierer ikke utvidelsesmapper manuelt. Du går via markedsplasser: en markedsplass er et Git-repository som inneholder en .claude-plugin/marketplace.json-fil som lister opp utvidelsene den tilbyr.
Anthropic driver en offisiell markedsplass, claude-plugins-official, som Claude Code legger til for deg automatisk ved oppstart, pluss en felleskapsmarkedsplass på anthropics/claude-plugins-community som du legger til selv og hvis utvidelser har bestått automatisert validering og sikkerhetskontroll. Men systemet er ikke lukket: hvem som helst kan publisere en markedsplass ved å legge en marketplace.json i et repo, og ingenting hindrer deg i å legge den til. Inkludering i den offisielle katalogen er opp til Anthropic; alt utenfor har den kvaliteten vedlikeholderen har valgt å gi det.
For å installere en utvidelse, legger du til dens markedsplass, og installerer deretter utvidelsen ved navn:
Legg til markedsplassen:
/plugin marketplace add anthropics/claude-codeInstaller utvidelsen:
/plugin install commit-commands@claude-code-plugins
Kjør deretter /reload-plugins for å aktivere den i den nåværende økten.
Håndtering av utvidelser er imidlertid ikke begrenset til det interaktive grensesnittet. Det finnes en claude plugin kommandogruppe i skallet (med alias claude plugins) som dekker install, uninstall, enable, disable, update, list, details, init og validate – den dokumenterte måten å installere på uten det interaktive steget, og det du bruker når du skripter et teamoppsett:
claude plugin install commit-commands@claude-code-plugins --scope project
Det finnes også --plugin-dir- og --plugin-url-flagg for å laste en utvidelse kun for én økt, som er måten du prøver noe på før du forplikter deg til det.
Skillet mellom en markedsplass og en kuratert katalog er viktig her, og det er ikke den samme aksen som ferdighet versus utvidelse. En markedsplass er en distribusjonskanal: den forteller deg at en utvidelse eksisterer og installerer den. Screening, der det i det hele tatt skjer, er automatisert. Ingenting av det forteller deg om tingen fungerer på din oppgave.
Claude Code-ferdigheter vs. utvidelser: En side-ved-side-sammenligning
For å gjøre skillet helt klart, her er en direkte sammenligning av nøkkelegenskapene:
| Egenskap | Rå-ferdighet | Utvidelse |
|---|---|---|
| Definisjon | En mappe med en SKILL.md-fil som definerer en enkelt atferd. |
En selvstendig mappe med komponenter, som fungerer som en pakke. |
| Kjernefil | SKILL.md |
.claude-plugin/plugin.json |
| Omfang | Et enkelt sett med instruksjoner for én oppgave. | En pakke med ferdigheter, agenter, kommandoer, hooks, MCP- og LSP-servere. |
| Installasjon | Manuell kopiering: cp -r ... ~/.claude/skills/ |
/plugin install <name>@<market>, eller claude plugin install |
| Distribusjon | Direkte mappedeling, Git-repository. | Via en markedsplass (et Git-repo med et manifest). |
| Bruksområde | Personlig bruk, verktøy for ett formål, rask prototyping. | Teamdistribusjon, komplekse verktøysett, flerdelt atferd. |
Hvordan SkillProof tester begge
Vår testmetodikk er agnostisk til installasjonsmetoden. Enten en ferdighet kommer som en rå mappe eller i en utvidelsespakke, er prosessen vår den samme. Vi installerer den og evaluerer deretter ytelsen til de underliggende SKILL.md-instruksjonene mot et standardisert sett med oppgaver.
Distribusjonsmetoden endrer ikke ferdighetens atferd. En dårlig skrevet SKILL.md-fil vil yte like dårlig enten du kopierer den manuelt eller installerer den med /plugin install.
Faktisk er en gjentakende feil vi støter på, en pakke som installeres perfekt, men som inneholder en ferdighet som aldri utløses. Installasjonen fullføres uten feil, ferdigheten vises i listen, og så bruker Claude den aldri, fordi description i dens SKILL.md er for tynn til å matche noe en bruker faktisk ville skrevet. Ingenting i installasjonen rapporterer dette. Du finner det bare ut ved å gi Claude oppgaven ferdigheten var ment å håndtere og se den svare som om ferdigheten ikke var der – som er nøyaktig den testen vi kjører.
Dette er en del av grunnen til at 624 av de 1877 ferdighetene vi har testet, får dommen «Fungerer med oppsett» i stedet for «bestått»: de leverer, men ikke rett ut av boksen, og innpakningen har en tendens til å skjule årsaken.
Bør jeg bygge en ferdighet eller en utvidelse?
Dette bringer oss til det praktiske spørsmålet: når du har en ny atferd for Claude, bør du bygge en ferdighet eller en utvidelse?
Svaret er enkelt: start alltid med å bygge en ferdighet.
Opprett din
your-skill-name/SKILL.md-fil. Fokuser på å skrive klare, effektive instruksjoner og en presis, utløservennligdescription. Test den lokalt ved å kopiere den til~/.claude/skills/.Iterer på
SKILL.mdtil den fungerer pålitelig. Dette er 99 % av arbeidet. Innholdet i denne filen er det som leverer verdien.
Først etter at du har en velprøvd, fungerende ferdighet, bør du vurdere å pakke den som en utvidelse. Beslutningen om å lage en utvidelse bør være drevet av distribusjonsbehov, ikke av kompleksiteten til selve ferdigheten.
Pakk som en utvidelse hvis:
- Du leverer mer enn én komponent. For eksempel, en ferdighet for å generere API-dokumentasjon og en skråstrek-kommando
/generate-docsfor å utløse den for hele prosjektet. - Du trenger å distribuere et sett med ferdigheter til et team med en enkelt, enkel installasjonskommando.
- Du bygger en mer avansert utvidelse som er avhengig av hooks, underagenter eller andre funksjoner som kun er for utvidelser.
Hvis du har en enkelt ferdighet for personlig bruk, er det unødvendig merarbeid å lage en utvidelse. En rå ferdighetsmappe i ~/.claude/skills/ er enklere og mer direkte.
Konklusjon: Fokuser på ferdigheten, ikke innpakningen
Hovedpoenget er at ytelsen kommer fra kvaliteten på SKILL.md-filen, ikke innpakningen. En utvidelse er en distribusjonsmekanisme, ikke en kvalitetsgaranti. Som dataene våre viser, feiler selv pent pakkede ferdigheter: 94 av de vi har testet, scoret under det Claude gjør uten noen ferdighet installert i det hele tatt.
Forskjellen mellom Claude-ferdigheter og -utvidelser er ikke et spørsmål om bra vs. dårlig, men om omfang og formål. Den ene er instruksjonen; den andre er esken den sendes i.
Relatert lesing: for en grundig gjennomgang av innpakningssiden – manifester, markedsplass-struktur og hva du bør sjekke før du legger til noens repo – se vår guide til Claude Code-utvidelser. For innholdssiden dekker hva Claude-ferdigheter er hvordan formatet fungerer før du skriver din første.
Å finne de 1159 ferdighetene som faktisk består testene våre, er grunnen til at vi bygget SkillProof. Hvis du vil hoppe over prøving og feiling, er vår katalog med testede kodeferdigheter et godt sted å starte. Hvis du heller vil installere et sett som allerede er testet sammen, selger vi rollebaserte pakker på ti – Developer Toolkit, Writer Pack, Security & Code Review og fem andre – for $10 hver på /bundles.
★ 9.6/10 × 3
Den gratis startpakken
De 3 skillsene med våre høyeste testscorer pluss installasjonssjekklisten — oppsettet vi selv ville lagt på en fersk maskin. Gratis, på e-post.