Loading...
  • Erstellen
  • Admin
  • Modelle & Preise
  • Client-SDKs
  • API-Referenz
Search...
⌘K
Log in
Skills in der API
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
Erstellen/Skills

Agent Skills mit der API verwenden

Erfahren Sie, wie Sie Agent Skills verwenden, um die Fähigkeiten von Claude über die API zu erweitern.

Agent Skills erweitern die Fähigkeiten von Claude durch organisierte Ordner mit Anweisungen, Skripten und Ressourcen. Diese Anleitung zeigt Ihnen, wie Sie sowohl vorgefertigte als auch benutzerdefinierte Skills mit der Claude API verwenden.

Für die vollständige API-Referenz einschließlich Request/Response-Schemas und aller Parameter siehe:

  • Skill Management API Reference - CRUD-Operationen für Skills
  • Skill Versions API Reference - Versionsverwaltung

This feature is not eligible for Zero Data Retention (ZDR). Data is retained according to the feature's standard retention policy.

Quick Links

Erste Schritte mit Agent Skills

Erstellen Sie Ihren ersten Skill

Benutzerdefinierte Skills erstellen

Best Practices für die Erstellung von Skills

Übersicht

Für einen tieferen Einblick in die Architektur und reale Anwendungen von Agent Skills lesen Sie den Engineering-Blogbeitrag: Equipping agents for the real world with Agent Skills.

Skills integrieren sich mit der Messages API über das Code-Ausführungs-Tool. Ob Sie vorgefertigte Skills verwenden, die von Anthropic verwaltet werden, oder benutzerdefinierte Skills, die Sie hochgeladen haben, die Integrationsform ist identisch: Beide erfordern Code-Ausführung und verwenden die gleiche container-Struktur.

Skills verwenden

Skills integrieren sich unabhängig von der Quelle identisch in die Messages API. Sie geben Skills im Parameter container mit einer skill_id, einem type und einer optionalen version an, und sie werden in der Code-Ausführungsumgebung ausgeführt.

Sie können Skills aus zwei Quellen verwenden:

AspektAnthropic SkillsBenutzerdefinierte Skills
Type-Wertanthropiccustom
Skill-IDsKurznamen: pptx, xlsx, docx, pdfGeneriert: skill_01AbCdEfGhIjKlMnOpQrStUv
VersionsformatDatumsbasiert: 20251013 oder latestEpoch-Zeitstempel: 1759178010641129 oder latest
VerwaltungVorgefertigt und von Anthropic gepflegtUpload und Verwaltung über Skills API
VerfügbarkeitFür alle Benutzer verfügbarPrivat für Ihren Workspace

Beide Skill-Quellen werden vom List Skills Endpoint zurückgegeben (verwenden Sie den Parameter source zum Filtern). Die Integrationsform und die Ausführungsumgebung sind identisch. Der einzige Unterschied ist, woher die Skills kommen und wie sie verwaltet werden.

Voraussetzungen

Um Skills zu verwenden, benötigen Sie:

  1. Claude API-Schlüssel aus der Console
  2. Beta-Header:
    • code-execution-2025-08-25 - Aktiviert Code-Ausführung (erforderlich für Skills)
    • skills-2025-10-02 - Aktiviert Skills API
    • files-api-2025-04-14 - Zum Hochladen/Herunterladen von Dateien zum/vom Container
  3. Code-Ausführungs-Tool in Ihren Anfragen aktiviert

Skills in Messages verwenden

Container-Parameter

Skills werden mit dem Parameter container in der Messages API angegeben. Sie können bis zu 8 Skills pro Anfrage einschließen.

Die Struktur ist für Anthropic und benutzerdefinierte Skills identisch. Geben Sie den erforderlichen type und skill_id an, und schließen Sie optional version ein, um an eine bestimmte Version gebunden zu sein:

client = anthropic.Anthropic()

response = client.beta.messages.create(
    model="claude-opus-4-7",
    max_tokens=4096,
    betas=["code-execution-2025-08-25", "skills-2025-10-02"],
    container={
        "skills": [{"type": "anthropic", "skill_id": "pptx", "version": "latest"}]
    },
    messages=[
        {"role": "user", "content": "Create a presentation about renewable energy"}
    ],
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)

Herunterladung generierter Dateien

Wenn Skills Dokumente erstellen (Excel, PowerPoint, PDF, Word), geben sie file_id-Attribute in der Antwort zurück. Sie müssen die Files API verwenden, um diese Dateien herunterzuladen.

