Claude Architect · Lektion

Skill-frontmatter

context: fork, allowed-tools og argument-hint

Lektion 2 af 413 trin

Skill-frontmatter er en gratis Claude Architect-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Claude Architect, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Claude Architect-kurset indeholder 4 lektioner i alt.

Hvorfor frontmatter er vigtigt

I Claude Code ligger en skill under .claude/skills/ og samler en genanvendelig arbejdsgang. Brødteksten indeholder instruktionerne; den YAML-frontmatter, der står øverst, konfigurerer, hvordan skillen udføres.

Tre frontmatter-nøgler udfører det meste af det arkitektoniske arbejde:

  • context: fork — isolér udførligt output fra din hovedsession.
  • allowed-tools — begræns, hvilke værktøjer skillen må bruge.
  • argument-hint — dokumentér det forventede input.

Hvis du får disse rigtigt, er forskellen mellem en ryddelig skill med mindste privilegium og en skill, der oversvømmer dit kontekstvindue eller kører værktøjer, den aldrig burde bruge.

Opbygningen af en skill-fil

En skill er en Markdown-fil. Den indhegnede YAML-blok øverst er frontmatter; alt nedenunder er den prompt, Claude følger.

Bemærk forskellen fra den ældre mappe .claude/commands/ — .claude/skills/ er det aktuelle hjem. Begge deler projektomfang via VCS, mens en kopi under ~/.claude/ er personlig og ikke deles med kolleger.

---
name: audit-deps
description: Scan dependencies for known CVEs and summarize risk
context: fork
allowed-tools: Read, Grep, Glob, Bash
argument-hint: <package-name> [--severity high]
---

Audit the project's dependencies. If a package name is
provided as $ARGUMENTS, focus on that package; otherwise
scan all manifests. Report only HIGH and CRITICAL findings.

context: fork — Den centrale idé

context: fork kører skillen i en isoleret kontekst, der er forgrenet fra et fælles punkt, og returnerer derefter kun resultatet til hovedsamtalen. Det udførlige, mellemliggende output bliver i forgreningen og forstyrrer aldrig dit primære vindue.

Det er det samme isoleringsprincip, som ligger bag en Explore-subagent: undersøgelsesarbejde skaber meget støj, så du isolerer det og afleverer et rent resumé. Skills gør dette mønster deklarativt — med én linje frontmatter.

Hvorfor isolation beskytter pålideligheden

Kontekstvinduer er ikke uendelige, og modeller er mere opmærksomme på begyndelsen og slutningen af en lang kontekst end på midten (»lost-in-the-middle«). En skill, der søger i hundredvis af filer eller indsætter lange build-logfiler i hovedsessionen, skubber din egentlige opgave ind i dette svage midterområde.

context: fork holder denne mængde ude. Du bevarer opmærksomheden på det vigtige og undgår at bruge tokens på midlertidig værktøjsstøj, som du aldrig får brug for igen.

Hvornår du skal bruge fork (og hvornår du ikke skal)

Fork, når skill'et producerer omfattende output, du ikke har brug for at gemme: afhængighedsscanninger, loganalyse, bred udforskning af kodebasen og kørsel af testsuiter.

Du skal ikke bruge fork, når skill'ets fulde output er det resultat, du vil have direkte i hovedsamtalen — for eksempel en kort refaktorering af én fil, som du skal til at diskutere. Forking tilføjer i så fald blot en ekstra rundtur og skjuler detaljer, du faktisk havde brug for.

  • Fork: støjende informationsindsamling, returnerer et resumé.
  • Ingen fork: små, målrettede ændringer, som du arbejder videre med.
---
name: analyze-logs
description: Parse the last 24h of error logs and surface top failure modes
context: fork
allowed-tools: Read, Grep, Bash
argument-hint: [service-name]
---

Grep the log files for ERROR/FATAL lines, group by message
template, and return ONLY the top 5 failure modes with counts.
Keep raw log lines inside this fork; do not echo them back.

allowed-tools — Mindste privilegium

allowed-tools begrænser skill'et til et navngivet sæt af værktøjer. Det er princippet om mindste privilegium anvendt på en arbejdsgang: et skrivebeskyttet revisionsskill bør aldrig have Write eller Edit.

Det afspejler, hvordan du afgrænser en agents allowed_tools efter dens rolle. Begrænset værktøjsadgang reducerer skadeomfanget og gør samtidig udvælgelsen skarpere — færre, velafgrænsede værktøjer vælges mere pålideligt end en stor blandet samling.

---
name: read-only-review
description: Inspect code and report findings WITHOUT modifying files
context: fork
allowed-tools: Read, Grep, Glob
argument-hint: <path-or-glob>
---

Review the matching files for correctness issues.
You may read and search only. Report findings as a list;
never attempt to edit — you have no write tools.

Begrænsning er ikke håndhævelse

Vær præcis om, hvad allowed-tools garanterer. Det begrænser den menu af værktøjer, som skill'et kan vælge fra — en nyttig, deterministisk grænse for funktionaliteten.

