Übersicht
Agent Skills erweitern Claude um spezialisierte Fähigkeiten, die Claude autonom aufruft, wenn relevant. Skills werden alsSKILL.md-Dateien verpackt, die Anweisungen, Beschreibungen und optionale unterstützende Ressourcen enthalten.
Umfassende Informationen zu Skills, einschließlich Vorteile, Architektur und Authoring-Richtlinien, finden Sie in der Agent Skills-Übersicht.
Wie Skills mit dem SDK funktionieren
Bei Verwendung des Claude Agent SDK sind Skills:- Als Dateisystem-Artefakte definiert: Erstellt als
SKILL.md-Dateien in spezifischen Verzeichnissen (.claude/skills/) - Aus dem Dateisystem geladen: Skills werden aus Dateisystem-Speicherorten geladen, die von
settingSources(TypeScript) odersetting_sources(Python) gesteuert werden - Automatisch erkannt: Sobald Dateisystem-Einstellungen geladen sind, werden Skill-Metadaten beim Start aus Benutzer- und Projektverzeichnissen erkannt; vollständiger Inhalt wird geladen, wenn ausgelöst
- Modell-aufgerufen: Claude wählt autonom basierend auf dem Kontext, wann sie verwendet werden
- Gefiltert über die
skills-Option: Erkannte Skills sind standardmäßig aktiviert. Übergeben Sie eine Liste von Skill-Namen,"all"oder[], um zu steuern, welche in der Sitzung verfügbar sind
Skills werden durch die Dateisystem-Einstellungsquellen erkannt. Mit Standard-
query()-Optionen lädt das SDK Benutzer- und Projektquellen, sodass Skills in ~/.claude/skills/, <cwd>/.claude/skills/ und .claude/skills/ in jedem übergeordneten Verzeichnis von <cwd> bis zur Repository-Root verfügbar sind. Wenn Sie settingSources explizit festlegen, schließen Sie 'user' oder 'project' ein, um die Skill-Erkennung beizubehalten, oder verwenden Sie die plugins-Option, um Skills aus einem bestimmten Pfad zu laden.Verwendung von Skills mit dem SDK
Legen Sie dieskills-Option auf query() fest, um zu steuern, welche Skills der Sitzung zur Verfügung stehen. Wenn weggelassen, sind erkannte Skills aktiviert und das Skill-Tool ist verfügbar, was dem CLI-Verhalten entspricht. Übergeben Sie "all", um jeden erkannten Skill zu aktivieren, eine Liste von Skill-Namen, um nur diese zu aktivieren, oder [], um alle zu deaktivieren. Wenn Sie skills festlegen, fügt das SDK das Skill-Tool automatisch zu allowedTools hinzu. Wenn Sie auch eine explizite tools-Liste übergeben, nehmen Sie "Skill" in diese Liste auf, damit Claude Skills aufrufen kann.
Nach der Konfiguration erkennt Claude automatisch Skills aus dem Dateisystem und ruft sie auf, wenn sie für die Anfrage des Benutzers relevant sind.
name-Feld in SKILL.md oder dem Skill-Verzeichnisnamen. Verwenden Sie plugin:skill für von Plugins bereitgestellte Skills.
skills-Option ist ein Kontextfilter, kein Sandbox. Nicht aufgelistete Skills sind für das Modell verborgen und werden vom Skill-Tool abgelehnt, aber ihre Dateien bleiben auf der Festplatte und sind über Read und Bash erreichbar.
Skill-Speicherorte
Skills werden aus Dateisystem-Verzeichnissen basierend auf IhrersettingSources/setting_sources-Konfiguration geladen:
- Projekt-Skills (
.claude/skills/): Mit Ihrem Team über Git geteilt - geladen, wennsetting_sources"project"enthält - Benutzer-Skills (
~/.claude/skills/): Persönliche Skills über alle Projekte hinweg - geladen, wennsetting_sources"user"enthält - Plugin-Skills: Mit installierten Claude Code-Plugins gebündelt
Erstellen von Skills
Skills werden als Verzeichnisse definiert, die eineSKILL.md-Datei mit YAML-Frontmatter und Markdown-Inhalt enthalten. Das description-Feld bestimmt, wann Claude Ihren Skill aufruft.
Beispiel-Verzeichnisstruktur:
- Agent Skills in Claude Code: Vollständige Anleitung mit Beispielen
- Agent Skills Best Practices: Authoring-Richtlinien und Namenskonventionen
Tool-Einschränkungen
Das
allowed-tools-Frontmatter-Feld in SKILL.md wird nur unterstützt, wenn Sie Claude Code CLI direkt verwenden. Es gilt nicht bei Verwendung von Skills über das SDK.Bei Verwendung des SDK steuern Sie den Tool-Zugriff über die Hauptoption allowedTools in Ihrer Query-Konfiguration.allowedTools, um bestimmte Tools vorab zu genehmigen. Ohne einen canUseTool-Callback wird alles, was nicht in der Liste enthalten ist, verweigert:
Import-Anweisungen aus dem ersten Beispiel werden in den folgenden Code-Snippets angenommen.
Verfügbare Skills entdecken
Um zu sehen, welche Skills in Ihrer SDK-Anwendung verfügbar sind, fragen Sie einfach Claude:Testen von Skills
Testen Sie Skills, indem Sie Fragen stellen, die ihren Beschreibungen entsprechen:Fehlerbehebung
Skills nicht gefunden
Überprüfen Sie die settingSources-Konfiguration: Skills werden durch dieuser- und project-Einstellungsquellen erkannt. Wenn Sie settingSources/setting_sources explizit festlegen und diese Quellen weglassen, werden Skills nicht geladen:
settingSources/setting_sources finden Sie in der TypeScript SDK-Referenz oder Python SDK-Referenz.
Überprüfen Sie das Arbeitsverzeichnis: Das SDK lädt Skills aus .claude/skills/ in der cwd-Option und in jedem übergeordneten Verzeichnis bis zur Repository-Root. Stellen Sie sicher, dass cwd auf ein Verzeichnis verweist, das .claude/skills/ enthält oder darunter liegt, innerhalb desselben Repositorys:
Skill wird nicht verwendet
Überprüfen Sie dieskills-Option: Wenn Sie eine skills-Liste übergeben haben, bestätigen Sie, dass der Name des Skills enthalten ist. Das Übergeben von [] deaktiviert alle Skills.
Überprüfen Sie die Beschreibung: Stellen Sie sicher, dass sie spezifisch ist und relevante Schlüsselwörter enthält. Siehe Agent Skills Best Practices für Anleitung zum Schreiben effektiver Beschreibungen.
Zusätzliche Fehlerbehebung
Für allgemeine Skills-Fehlerbehebung (YAML-Syntax, Debugging usw.) siehe den Claude Code Skills-Fehlerbehebungsabschnitt.Zugehörige Dokumentation
Skills-Leitfäden
- Agent Skills in Claude Code: Vollständiger Skills-Leitfaden mit Erstellung, Beispielen und Fehlerbehebung
- Agent Skills Overview: Konzeptionelle Übersicht, Vorteile und Architektur
- Agent Skills Best Practices: Authoring-Richtlinien für effektive Skills
- Agent Skills Cookbook: Beispiel-Skills und Vorlagen
SDK-Ressourcen
- Subagents im SDK: Ähnliche dateisystem-basierte Agenten mit programmatischen Optionen
- Slash Commands im SDK: Benutzer-aufgerufene Befehle
- SDK-Übersicht: Allgemeine SDK-Konzepte
- TypeScript SDK-Referenz: Vollständige API-Dokumentation
- Python SDK-Referenz: Vollständige API-Dokumentation