So funktioniert es:

  1. Skills erstellen Dateien während der Code-Ausführung
  2. Die Antwort enthält file_id für jede erstellte Datei
  3. Verwenden Sie die Files API, um den tatsächlichen Dateiinhalt herunterzuladen
  4. Speichern Sie lokal oder verarbeiten Sie nach Bedarf

Beispiel: Erstellen und Herunterladen einer Excel-Datei

Zusätzliche Files API-Operationen:

client = anthropic.Anthropic()
file_id = "file_abc123"
# Datei-Metadaten abrufen
file_info = client.beta.files.retrieve_metadata(
    file_id=file_id, betas=["files-api-2025-04-14"]
)
print(f"Filename: {file_info.filename}, Size: {file_info.size_bytes} bytes")

# Alle Dateien auflisten
files = client.beta.files.list(betas=["files-api-2025-04-14"])
for file in files.data:
    print(f"{file.filename} - {file.created_at}")

# Eine Datei löschen
client.beta.files.delete(file_id=file_id, betas=["files-api-2025-04-14"])

Vollständige Details zur Files API finden Sie in der Files API-Dokumentation.

Mehrteilige Konversationen

Verwenden Sie denselben Container über mehrere Nachrichten hinweg, indem Sie die Container-ID angeben:

# Erste Anfrage erstellt Container
response1 = client.beta.messages.create(
    model="claude-opus-4-7",
    max_tokens=4096,
    betas=["code-execution-2025-08-25", "skills-2025-10-02"],
    container={
        "skills": [{"type": "anthropic", "skill_id": "xlsx", "version": "latest"}]
    },
    messages=[{"role": "user", "content": "Analyze this sales data"}],
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)

# Konversation mit demselben Container fortsetzen
messages = [
    {"role": "user", "content": "Analyze this sales data"},
    {"role": "assistant", "content": response1.content},
    {"role": "user", "content": "What was the total revenue?"},
]

response2 = client.beta.messages.create(
    model="claude-opus-4-7",
    max_tokens=4096,
    betas=["code-execution-2025-08-25", "skills-2025-10-02"],
    container={
        "id": response1.container.id,  # Container wiederverwenden
        "skills": [{"type": "anthropic", "skill_id": "xlsx", "version": "latest"}],
    },
    messages=messages,
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)

Langfristige Operationen

Skills können Operationen ausführen, die mehrere Durchläufe erfordern. Behandeln Sie pause_turn Stop-Gründe:

messages = [{"role": "user", "content": "Process this large dataset"}]
max_retries = 10

response = client.beta.messages.create(
    model="claude-opus-4-7",
    max_tokens=4096,
    betas=["code-execution-2025-08-25", "skills-2025-10-02"],
    container={
        "skills": [
            {
                "type": "custom",
                "skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv",
                "version": "latest",
            }
        ]
    },
    messages=messages,
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)

# pause_turn für lange Operationen behandeln
for i in range(max_retries):
    if response.stop_reason != "pause_turn":
        break

    messages.append({"role": "assistant", "content": response.content})
    response = client.beta.messages.create(
        model="claude-opus-4-7",
        max_tokens=4096,
        betas=["code-execution-2025-08-25", "skills-2025-10-02"],
        container={
            "id": response.container.id,
            "skills": [
                {
                    "type": "custom",
                    "skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv",
                    "version": "latest",
                }
            ],
        },
        messages=messages,
        tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
    )

Die Antwort kann einen pause_turn Stop-Grund enthalten, der anzeigt, dass die API eine langfristige Skill-Operation unterbrochen hat. Sie können die Antwort in einer nachfolgenden Anfrage unverändert bereitstellen, um Claude seinen Durchlauf fortsetzen zu lassen, oder Sie können den Inhalt ändern, wenn Sie die Konversation unterbrechen und zusätzliche Anleitung geben möchten.

Mehrere Skills verwenden

Kombinieren Sie mehrere Skills in einer einzelnen Anfrage, um komplexe Workflows zu bewältigen:

response = client.beta.messages.create(
    model="claude-opus-4-7",
    max_tokens=4096,
    betas=["code-execution-2025-08-25", "skills-2025-10-02"],
    container={
        "skills": [
            {"type": "anthropic", "skill_id": "xlsx", "version": "latest"},
            {"type": "anthropic", "skill_id": "pptx", "version": "latest"},
            {
                "type": "custom",
                "skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv",
                "version": "latest",
            },
        ]
    },
    messages=[
        {"role": "user", "content": "Analyze sales data and create a presentation"}
    ],
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)

