Démarrage rapide
Créer des documents avec Claude Agent Skills via l’API.
Apprenez à utiliser Agent Skills pour créer des documents avec la Claude API en moins de 10 minutes.
Ce tutoriel vous montre comment utiliser Agent Skills pour créer une présentation PowerPoint. Vous apprendrez à activer Skills, à faire une demande simple et à accéder au fichier généré.
Prérequis
- Clé Anthropic API
- Python 3.7+ ou curl installé
- Connaissances de base sur les requêtes API
Que sont les Agent Skills?
Les Agent Skills préconstruites étendent les capacités de Claude avec une expertise spécialisée pour des tâches comme la création de documents, l’analyse de données et le traitement de fichiers. Anthropic fournit les Agent Skills préconstruites suivantes dans l’API:
- PowerPoint (pptx): créer et modifier des présentations
- Excel (xlsx): créer et analyser des feuilles de calcul
- Word (docx): créer et modifier des documents
- PDF (pdf): générer des documents PDF
Note
Vous voulez créer des Skills personnalisées? Consultez l’Agent Skills Cookbook pour des exemples de création de vos propres Skills avec une expertise de domaine.
Étape 1: Lister les Skills disponibles
Commençons par voir quelles Skills sont disponibles. Nous utiliserons la Skills API pour lister toutes les Skills gérées par Anthropic:
import anthropic
client = anthropic.Anthropic()
# Lister les Skills gérées par Anthropic
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();
// Lister les Skills gérées par Anthropic
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"Vous verrez les Skills suivantes: pptx, xlsx, docx et pdf.
Cette API renvoie les métadonnées de chaque Skill: son nom et sa description. Claude charge ces métadonnées au démarrage pour savoir quelles Skills sont disponibles. C’est le premier niveau de divulgation progressive, où Claude découvre les Skills sans encore charger leurs instructions complètes.
Étape 2: Créer une présentation
Nous allons maintenant utiliser la Skill PowerPoint pour créer une présentation sur les énergies renouvelables. Nous indiquons les Skills avec le paramètre container dans la Messages API:
import anthropic
client = anthropic.Anthropic()
# Créer un message avec la Skill PowerPoint
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": "Crée une présentation de 5 diapositives sur les énergies renouvelables"
}],
tools=[{
"type": "code_execution_20250825",
"name": "code_execution"
}]
)
print(response.content)import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic();
// Créer un message avec la Skill PowerPoint
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: 'Crée une présentation de 5 diapositives sur les énergies renouvelables'
}],
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": "Crée une présentation de 5 diapositives sur les énergies renouvelables"
}],
"tools": [{
"type": "code_execution_20250825",
"name": "code_execution"
}]
}'Décomposons le rôle de chaque partie:
container.skills: précise quelles Skills Claude peut utilisertype: "anthropic": indique qu’il s’agit d’une Skill gérée par Anthropicskill_id: "pptx": identifiant de la Skill PowerPointversion: "latest": version la plus récemment publiéetools: active l’exécution de code, nécessaire pour Skills- Beta headers:
code-execution-2025-08-25etskills-2025-10-02
Lorsque vous faites cette demande, Claude associe automatiquement la tâche à la Skill pertinente. Comme vous avez demandé une présentation, Claude détermine que la Skill PowerPoint est pertinente et charge ses instructions complètes: le deuxième niveau de divulgation progressive. Ensuite, Claude exécute le code de la Skill pour créer votre présentation.
Étape 3: Télécharger le fichier créé
La présentation a été créée dans le conteneur d’exécution de code et enregistrée comme fichier. La réponse inclut une référence de fichier avec un ID. Extrayez cet ID et téléchargez le fichier avec la Files API:
# Extraire l'ID de fichier depuis la réponse
file_id = None
for block in response.content:
if block.type == 'tool_use' and block.name == 'code_execution':
# L'ID de fichier se trouve dans le résultat de l'outil
for result_block in block.content:
if hasattr(result_block, 'file_id'):
file_id = result_block.file_id
break
if file_id:
# Télécharger le fichier
file_content = client.beta.files.download(
file_id=file_id,
betas=["files-api-2025-04-14"]
)
# Enregistrer sur disque
with open("renewable_energy.pptx", "wb") as f:
file_content.write_to_file(f.name)
print(f"Présentation enregistrée dans renewable_energy.pptx")// Extraire l'ID de fichier depuis la réponse
let fileId: string | null = null;
for (const block of response.content) {
if (block.type === 'tool_use' && block.name === 'code_execution') {
// L'ID de fichier se trouve dans le résultat de l'outil
for (const resultBlock of block.content) {
if ('file_id' in resultBlock) {
fileId = resultBlock.file_id;
break;
}
}
}
}
if (fileId) {
// Télécharger le fichier
const fileContent = await client.beta.files.download(fileId, {
betas: ['files-api-2025-04-14']
});
// Enregistrer sur disque
const fs = require('fs');
fs.writeFileSync('renewable_energy.pptx', Buffer.from(await fileContent.arrayBuffer()));
console.log('Présentation enregistrée dans renewable_energy.pptx');
}# Extraire file_id depuis la réponse (avec jq)
FILE_ID=$(echo "$RESPONSE" | jq -r '.content[] | select(.type=="tool_use" and .name=="code_execution") | .content[] | select(.file_id) | .file_id')
# Télécharger le fichier
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 enregistrée dans renewable_energy.pptx"Note
Pour tous les détails sur les fichiers générés, consultez la documentation de l’outil d’exécution de code.
Essayer d’autres exemples
Maintenant que vous avez créé votre premier document avec Skills, essayez ces variantes:
Créer une feuille de calcul
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": "Crée une feuille de suivi des ventes trimestrielles avec des données d'exemple"
}],
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: "Crée une feuille de suivi des ventes trimestrielles avec des données d'exemple"
}],
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": "Crée une feuille de suivi des ventes trimestrielles avec des données d'exemple"
}],
"tools": [{
"type": "code_execution_20250825",
"name": "code_execution"
}]
}'Créer un document Word
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": "Rédige un rapport de 2 pages sur les avantages des énergies renouvelables"
}],
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: 'Rédige un rapport de 2 pages sur les avantages des énergies renouvelables'
}],
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": "Rédige un rapport de 2 pages sur les avantages des énergies renouvelables"
}],
"tools": [{
"type": "code_execution_20250825",
"name": "code_execution"
}]
}'Générer un PDF
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": "Génère un modèle de facture PDF"
}],
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: 'Génère un modèle de facture PDF'
}],
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": "Génère un modèle de facture PDF"
}],
"tools": [{
"type": "code_execution_20250825",
"name": "code_execution"
}]
}'Étapes suivantes
Maintenant que vous avez utilisé les Agent Skills préconstruites, vous pouvez:
Guide API
Utiliser Skills avec la Claude API
Créer des Skills personnalisées
Téléverser vos propres Skills pour des tâches spécialisées
Guide de rédaction
Apprendre les bonnes pratiques pour écrire des Skills efficaces
Utiliser Skills dans Claude Code
Découvrir Skills dans Claude Code
Agent Skills Cookbook
Explorer des Skills exemples et des modèles d’implémentation
claudeskills Docs