DEV Community

Cover image for Claude Skills API: Jetzt allgemein verfügbar – Neuerungen und Anwendung
Emre Demir
Emre Demir

Posted on Originally published at apidog.com

Claude Skills API: Jetzt allgemein verfügbar – Neuerungen und Anwendung

Claude Skills API: Benutzerdefinierte Skills produktiv einsetzen

Die Claude Skills API ist seit dem 20. August 2026 allgemein verfügbar. Benutzerdefinierte Skills lassen sich jetzt über https://api.anthropic.com/v1/skills mit den Standard-Headern – also ohne Beta-Flag – erstellen, versionieren und verwalten. Anschließend führt Claude sie in einer verwalteten Code-Sandbox aus, ohne dass Sie eigene Infrastruktur hosten müssen. Anthropic hat die GA gemeinsam mit Computer Use, dem neuen Browser-Tool und der Files API veröffentlicht und bezeichnet sie in der Ankündigung als Produktions-Stack für Agenten auf der Claude-Plattform.

Apidog heute ausprobieren

Falls Ihnen Skills als Konzept neu sind, erklärt unser Leitfaden zu Claude Skills die Grundlagen. Dieser Artikel konzentriert sich auf die API-Schicht: Endpunkte, Versionierung, Uploads, die Einbindung in einen Messages-Aufruf sowie die Themen Workspace-Scoping und Snapshot-Versionierung.

Da die API über HTTP funktioniert, können Sie jeden gezeigten Aufruf in Apidog nachbauen, parametrisieren und als Regressionstest ausführen.

Was ist ein Skill?

Ein Skill ist ein Ordner. Im Stammverzeichnis liegt eine SKILL.md mit YAML-Frontmatter. Darin stehen mindestens name und description; zusätzlich können Skripte, Vorlagen und Referenzdateien enthalten sein.

Wenn eine Anfrage zu einem Skill passt, lädt Claude dessen Anweisungen nur bei Bedarf. Gebündelte Skripte werden in Claudes isolierter Code-Umgebung ausgeführt.

Ein minimales Verzeichnis sieht beispielsweise so aus:

brand-report/
  SKILL.md
  templates/report.html
  scripts/build_report.py
Enter fullscreen mode Exit fullscreen mode

Das Frontmatter unterliegt Validierungsregeln:

  • name: maximal 64 Zeichen, nur Kleinbuchstaben, Zahlen und Bindestriche
  • Keine XML-Tags
  • Die reservierten Wörter anthropic und claude sind im Namen nicht erlaubt
  • description: erforderlich und maximal 1024 Zeichen
  • display_name: optional, maximal 255 Zeichen
  • Der gesamte Upload darf unkomprimiert maximal 30 MB groß sein

Skills kommen aus zwei Quellen:

  • Von Anthropic verwaltete Skills haben type: "anthropic" und kurze IDs wie pptx, xlsx, docx oder pdf. Ihre Versionen verwenden Datumswerte wie 20251013.
  • Benutzerdefinierte Skills haben type: "custom", gehören zu Ihrem Workspace und erhalten IDs wie skill_01AbCdEfGhIjKlMnOpQrStUv.

Was sich mit der GA geändert hat

Seit dem 20. August 2026 sind insbesondere drei Punkte relevant:

  1. Kein Beta-Header mehr: Die Skills API funktioniert mit x-api-key und anthropic-version: 2023-06-01.
  2. Einfacherer Upload- und Versionierungsfluss: Versionen sind eigenständige Ressourcen mit eigenen Endpunkten.
  3. Mehr Plattformen: Die Skills API ist über die Claude API und Microsoft Foundry verfügbar.

Die Skills werden weiterhin in Anthropic’s verwalteter Sandbox ausgeführt. Auf Ihrer Seite benötigen Sie daher weder einen eigenen Container noch eine eigene Runtime für den Skill.

Skills erzeugen häufig Dateien, beispielsweise Präsentationen oder Tabellen. Diese Ausgaben können Sie anschließend über die inzwischen allgemein verfügbare Files API abrufen.