Benutzerdefinierte Skills verwalten

Einen Skill erstellen

Laden Sie Ihren benutzerdefinierten Skill hoch, um ihn in Ihrem Workspace verfügbar zu machen. Sie können entweder einen Verzeichnispfad oder einzelne Dateiobjekte hochladen.

# Option 1: Upload individual files (one --file flag per file)
ant beta:skills create \
  --display-title "Financial Analysis" \
  --file financial_skill/SKILL.md \
  --file financial_skill/analyze.py \
  --beta skills-2025-10-02

# Option 2: Upload a zip archive
ant beta:skills create \
  --display-title "Financial Analysis" \
  --file financial_analysis_skill.zip \
  --beta skills-2025-10-02

Anforderungen:

  • Muss eine SKILL.md-Datei auf der obersten Ebene enthalten
  • Alle Dateien müssen ein gemeinsames Stammverzeichnis in ihren Pfaden angeben
  • Die Gesamtgröße des Uploads muss unter 30 MB liegen
  • YAML-Frontmatter-Anforderungen:
    • name: Maximal 64 Zeichen, nur Kleinbuchstaben/Zahlen/Bindestriche, keine XML-Tags, keine reservierten Wörter („anthropic", „claude")
    • description: Maximal 1024 Zeichen, nicht leer, keine XML-Tags

Für vollständige Request-/Response-Schemas siehe die API-Referenz zum Erstellen von Skills.

Skills auflisten

Rufen Sie alle Skills ab, die in Ihrem Workspace verfügbar sind, einschließlich vordefinierter Skills von Anthropic und Ihrer benutzerdefinierten Skills. Verwenden Sie den Parameter source, um nach Skill-Typ zu filtern:

# List all Skills
ant beta:skills list

# List only custom Skills
ant beta:skills list --source custom

Siehe die API-Referenz zum Auflisten von Skills für Paginierungs- und Filteroptionen.

Einen Skill abrufen

Rufen Sie Details zu einem bestimmten Skill ab:

ant beta:skills retrieve \
  --skill-id skill_01AbCdEfGhIjKlMnOpQrStUv

Eine Skill löschen

Um eine Skill zu löschen, müssen Sie zunächst alle ihre Versionen löschen:

# Step 1: Delete all versions
ant beta:skills:versions list \
  --skill-id skill_01AbCdEfGhIjKlMnOpQrStUv \
  --transform version --format yaml \
  | tr -d '"' \
  | while read -r VERSION; do
      ant beta:skills:versions delete \
        --skill-id skill_01AbCdEfGhIjKlMnOpQrStUv \
        --version "$VERSION" >/dev/null
    done

# Step 2: Delete the Skill
ant beta:skills delete \
  --skill-id skill_01AbCdEfGhIjKlMnOpQrStUv >/dev/null

Der Versuch, eine Skill mit vorhandenen Versionen zu löschen, gibt einen 400-Fehler zurück.

Versionsverwaltung

Skills unterstützen Versionsverwaltung, um Updates sicher zu verwalten:

Von Anthropic verwaltete Skills:

  • Versionen verwenden das Datumsformat: 20251013
  • Neue Versionen werden als Updates veröffentlicht
  • Geben Sie genaue Versionen für Stabilität an

Benutzerdefinierte Skills:

  • Automatisch generierte Epoch-Zeitstempel: 1759178010641129
  • Verwenden Sie "latest", um immer die neueste Version zu erhalten
  • Erstellen Sie neue Versionen beim Aktualisieren von Skill-Dateien
# Create a new version
VERSION_NUMBER=$(ant beta:skills:versions create \
  --skill-id skill_01AbCdEfGhIjKlMnOpQrStUv \
  --file updated_skill/SKILL.md \
  --transform version --format yaml)

# Use specific version
ant beta:messages create \
  --beta code-execution-2025-08-25 \
  --beta skills-2025-10-02 <<YAML
model: claude-opus-4-7
max_tokens: 4096
container:
  skills:
    - type: custom
      skill_id: skill_01AbCdEfGhIjKlMnOpQrStUv
      version: $VERSION_NUMBER
messages:
  - role: user
    content: Use updated Skill
tools:
  - type: code_execution_20250825
    name: code_execution
YAML

# Use latest version
ant beta:messages create \
  --beta code-execution-2025-08-25 \
  --beta skills-2025-10-02 <<'YAML'
model: claude-opus-4-7
max_tokens: 4096
container:
  skills:
    - type: custom
      skill_id: skill_01AbCdEfGhIjKlMnOpQrStUv
      version: latest
