Quickstart
Dokumente mit Claude Agent Skills über die API erstellen.
Lerne, wie du mit Agent Skills in weniger als 10 Minuten Dokumente über die Claude API erstellst.
Dieses Tutorial zeigt, wie du Agent Skills verwendest, um eine PowerPoint-Präsentation zu erstellen. Du lernst, wie du Skills aktivierst, eine einfache Anfrage stellst und auf die erzeugte Datei zugreifst.
Voraussetzungen
- Anthropic API-Schlüssel
- Python 3.7+ oder curl installiert
- Grundkenntnisse zu API-Anfragen
Was sind Agent Skills?
Vorgefertigte Agent Skills erweitern Claude um spezialisiertes Fachwissen für Aufgaben wie Dokumenterstellung, Datenanalyse und Dateiverarbeitung. Anthropic stellt in der API die folgenden vorgefertigten Agent Skills bereit:
- PowerPoint (pptx): Präsentationen erstellen und bearbeiten
- Excel (xlsx): Tabellen erstellen und analysieren
- Word (docx): Dokumente erstellen und bearbeiten
- PDF (pdf): PDF-Dokumente erzeugen
Note
Möchtest du benutzerdefinierte Skills erstellen? Beispiele zum Erstellen eigener Skills mit domänenspezifischem Fachwissen findest du im Agent Skills Cookbook.
Schritt 1: Verfügbare Skills auflisten
Sehen wir uns zuerst an, welche Skills verfügbar sind. Wir verwenden die Skills API, um alle von Anthropic verwalteten Skills aufzulisten:
import anthropic
client = anthropic.Anthropic()
# Von Anthropic verwaltete Skills auflisten
skills = client.beta.skills.list(
source="anthropic",
betas=["skills-2025-10-02"]
)
for skill in skills.data:
print(f"{skill.id}: {skill.display_title}")import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic();
// Von Anthropic verwaltete Skills auflisten
const skills = await client.beta.skills.list({
source: 'anthropic',
betas: ['skills-2025-10-02']
});
for (const skill of skills.data) {
console.log(`${skill.id}: ${skill.display_title}`);
}curl "https://api.anthropic.com/v1/skills?source=anthropic" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: skills-2025-10-02"Du siehst die folgenden Skills: pptx, xlsx, docx und pdf.
Diese API gibt die Metadaten jeder Skill zurück: ihren Namen und ihre Beschreibung. Claude lädt diese Metadaten beim Start, um zu wissen, welche Skills verfügbar sind. Das ist die erste Ebene der progressiven Offenlegung, bei der Claude Skills entdeckt, ohne ihre vollständigen Anweisungen zu laden.
Schritt 2: Eine Präsentation erstellen
Jetzt verwenden wir die PowerPoint-Skill, um eine Präsentation über erneuerbare Energien zu erstellen. Skills werden in der Messages API über den Parameter container angegeben:
import anthropic
client = anthropic.Anthropic()
# Nachricht mit der PowerPoint-Skill erstellen
response = client.beta.messages.create(
model="claude-sonnet-4-5-20250929",
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": "Erstelle eine Präsentation über erneuerbare Energien mit 5 Folien"
}],
tools=[{
"type": "code_execution_20250825",
"name": "code_execution"
}]
)
print(response.content)import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic();
// Nachricht mit der PowerPoint-Skill erstellen
const response = await client.beta.messages.create({
model: 'claude-sonnet-4-5-20250929',
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: 'Erstelle eine Präsentation über erneuerbare Energien mit 5 Folien'
}],
tools: [{
type: 'code_execution_20250825',
name: 'code_execution'
}]
});
console.log(response.content);curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: code-execution-2025-08-25,skills-2025-10-02" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-5-20250929",
"max_tokens": 4096,
"container": {
"skills": [
{
"type": "anthropic",
"skill_id": "pptx",
"version": "latest"
}
]
},
"messages": [{
"role": "user",
"content": "Erstelle eine Präsentation über erneuerbare Energien mit 5 Folien"
}],
"tools": [{
"type": "code_execution_20250825",
"name": "code_execution"
}]
}'Schauen wir uns an, was jeder Teil macht:
container.skills: legt fest, welche Skills Claude verwenden kanntype: "anthropic": zeigt an, dass dies eine von Anthropic verwaltete Skill istskill_id: "pptx": der Bezeichner der PowerPoint-Skillversion: "latest": die zuletzt veröffentlichte Version der Skilltools: aktiviert Codeausführung, die für Skills erforderlich ist- Beta headers:
code-execution-2025-08-25undskills-2025-10-02
Wenn du diese Anfrage stellst, ordnet Claude deine Aufgabe automatisch der passenden Skill zu. Da du eine Präsentation angefordert hast, erkennt Claude die PowerPoint-Skill als relevant und lädt ihre vollständigen Anweisungen: die zweite Ebene der progressiven Offenlegung. Danach führt Claude den Code der Skill aus, um deine Präsentation zu erstellen.
Schritt 3: Die erstellte Datei herunterladen
Die Präsentation wurde im Code-Ausführungscontainer erstellt und als Datei gespeichert. Die Antwort enthält eine Dateireferenz mit einer Datei-ID. Extrahiere die Datei-ID und lade die Datei mit der Files API herunter:
# Datei-ID aus der Antwort extrahieren
file_id = None
for block in response.content:
if block.type == 'tool_use' and block.name == 'code_execution':
# Die Datei-ID befindet sich im Tool-Ergebnis
for result_block in block.content:
if hasattr(result_block, 'file_id'):
file_id = result_block.file_id
break
if file_id:
# Datei herunterladen
file_content = client.beta.files.download(
file_id=file_id,
betas=["files-api-2025-04-14"]
)
# Auf Datenträger speichern
with open("renewable_energy.pptx", "wb") as f:
file_content.write_to_file(f.name)
print(f"Präsentation wurde in renewable_energy.pptx gespeichert")// Datei-ID aus der Antwort extrahieren
let fileId: string | null = null;
for (const block of response.content) {
if (block.type === 'tool_use' && block.name === 'code_execution') {
// Die Datei-ID befindet sich im Tool-Ergebnis
for (const resultBlock of block.content) {
if ('file_id' in resultBlock) {
fileId = resultBlock.file_id;
break;
}
}
}
}
if (fileId) {
// Datei herunterladen
const fileContent = await client.beta.files.download(fileId, {
betas: ['files-api-2025-04-14']
});
// Auf Datenträger speichern
const fs = require('fs');
fs.writeFileSync('renewable_energy.pptx', Buffer.from(await fileContent.arrayBuffer()));
console.log('Präsentation wurde in renewable_energy.pptx gespeichert');
}# file_id aus der Antwort extrahieren (mit jq)
FILE_ID=$(echo "$RESPONSE" | jq -r '.content[] | select(.type=="tool_use" and .name=="code_execution") | .content[] | select(.file_id) | .file_id')
# Datei herunterladen
curl "https://api.anthropic.com/v1/files/$FILE_ID/content" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: files-api-2025-04-14" \
--output renewable_energy.pptx
echo "Präsentation wurde in renewable_energy.pptx gespeichert"Note
Vollständige Details zum Umgang mit generierten Dateien findest du in der Dokumentation zum Code-Ausführungstool.
Weitere Beispiele ausprobieren
Nachdem du dein erstes Dokument mit Skills erstellt hast, kannst du diese Varianten ausprobieren:
Eine Tabelle erstellen
response = client.beta.messages.create(
model="claude-sonnet-4-5-20250929",
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": "Erstelle eine Tabelle zur Nachverfolgung quartalsweiser Umsätze mit Beispieldaten"
}],
tools=[{
"type": "code_execution_20250825",
"name": "code_execution"
}]
)const response = await client.beta.messages.create({
model: 'claude-sonnet-4-5-20250929',
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: 'Erstelle eine Tabelle zur Nachverfolgung quartalsweiser Umsätze mit Beispieldaten'
}],
tools: [{
type: 'code_execution_20250825',
name: 'code_execution'
}]
});curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: code-execution-2025-08-25,skills-2025-10-02" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-5-20250929",
"max_tokens": 4096,
"container": {
"skills": [
{
"type": "anthropic",
"skill_id": "xlsx",
"version": "latest"
}
]
},
"messages": [{
"role": "user",
"content": "Erstelle eine Tabelle zur Nachverfolgung quartalsweiser Umsätze mit Beispieldaten"
}],
"tools": [{
"type": "code_execution_20250825",
"name": "code_execution"
}]
}'Ein Word-Dokument erstellen
response = client.beta.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=4096,
betas=["code-execution-2025-08-25", "skills-2025-10-02"],
container={
"skills": [
{
"type": "anthropic",
"skill_id": "docx",
"version": "latest"
}
]
},
messages=[{
"role": "user",
"content": "Schreibe einen 2-seitigen Bericht über die Vorteile erneuerbarer Energien"
}],
tools=[{
"type": "code_execution_20250825",
"name": "code_execution"
}]
)const response = await client.beta.messages.create({
model: 'claude-sonnet-4-5-20250929',
max_tokens: 4096,
betas: ['code-execution-2025-08-25', 'skills-2025-10-02'],
container: {
skills: [
{
type: 'anthropic',
skill_id: 'docx',
version: 'latest'
}
]
},
messages: [{
role: 'user',
content: 'Schreibe einen 2-seitigen Bericht über die Vorteile erneuerbarer Energien'
}],
tools: [{
type: 'code_execution_20250825',
name: 'code_execution'
}]
});curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: code-execution-2025-08-25,skills-2025-10-02" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-5-20250929",
"max_tokens": 4096,
"container": {
"skills": [
{
"type": "anthropic",
"skill_id": "docx",
"version": "latest"
}
]
},
"messages": [{
"role": "user",
"content": "Schreibe einen 2-seitigen Bericht über die Vorteile erneuerbarer Energien"
}],
"tools": [{
"type": "code_execution_20250825",
"name": "code_execution"
}]
}'Ein PDF erzeugen
response = client.beta.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=4096,
betas=["code-execution-2025-08-25", "skills-2025-10-02"],
container={
"skills": [
{
"type": "anthropic",
"skill_id": "pdf",
"version": "latest"
}
]
},
messages=[{
"role": "user",
"content": "Erzeuge eine PDF-Rechnungsvorlage"
}],
tools=[{
"type": "code_execution_20250825",
"name": "code_execution"
}]
)const response = await client.beta.messages.create({
model: 'claude-sonnet-4-5-20250929',
max_tokens: 4096,
betas: ['code-execution-2025-08-25', 'skills-2025-10-02'],
container: {
skills: [
{
type: 'anthropic',
skill_id: 'pdf',
version: 'latest'
}
]
},
messages: [{
role: 'user',
content: 'Erzeuge eine PDF-Rechnungsvorlage'
}],
tools: [{
type: 'code_execution_20250825',
name: 'code_execution'
}]
});curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: code-execution-2025-08-25,skills-2025-10-02" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-5-20250929",
"max_tokens": 4096,
"container": {
"skills": [
{
"type": "anthropic",
"skill_id": "pdf",
"version": "latest"
}
]
},
"messages": [{
"role": "user",
"content": "Erzeuge eine PDF-Rechnungsvorlage"
}],
"tools": [{
"type": "code_execution_20250825",
"name": "code_execution"
}]
}'Nächste Schritte
Nachdem du vorgefertigte Agent Skills verwendet hast, kannst du:
API-Leitfaden
Skills mit der Claude API verwenden
Benutzerdefinierte Skills erstellen
Eigene Skills für spezialisierte Aufgaben hochladen
Autorenleitfaden
Best Practices für wirksame Skills lernen
Skills in Claude Code verwenden
Mehr über Skills in Claude Code erfahren
Agent Skills Cookbook
Beispiel-Skills und Implementierungsmuster ansehen
claudeskills Docs