Die Endpunkte

Alle Ressourcen liegen unter /v1/skills:

Operation Endpunkt
Skill erstellen POST /v1/skills
Skills auflisten GET /v1/skills
Skill abrufen GET /v1/skills/{skill_id}
Skill löschen DELETE /v1/skills/{skill_id}
Neue Version erstellen POST /v1/skills/{skill_id}/versions
Versionen auflisten GET /v1/skills/{skill_id}/versions

Legen Sie in Ihrem API-Client am besten einen Ordner mit sechs gespeicherten Requests an. Verwenden Sie Umgebungsvariablen wie {{skill_id}} und {{skill_version}}, damit Sie eine Version zwischen Entwicklungs- und Produktionsumgebung befördern können, ohne die Requests zu bearbeiten.

Einen benutzerdefinierten Skill hochladen

1. Skill-Verzeichnis vorbereiten

Erstellen Sie zunächst die SKILL.md:

---
name: brand-report
description: Generates the weekly brand performance report as a formatted HTML document from a CSV of metrics. Use when asked for a brand report, weekly summary deck, or performance writeup.
---
Enter fullscreen mode Exit fullscreen mode

Die Beschreibung ist nicht nur Dokumentation. Claude verwendet sie als Routing-Regel, um zu entscheiden, ob der Skill für eine Aufgabe relevant ist. Beschreiben Sie deshalb konkrete Trigger-Phrasen und typische Aufgaben Ihrer Benutzer.

2. Vollständigen Dateisatz hochladen

Laden Sie alle Dateien als Multipart-Formulardaten hoch:

curl -X POST https://api.anthropic.com/v1/skills \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -F 'files[]=@brand-report/SKILL.md;filename=brand-report/SKILL.md' \
  -F 'files[]=@brand-report/templates/report.html;filename=brand-report/templates/report.html' \
  -F 'files[]=@brand-report/scripts/build_report.py;filename=brand-report/scripts/build_report.py'
Enter fullscreen mode Exit fullscreen mode

Die Antwort enthält die generierte skill_id sowie die skver_*-ID der ersten Version. Speichern Sie beide Werte:

  • Die skill_id benötigen Sie in späteren Messages-Aufrufen.
  • Die Versions-ID dient als Rollback-Anker.

Prüfen Sie die genauen Multipart-Feldnamen in der Skills API-Referenz, insbesondere wenn Sie typisierte SDK-Helfer verwenden.

Einen Skill in einer Messages-Anfrage verwenden

Ein Skill wird nicht automatisch an jede Anfrage angehängt. Aktivieren Sie zunächst das Code-Ausführungstool und übergeben Sie die Skills im container-Parameter:

response = client.messages.create(
    model="claude-opus-5",
    max_tokens=4096,
    container={
        "skills": [
            {"type": "anthropic", "skill_id": "pptx", "version": "latest"},
            {
                "type": "custom",
                "skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv",
                "version": "latest"
            }
        ]
    },
    messages=[
        {
            "role": "user",
            "content": "Build the Q3 revenue deck from the attached numbers"
        }
    ],
    tools=[
        {
            "type": "code_execution_20250825",
            "name": "code_execution"
        }
    ],
)
Enter fullscreen mode Exit fullscreen mode

Beachten Sie dabei drei Regeln:

  • Das Code-Ausführungstool muss in tools aktiviert sein. Skills laufen innerhalb dieser Sandbox. Die Modellunterstützung richtet sich nach der Kompatibilitätsliste des Code-Ausführungstools.
  • Pro Anfrage können Sie bis zu 20 Skills laden.
  • Die Versionierung bestimmen Sie selbst:
    • "latest" verwendet die neueste Version.
    • Eine skver_*-ID fixiert eine konkrete benutzerdefinierte Version.
    • Anthropic-Skills verwenden datumsbasierte Versionen.

Für die Entwicklung ist "latest" praktisch. In Produktion sollten Sie eine konkrete Version fixieren, damit ein späterer Upload das Verhalten Ihrer Anwendung nicht unbemerkt ändert.