Men det kan ikke erstatte et hook, når en forretningsregel skal overholdes med sikkerhed. Hvis "refunder aldrig over 500 $" eller "push aldrig til main" har økonomiske, juridiske eller sikkerhedsmæssige konsekvenser, skal du håndhæve det med et deterministisk hook (f.eks. PostToolUse eller blokering af udgående kald) i stedet for at håbe på, at skill'ets prompt og værktøjsliste opfører sig korrekt. Prompts er ~90 % sandsynlige; hooks er 100 %.

argument-hint — Dokumentation af input

argument-hint beskriver de argumenter, som skill'et forventer. Det viser brugen for den, der kalder det, og dokumenterer hensigten — vinkelparentes- og firkantparentes-konventionen angiver påkrævede og valgfrie parametre.

Inde i brødteksten modtages argumenterne via $ARGUMENTS (eller positionelt via $1, $2). Hintet er beregnet til mennesker og værktøjer; det fortolker eller validerer ikke — det er skill'ets brødtekst, der afgør, hvordan inputtet skal fortolkes.

---
name: scaffold-endpoint
description: Generate a REST endpoint with handler, route, and test
allowed-tools: Read, Write, Edit, Glob
argument-hint: <resource-name> <http-method> [--auth]
---

Scaffold an endpoint for $1 using HTTP method $2.
If --auth is present, wire in the auth middleware.

Sådan skriver du et godt argument-hint

Et godt hint følger samme disciplin som en god værktøjsbeskrivelse: angiv inputformatet, vis den forventede form, og gør det tydeligt, hvilke dele der er valgfrie.

  • Brug <required> til obligatoriske argumenter.
  • Brug [optional] til flag og ekstra argumenter.
  • Placér positionsargumenterne i den rækkefølge, som brødteksten læser dem i.

Et tvetydigt hint fører til forkert brug på samme måde, som en tvetydig værktøjsbeskrivelse fører til forkert dirigering — klarhed ved grænsen forhindrer fejl længere nede i forløbet.

De tre nøgler samlet

Nøglerne kombineres til én sammenhængende kontrakt. Et korrekt udformet skill siger: her er det, jeg modtager (argument-hint), her er det, jeg må røre (allowed-tools), og her er, hvordan jeg holder din session ryddelig (context: fork).

Læst samlet gør frontmatter det muligt for en kollega at forstå skill'ets adfærd og sikkerhedsgrænse uden at læse brødteksten — præcis det, som en delt, versionsstyret konfiguration bør tilbyde.

---
name: security-scan
description: Static security scan; returns a ranked findings summary
context: fork
allowed-tools: Read, Grep, Glob, Bash
argument-hint: <path> [--fail-on critical]
---

Scan $1 for injection, secrets, and unsafe deserialization.
Run analysis in this fork; return a ranked summary only.
You have no Write/Edit tools — report, do not patch.

Afgrænsning og deling

Hvor skill-filen ligger, afgør, hvem der får adgang til den. Et skill i projektets .claude/skills/ gemmes i VCS og deles med hele teamet. Et skill under ~/.claude/skills/ er personligt — en ny kollega, der kloner repositoriet, vil aldrig se det.

Det er den samme afvejning som mellem CLAUDE.md på brugerniveau og projektniveau. Hvis et skill indeholder en teamstandard, skal du gemme det i projektets afgrænsning, så kontrakten følger med koden.

Hurtigt tjek

Anvend det, du har lært, på en konkret designbeslutning.

Opsummering

Skill-frontmatter er en kompakt kontrakt for sikkerhed og klarhed, bygget op omkring tre nøgler:

  • context: fork — isolér omfattende output, returnér et rent resumé, og beskyt hovedkontekstvinduet mod fortynding som følge af information, der går tabt midt i konteksten.
  • allowed-tools — en kapabilitetsgrænse baseret på mindste privilegium; begrænser værktøjsmenuen, men håndhæver IKKE forretningsregler — brug et deterministisk hook til politikker med økonomiske, juridiske eller sikkerhedsmæssige konsekvenser.
  • argument-hint — dokumenterer det forventede input (<required> kontra [optional]); ligesom en god værktøjsbeskrivelse forhindrer klarhed her forkert brug. Det validerer ikke.

Gem teamets skills i projektets .claude/skills/, så kontrakten følger med koden; gem personlige skills i ~/.claude/.

Gratis at komme i gang

Lær Python med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
26
Lektioner
104

Ofte stillede spørgsmål

Er lektionen “Skill-frontmatter” gratis?

Ja — alle 3 lektioner i læringssporet Claude Architect, inklusive “Skill-frontmatter”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Claude Architect-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Skill-frontmatter”?

context: fork, allowed-tools og argument-hint Du øver dig i Claude Architect med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Claude Architect?

Der kræves ingen tidligere erfaring. Claude Architect på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “Skill-frontmatter”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Claude Architect-lektion?

Ja. Alle Claude Architect-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Brugerdefinerede kommandoer vs. skills
  2. Skill-frontmatter
  3. Plantilstand vs. direkte udførelse
  4. Iterativ forfinelse med eksempler
← Tilbage til Claude Architect