Gesproken samenvatting — druk op afspelen om mee te lezen: de gesproken regel blijft bovenaan.
Vaardigheden zijn mappen met instructies, scripts en resources die Claude dynamisch laadt om de prestaties bij gespecialiseerde taken te verbeteren. In het hart van elke Vaardigheid zit een SKILL. md bestand — een verpakte set instructies die je eenmaal uploadt en vervolgens aan elke messages. create aanroep kunt toevoegen. Je leert Claude hoe jij iets doet: je statusrapportformat, je beoordelingschecklist, je releasenotes. Claude leest de Vaardigheid, volgt de procedure en produceert output in jouw vorm.
Vaardigheden vs. tools
Het is goed om het verschil duidelijk te maken, want de twee lossen verschillende problemen op:
- Tools verbinden Claude met gegevens en acties. "Zoek deze codesectie op," "stuur deze e-mail" — Claude roept de tool aan en iets anders wordt uitgevoerd.
- Vaardigheden leren Claude een procedure. "Genereer het dagelijkse statusrapport volgens deze sjabloon" — het is een playbook dat Claude leest en volgt, wat soms betekent dat het gebundelde scripts zelf uitvoert.
Een eenvoudige manier om het te onthouden: tools gaan over wat Claude kan doen, terwijl Vaardigheden gaan over hoe je wilt dat het wordt gedaan.
Zijdelingse vergelijking van tools en Vaardigheden: tools verbinden met gegevens, voeren acties uit en voeren code uit — wat Claude kan doen; Vaardigheden leren een procedure met alleen instructies, geen code wordt uitgevoerd — hoe je wilt dat het wordt gedaan
Nog iets wat het weten waard is: Vaardigheden laden niet volledig in context bij het opstarten. Alleen de naam en beschrijving laden eerst. Wanneer je agent besluit dat een Vaardigheid relevant is, laadt het vervolgens de volledige Vaardigheid in context. Dit houdt je context schoon, zelfs wanneer veel Vaardigheden beschikbaar zijn.
Een Vaardigheid uploaden
Vaardigheden worden eenmaal naar je workspace geüpload en vervolgens via ID gerefereerd. Je kunt rechtstreeks op het Claude Platform uploaden of het programmatisch doen:
skill = client. beta. skills. create( display_title="Status Report Generator", files=files_from_dir("status-report-skill"), # folder containing SKILL. md )
print(skill. id) # reference this ID in future requests
Voor dit voorbeeld wil ik een statusrapportgenerator. Alle regels voor wat een goed statusrapport maakt — secties, toon, hoe je samenvat, hoe je blockers aanpakt — leven in een Vaardigheid die vooraf is verpakt. Het activiteitenlogboek zelf is slechts een string die op aanvraagtijd wordt doorgegeven.
Een Vaardigheid aan een aanvraag toevoegen
Vaardigheden worden aan een aanvraag gekoppeld via de containerconfiguratie — een skills array in de container, waarbij elk item een skill_id en version noemt. Hier is de volledige aanroep voor de statusrapportgenerator:
response = client. beta. messages. create( model="claude-sonnet-4-5", max_tokens=4096, betas=["skills-2025-10-02", "code-execution-2025-08-25"], container={ "skills": [ { "type": "custom", "skill_id": skill. id, "version": "latest", } ] }, tools=[ { "type": "code_execution_20250825", "name": "code_execution", } ], messages=[ { "role": "user", "content": f"Generate the daily status report from this activity log:\n\n{activity_log}", } ], )
Een paar dingen die het waard zijn om op te wijzen:
- We roepen client. beta. messages. create aan, niet de standaard, en geven de vaardigheidsfunctie door via de beta header. Op het moment van deze video zijn Vaardigheden nog een betafunctie.
- container. skills is waar de Vaardigheid zich aansluit. Het is een lijst, dus je kunt meerdere Vaardigheden op één aanroep stapelen.
- Code execution is hier ook ingeschakeld. Vaardigheden werken vaak goed samen met code execution, omdat Vaardigheidsprocedures echt werk kunnen doen — zoals scripts in een terminal uitvoeren.
Het uitvoeren
De output is een statusrapport dat precies zo is opgemaakt als de Vaardigheid zegt. Secties, toon, blocker-afhandeling — het komt allemaal uit het SKILL. md bestand dat je hebt geüpload. De gebruikersprompt is één regel; de procedure leeft in de Vaardigheid.
Terminaloutput van het gegenereerde dagelijkse statusrapport, met Done en Blockers secties en een samenvatting opgemaakt door de Vaardigheid
In een productie-app is dit hoe een team output in een hele functie standaardiseert. Met dit dagelijkse statusrapport-eindpunt krijgt elke PM dezelfde structuur, dezelfde toon, dezelfde secties, in dezelfde volgorde — zonder dat iemand een sjabloon in een prompt hoeft te kopiëren.
Een projectmanagement-app met een Daily reports pagina, waar het activiteitenlogboek van elk project een knop Generate report met één klik heeft, ondersteund door de Vaardigheid
Samenvatting
- **Vaardigheden verpakken je procedures. ** Een SKILL. md bestand (plus eventuele scripts en resources) leert Claude hoe je wilt dat iets wordt gedaan.
- **Tools vs. Vaardigheden:** tools gaan over wat Claude kan doen; Vaardigheden gaan over hoe je wilt dat het wordt gedaan.
- **Vaardigheden laden progressief. ** Alleen de naam en beschrijving laden bij het opstarten; de volledige Vaardigheid laadt in context wanneer de agent besluit deze te gebruiken.
- Upload eenmaal met client. beta. skills. create, vervolgens voeg toe met container. skills op elke messages. create aanroep — een lijst, dus je kunt meerdere Vaardigheden stapelen.
- Combineer met code execution wanneer de procedure van de Vaardigheid echt werk moet doen.
- Grijp naar een Vaardigheid wanneer het hoe net zo belangrijk is als het wat.