messages:
  - role: user
    content: Use latest Skill version
tools:
  - type: code_execution_20250825
    name: code_execution
YAML

Weitere Details finden Sie in der API-Referenz für Skill-Versionserstellung.


Wie Skills geladen werden

Wenn Sie Skills in einem Container angeben:

  1. Metadaten-Erkennung: Claude sieht Metadaten für jede Skill (Name, Beschreibung) in der Systemaufforderung
  2. Dateiladung: Skill-Dateien werden in den Container unter /skills/{directory}/ kopiert
  3. Automatische Verwendung: Claude lädt und verwendet Skills automatisch, wenn sie für Ihre Anfrage relevant sind
  4. Komposition: Mehrere Skills arbeiten zusammen für komplexe Workflows

Die progressive Offenlegungsarchitektur gewährleistet eine effiziente Kontextnutzung: Claude lädt vollständige Skill-Anweisungen nur bei Bedarf.


Anwendungsfälle

Organisatorische Skills

Marke & Kommunikation

  • Wenden Sie unternehmensweite Formatierung (Farben, Schriftarten, Layouts) auf Dokumente an
  • Generieren Sie Kommunikationen nach organisatorischen Vorlagen
  • Stellen Sie sicher, dass Markenrichtlinien in allen Ausgaben konsistent sind

Projektmanagement

  • Strukturieren Sie Notizen mit unternehmensweiten Formaten (OKRs, Entscheidungsprotokolle)
  • Generieren Sie Aufgaben nach Team-Konventionen
  • Erstellen Sie standardisierte Meeting-Zusammenfassungen und Statusaktualisierungen

Geschäftsbetrieb

  • Erstellen Sie unternehmensstandard-Berichte, Vorschläge und Analysen
  • Führen Sie unternehmensweite analytische Verfahren durch
  • Generieren Sie Finanzmodelle nach organisatorischen Vorlagen

Persönliche Skills

Inhaltserstellung

  • Benutzerdefinierte Dokumentvorlagen
  • Spezialisierte Formatierung und Styling
  • Domänenspezifische Inhaltsgenerierung

Datenanalyse

  • Benutzerdefinierte Datenverarbeitungs-Pipelines
  • Spezialisierte Visualisierungsvorlagen
  • Branchenspezifische analytische Methoden

Entwicklung & Automatisierung

  • Code-Generierungsvorlagen
  • Test-Frameworks
  • Bereitstellungs-Workflows

Beispiel: Finanzmodellierung

Kombinieren Sie Excel und benutzerdefinierte DCF-Analyse-Skills:

# Create custom DCF analysis Skill
from anthropic.lib import files_from_dir

dcf_skill = client.beta.skills.create(
    display_title="DCF Analysis",
    files=files_from_dir("/path/to/dcf_skill"),
    betas=["skills-2025-10-02"],
)

# Use with Excel to create financial model
response = client.beta.messages.create(
    model="claude-opus-4-7",
    max_tokens=4096,
    betas=["code-execution-2025-08-25", "skills-2025-10-02"],
    container={
        "skills": [
            {"type": "anthropic", "skill_id": "xlsx", "version": "latest"},
            {"type": "custom", "skill_id": dcf_skill.id, "version": "latest"},
        ]
    },
    messages=[
        {
            "role": "user",
            "content": "Build a DCF valuation model for a SaaS company with the attached financials",
        }
    ],
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)

Limits und Einschränkungen

Anfragegrenzen

  • Maximale Skills pro Anfrage: 8
  • Maximale Skill-Upload-Größe: 30 MB (alle Dateien zusammen)
  • YAML-Frontmatter-Anforderungen:
    • name: Maximal 64 Zeichen, nur Kleinbuchstaben/Zahlen/Bindestriche, keine XML-Tags, keine reservierten Wörter
    • description: Maximal 1024 Zeichen, nicht leer, keine XML-Tags

Umgebungseinschränkungen

Skills werden im Code-Execution-Container mit diesen Einschränkungen ausgeführt:

  • Kein Netzwerkzugriff - Können keine externen API-Aufrufe tätigen
  • Keine Laufzeit-Paketinstallation - Nur vorinstallierte Pakete verfügbar
  • Isolierte Umgebung - Jede Anfrage erhält einen frischen Container

Weitere Informationen finden Sie in der Code-Execution-Tool-Dokumentation zu verfügbaren Paketen.


Best Practices

Wann mehrere Skills verwendet werden sollten

Kombinieren Sie Skills, wenn Aufgaben mehrere Dokumenttypen oder Domänen betreffen:

