SpyBara
Go Premium

agent-sdk/skills.md 2026-05-07 22:59 UTC to 2026-05-08 22:00 UTC

314 added, 0 removed.

2026
Sun 31 06:39 Sat 30 06:23 Fri 29 06:38 Thu 28 06:37 Wed 27 06:42 Tue 26 06:33 Sun 24 06:25 Sat 23 06:18 Fri 22 06:33 Thu 21 06:36 Wed 20 06:35 Tue 19 06:34 Mon 18 23:59 Sun 17 01:01 Fri 15 22:58 Thu 14 17:02 Wed 13 23:01 Tue 12 22:57 Mon 11 23:00 Sun 10 23:03 Sat 9 04:57 Fri 8 22:00 Thu 7 22:59 Tue 5 23:00 Mon 4 22:58 Sat 2 18:14 Fri 1 18:19

Agent Skills im SDK

Erweitern Sie Claude mit spezialisierten Fähigkeiten mithilfe von Agent Skills im Claude Agent SDK

Übersicht

Agent Skills erweitern Claude um spezialisierte Fähigkeiten, die Claude autonom aufruft, wenn relevant. Skills werden als SKILL.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:

  1. Als Dateisystem-Artefakte definiert: Erstellt als SKILL.md-Dateien in spezifischen Verzeichnissen (.claude/skills/)
  2. Aus dem Dateisystem geladen: Skills werden aus Dateisystem-Speicherorten geladen, die von settingSources (TypeScript) oder setting_sources (Python) gesteuert werden
  3. 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
  4. Modell-aufgerufen: Claude wählt autonom basierend auf dem Kontext, wann sie verwendet werden
  5. 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

Im Gegensatz zu Subagenten (die programmatisch definiert werden können) müssen Skills als Dateisystem-Artefakte erstellt werden. Das SDK bietet keine programmatische API zum Registrieren von Skills.

Verwendung von Skills mit dem SDK

Legen Sie die skills-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, aktiviert das SDK das Skill-Tool automatisch, sodass Sie es nicht in allowedTools auflisten müssen.

Nach der Konfiguration erkennt Claude automatisch Skills aus dem Dateisystem und ruft sie auf, wenn sie für die Anfrage des Benutzers relevant sind.

import asyncio
from claude_agent_sdk import query, ClaudeAgentOptions


async def main():
options = ClaudeAgentOptions(
cwd="/path/to/project",  # Project with .claude/skills/
setting_sources=["user", "project"],  # Load Skills from filesystem
skills="all",  # Enable every discovered Skill
allowed_tools=["Read", "Write", "Bash"],
)

async for message in query(
prompt="Help me process this PDF document", options=options
):
print(message)


asyncio.run(main())

Um nur bestimmte Skills zu aktivieren, übergeben Sie ihre Namen. Namen entsprechen dem name-Feld in SKILL.md oder dem Skill-Verzeichnisnamen. Verwenden Sie plugin:skill für von Plugins bereitgestellte Skills.

options = ClaudeAgentOptions(skills=["pdf", "docx"])

Die 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 Ihrer settingSources/setting_sources-Konfiguration geladen:

  • Projekt-Skills (.claude/skills/): Mit Ihrem Team über Git geteilt - geladen, wenn setting_sources "project" enthält
  • Benutzer-Skills (~/.claude/skills/): Persönliche Skills über alle Projekte hinweg - geladen, wenn setting_sources "user" enthält
  • Plugin-Skills: Mit installierten Claude Code-Plugins gebündelt

Erstellen von Skills

Skills werden als Verzeichnisse definiert, die eine SKILL.md-Datei mit YAML-Frontmatter und Markdown-Inhalt enthalten. Das description-Feld bestimmt, wann Claude Ihren Skill aufruft.

Beispiel-Verzeichnisstruktur:

.claude/skills/processing-pdfs/
└── SKILL.md

Vollständige Anleitung zum Erstellen von Skills, einschließlich SKILL.md-Struktur, mehrdatei-Skills und Beispiele, finden Sie unter:

Tool-Einschränkungen

Um den Tool-Zugriff für Skills in SDK-Anwendungen zu steuern, verwenden Sie allowedTools, um bestimmte Tools vorab zu genehmigen. Ohne einen canUseTool-Callback wird alles, was nicht in der Liste enthalten ist, verweigert:

options = ClaudeAgentOptions(
setting_sources=["user", "project"],  # Load Skills from filesystem
skills="all",
allowed_tools=["Read", "Grep", "Glob"],
)

async for message in query(prompt="Analyze the codebase structure", options=options):
print(message)

Verfügbare Skills entdecken

Um zu sehen, welche Skills in Ihrer SDK-Anwendung verfügbar sind, fragen Sie einfach Claude:

options = ClaudeAgentOptions(
setting_sources=["user", "project"],  # Load Skills from filesystem
skills="all",
)

async for message in query(prompt="What Skills are available?", options=options):
print(message)

Claude listet die verfügbaren Skills basierend auf Ihrem aktuellen Arbeitsverzeichnis und installierten Plugins auf.

Testen von Skills

Testen Sie Skills, indem Sie Fragen stellen, die ihren Beschreibungen entsprechen:

options = ClaudeAgentOptions(
cwd="/path/to/project",
setting_sources=["user", "project"],  # Load Skills from filesystem
skills="all",
allowed_tools=["Read", "Bash"],
)

async for message in query(prompt="Extract text from invoice.pdf", options=options):
print(message)

Claude ruft automatisch den relevanten Skill auf, wenn die Beschreibung Ihrer Anfrage entspricht.

Fehlerbehebung

Skills nicht gefunden

Überprüfen Sie die settingSources-Konfiguration: Skills werden durch die user- und project-Einstellungsquellen erkannt. Wenn Sie settingSources/setting_sources explizit festlegen und diese Quellen weglassen, werden Skills nicht geladen:

# Skills not loaded: setting_sources excludes user and project
options = ClaudeAgentOptions(setting_sources=[], skills="all")

# Skills loaded: user and project sources included
options = ClaudeAgentOptions(
setting_sources=["user", "project"],
skills="all",
)

Weitere Details zu settingSources/setting_sources finden Sie in der TypeScript SDK-Referenz oder Python SDK-Referenz.

Überprüfen Sie das Arbeitsverzeichnis: Das SDK lädt Skills relativ zur cwd-Option. Stellen Sie sicher, dass sie auf ein Verzeichnis verweist, das .claude/skills/ enthält:

# Ensure your cwd points to the directory containing .claude/skills/
options = ClaudeAgentOptions(
cwd="/path/to/project",  # Must contain .claude/skills/
setting_sources=["user", "project"],  # Loads skills from these sources
skills="all",
)

Siehe den Abschnitt "Verwendung von Skills mit dem SDK" oben für das vollständige Muster.

Überprüfen Sie den Dateisystem-Speicherort:

# Check project Skills
ls .claude/skills/*/SKILL.md

# Check personal Skills
ls ~/.claude/skills/*/SKILL.md

Skill wird nicht verwendet

Überprüfen Sie die skills-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

SDK-Ressourcen