Wenn ein Skill eine Datei erzeugt, enthält die Antwort eine file_id. Diese Datei laden Sie über GET /v1/files/{file_id}/content aus der Files API herunter. Der typische Ablauf ist damit:

  1. Skill über die Messages API ausführen
  2. file_id aus der Antwort lesen
  3. Datei über die Files API abrufen
  4. Datei an Ihre Anwendung oder Ihren Benutzer weitergeben

Versionierung: Snapshots statt Diffs

Eine neue Skill-Version ist ein vollständiger Snapshot und kein Delta.

Beim Aufruf von:

POST /v1/skills/{skill_id}/versions
Enter fullscreen mode Exit fullscreen mode

müssen Sie den gesamten Dateisatz erneut hochladen. Dateien, die Sie auslassen, werden nicht aus der vorherigen Version übernommen. Außerdem muss der name in der neuen SKILL.md mit dem bestehenden Skill-Namen übereinstimmen.

Behandeln Sie Skills deshalb wie Build-Artefakte:

  1. Halten Sie die Quelldateien im Repository.
  2. Verpacken Sie bei jedem Release den vollständigen Skill-Ordner.
  3. Laden Sie das Paket in CI als neue Version hoch.
  4. Speichern Sie die zurückgegebene skver_*-ID.
  5. Aktualisieren Sie in Produktion nur die referenzierte Versions-ID.

Ein Rollback bleibt dadurch einfach: Alte Versionen sind weiterhin über ihre IDs adressierbar. Bei einem Vorfall ändern Sie lediglich die Versionsreferenz zurück auf eine bekannte funktionierende Version.

Workspace-Scoping: die Multi-Tenant-Falle

Benutzerdefinierte Skills sind im gesamten Workspace verfügbar. Sie sind nicht auf einen einzelnen Benutzer, eine Konversation oder eine Sitzung begrenzt. Jeder API-Schlüssel innerhalb desselben Workspaces kann auf diese Skills zugreifen.

Das ist für ein Multi-Tenant-Produkt problematisch, wenn mehrere Mandanten ihre eigenen Skills hochladen. Ein einzelner Workspace kann dann zur falschen Isolationsgrenze werden.

Die vorgesehene Lösung entspricht dem Vorgehen bei der Files API: Erstellen Sie einen separaten Workspace pro Mandant. Der Workspace isoliert Schlüssel, Dateien und Skills gemeinsam. Eine Organisation kann bis zu 100 Workspaces verwenden, bevor sie sich an das Account-Team wenden muss.

Planen Sie diese Grenze vor dem ersten produktiven Upload. Eine nachträgliche Aufteilung ist deutlich aufwendiger, wenn bereits Skills, Dateien und Schlüssel im gemeinsamen Workspace liegen.

Langlaufende Skills: pause_turn und Container-Wiederverwendung

Skill-Ausführungen können mehrere Modellaufrufe benötigen. Dafür stehen zwei Mechanismen zur Verfügung.

pause_turn fortsetzen

Wenn eine Antwort mit stop_reason: "pause_turn" endet:

  1. Fügen Sie den Assistenteninhalt Ihrer Nachrichtenhistorie hinzu.
  2. Übergeben Sie beim nächsten Aufruf dieselbe container.id.
  3. Lassen Sie die Sandbox die Ausführung fortsetzen.

Container wiederverwenden

Das container-Objekt kann die id eines vorherigen Aufrufs enthalten. Dadurch bleiben installierte Dateien und der Zustand über mehrere Nachrichten hinweg erhalten.

Ein Skill kann beispielsweise in Runde eins eine Tabelle erstellen und sie in Runde drei überarbeiten, ohne sie vollständig neu zu generieren.

Diese Muster bilden eine zustandsbehaftete HTTP-Sequenz. Testen Sie sie deshalb nicht nur mit einzelnen Requests. In Apidog können Sie ein Szenario erstellen:

  1. Anfrage senden
  2. stop_reason prüfen
  3. container.id per Skript in eine Variable schreiben
  4. Folgeanfrage mit derselben Container-ID senden
  5. Die resultierende file_id abrufen und den Download prüfen