Gute Anwendungsfälle:

  • Datenanalyse (Excel) + Präsentationserstellung (PowerPoint)
  • Berichtgenerierung (Word) + Export zu PDF
  • Benutzerdefinierte Domänenlogik + Dokumentgenerierung

Vermeiden Sie:

  • Einbeziehung ungenutzter Skills (beeinträchtigt die Leistung)

Versionsverwaltungsstrategie

Für die Produktion:

# Pin to specific versions for stability
container = {
    "skills": [
        {
            "type": "custom",
            "skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv",
            "version": "1759178010641129",  # Specific version
        }
    ]
}

Für die Entwicklung:

# Use latest for active development
container = {
    "skills": [
        {
            "type": "custom",
            "skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv",
            "version": "latest",  # Always get newest
        }
    ]
}

Überlegungen zum Prompt-Caching

Beachten Sie beim Verwenden von Prompt-Caching, dass das Ändern der Skills-Liste in Ihrem Container den Cache bricht:

# First request creates cache
response1 = client.beta.messages.create(
    model="claude-opus-4-7",
    max_tokens=4096,
    betas=[
        "code-execution-2025-08-25",
        "skills-2025-10-02",
        "prompt-caching-2024-07-31",
    ],
    container={
        "skills": [{"type": "anthropic", "skill_id": "xlsx", "version": "latest"}]
    },
    messages=[{"role": "user", "content": "Analyze sales data"}],
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)

# Adding/removing Skills breaks cache
response2 = client.beta.messages.create(
    model="claude-opus-4-7",
    max_tokens=4096,
    betas=[
        "code-execution-2025-08-25",
        "skills-2025-10-02",
        "prompt-caching-2024-07-31",
    ],
    container={
        "skills": [
            {"type": "anthropic", "skill_id": "xlsx", "version": "latest"},
            {
                "type": "anthropic",
                "skill_id": "pptx",
                "version": "latest",
            },  # Cache miss
        ]
    },
    messages=[{"role": "user", "content": "Create a presentation"}],
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)

Für optimale Caching-Leistung sollten Sie Ihre Skills-Liste über Anfragen hinweg konsistent halten.

Fehlerbehandlung

Behandeln Sie Skill-bezogene Fehler elegant:

client = anthropic.Anthropic()

try:
    response = client.beta.messages.create(
        model="claude-opus-4-7",
        max_tokens=4096,
        betas=["code-execution-2025-08-25", "skills-2025-10-02"],
        container={
            "skills": [
                {
                    "type": "custom",
                    "skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv",
                    "version": "latest",
                }
            ]
        },
        messages=[{"role": "user", "content": "Process data"}],
        tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
    )
except anthropic.BadRequestError as e:
    if "skill" in str(e):
        print(f"Skill error: {e}")
        # Handle skill-specific errors
    else:
        raise

Datenspeicherung

Agent Skills sind nicht durch ZDR-Vereinbarungen abgedeckt. Skill-Definitionen und Ausführungsdaten werden gemäß der Standard-Datenspeicherungsrichtlinie von Anthropic beibehalten.

Für ZDR-Berechtigung über alle Funktionen hinweg siehe API und Datenspeicherung.

Nächste Schritte

API-Referenz

Vollständige API-Referenz mit allen Endpunkten

Authoring-Leitfaden

Best Practices zum Schreiben effektiver Skills

Code-Ausführungs-Tool

Erfahren Sie mehr über die Code-Ausführungsumgebung

Was this page helpful?

  • Quick Links
  • Übersicht
  • Skills verwenden
  • Voraussetzungen
  • Skills in Messages verwenden
  • Container-Parameter
  • Herunterladung generierter Dateien
  • Mehrteilige Konversationen
  • Langfristige Operationen
  • Mehrere Skills verwenden
  • Benutzerdefinierte Skills verwalten
  • Einen Skill erstellen
  • Skills auflisten
  • Einen Skill abrufen
  • Eine Skill löschen
  • Versionsverwaltung
  • Wie Skills geladen werden
  • Anwendungsfälle
  • Organisatorische Skills
  • Persönliche Skills
  • Beispiel: Finanzmodellierung
  • Limits und Einschränkungen
  • Anfragegrenzen
  • Umgebungseinschränkungen
  • Best Practices
  • Wann mehrere Skills verwendet werden sollten
  • Versionsverwaltungsstrategie
  • Überlegungen zum Prompt-Caching
  • Fehlerbehandlung
  • Datenspeicherung
  • Nächste Schritte