Die Apidog CLI führt dieses Szenario auch in CI aus. So erkennen Sie, wenn ein Skill-Versionswechsel den Container-Lebenszyklus oder den Dateidownload verändert.

Wenn Sie Skills im Ökosystem eines anderen Anbieters vergleichen möchten, zeigt die frühere Analyse zu Postmans Claude-Skill ein weiteres Beispiel.

Wo die Ausführung stattfindet

Die Skills API ist bei der GA über die Claude API und Microsoft Foundry verfügbar. Die Skills selbst laufen unabhängig davon in Anthropic’s Sandbox.

Für Ihre Anwendung bedeutet das:

  • Der „Deployment“-Schritt ist ein Upload.
  • Sie benötigen kein eigenes Container-Image.
  • Sie müssen keine Runtime patchen.
  • Die Skalierung der Sandbox konfigurieren Sie nicht selbst.

Achten Sie stattdessen auf die Modellabhängigkeit. Der Messages-Aufruf muss ein Modell verwenden, das das Code-Ausführungstool unterstützt, beispielsweise claude-opus-5 in den obigen Beispielen. Der Claude Opus 5 API-Leitfaden behandelt die Grundlagen für dieses Modell.

FAQ

Benötige ich noch den Beta-Header für Skills?

Nein. Seit dem 20. August 2026 funktionieren /v1/skills und container.skills mit den Standard-Headern der Claude API. Entfernen Sie beim SDK-Upgrade alle fest verdrahteten Beta-Flags.

Kann ein Skill während der Ausführung externe APIs aufrufen?

Skills laufen in Claudes Code-Sandbox und unterliegen den Netzwerkbeschränkungen des Code-Ausführungstools. Gehen Sie nicht von offenem Egress aus. Bündeln Sie benötigte Dateien im Skill und halten Sie API-Aufrufe möglichst in Ihrer Anwendungsschicht, wo Sie sie gezielt testen können.

Wie viele Skills kann eine Anfrage laden?

Bis zu 20. Claude liest das description-Frontmatter jedes Skills, um die relevanten Skills auszuwählen. Schreiben Sie Beschreibungen daher wie Routing-Regeln und nicht wie Marketingtexte.

Was ist der Unterschied zwischen diesen Skills und Claude-Code-Skills?

Das Konzept und das Ordnerformat mit SKILL.md sind gleich, die Laufzeitumgebung ist jedoch unterschiedlich:

  • Claude Code entdeckt Skill-Ordner auf Ihrem Dateisystem.
  • Die Skills API hostet Skills serverseitig, versioniert sie und bindet sie in Messages-Aufrufe ein.

Ein Skill, den Sie für Claude Code geschrieben haben, lässt sich deshalb normalerweise mit geringem Aufwand portieren.

Zusammenfassung

Die GA macht Skills zu einer operativen API-Oberfläche:

  • sechs Endpunkte für Skills und Versionen
  • vollständige Snapshot-Versionen
  • Workspace-basierte Isolation
  • Ausführung in Claudes verwalteter Code-Sandbox
  • Übergabe erzeugter Dateien an die Files API
  • bis zu 20 Skills pro Messages-Anfrage
  • zustandsbehaftete Ausführung über pause_turn und container.id

Behandeln Sie Skills wie deploybare Artefakte: Versionen im Repository, vollständiges Packaging in CI, feste Versionen in Produktion und automatisierte Tests für den Container- und Dateilebenszyklus.

Modellieren Sie die sechs Endpunkte in Apidog, integrieren Sie den Versionswechsel in ein Testszenario und prüfen Sie den Files-API-Download. So erkennen Sie eine fehlerhafte Skill-Version, bevor sie den produktiven Deck- oder Report-Generator beeinträchtigt. Apidog kostenlos herunterladen und die Testumgebung an einem Nachmittag aufbauen.

Top comments (0)