skill-creator

Créer de nouvelles compétences, modifier et améliorer les compétences existantes, et mesurer leurs performances. À utiliser lorsque les utilisateurs souhaitent créer une compétence à partir de zéro, éditer ou optimiser une compétence existante, exécuter des évaluations pour tester une compétence, benchmarker ses performances avec analyse de variance, ou optimiser une compétence.

Qu'est-ce que skill-creator ?

Ce skill transforme Claude en un assistant complet pour la création et l'itération de compétences (agents). Il guide l'utilisateur à travers tout le processus : de la capture de l'intention initiale et la rédaction du fichier `SKILL.md`, jusqu'à l'évaluation quantitative et qualitative des performances. Le skill gère la génération de cas de test, le lancement parallèle d'exécutions avec et sans la compétence pour établir une baseline, la rédaction d'assertions objectives, l'agrégation des résultats sous forme de benchmark, et l'analyse des variances. Il supporte l'amélioration itérative en boucle et l'optimisation du déclenchement via des scripts dédiés. Le skill s'adapte au niveau de familiarité technique de l'utilisateur, expliquant les termes complexes si nécessaire. Il est conçu pour être flexible, permettant aussi une approche plus informelle si l'utilisateur le préfère.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/anthropics/skills/tree/main/skills/skill-creator

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Créateur de Compétences

Une compétence pour créer de nouvelles compétences et les améliorer de manière itérative.

À un niveau élevé, le processus de création d'une compétence se déroule comme suit :

  • Décidez ce que vous voulez que la compétence fasse et approximativement comment elle doit le faire.
  • Rédigez un brouillon de la compétence.
  • Créez quelques prompts de test et exécutez claude-avec-accès-à-la-compétence dessus.
  • Aidez l'utilisateur à évaluer les résultats à la fois qualitativement et quantitativement.
    • Pendant que les exécutions se déroulent en arrière-plan, rédigez quelques évaluations quantitatives s'il n'y en a pas (s'il y en a déjà, vous pouvez les utiliser telles quelles ou les modifier si vous pensez que quelque chose doit changer). Expliquez-les ensuite à l'utilisateur (ou si elles existent déjà, expliquez celles qui existent).
    • Utilisez le script eval-viewer/generate_review.py pour montrer les résultats à l'utilisateur afin qu'il les examine, et laissez-le aussi consulter les métriques quantitatives.
  • Réécrivez la compétence en fonction des retours de l'évaluation des résultats par l'utilisateur (et aussi s'il y a des défauts évidents qui apparaissent dans les benchmarks quantitatifs).
  • Répétez jusqu'à satisfaction.
  • Étendez l'ensemble de test et réessayez à plus grande échelle.

Votre travail lorsque vous utilisez cette compétence est de déterminer où se trouve l'utilisateur dans ce processus, puis d'intervenir et de l'aider à progresser à travers ces étapes. Par exemple, peut-être que l'utilisateur dit "Je veux créer une compétence pour X". Vous pouvez aider à préciser ce qu'il veut, rédiger un brouillon, écrire les cas de test, déterminer comment il veut évaluer, exécuter tous les prompts, et répéter.

D'un autre côté, peut-être qu'il a déjà un brouillon de la compétence. Dans ce cas, vous pouvez passer directement à la partie évaluation/itération de la boucle.

Bien sûr, vous devez toujours être flexible et si l'utilisateur dit "Je n'ai pas besoin d'exécuter plein d'évaluations, juste suis-moi", vous pouvez le faire à la place.

Ensuite, une fois la compétence terminée (mais encore une fois, l'ordre est flexible), vous pouvez aussi exécuter l'améliorateur de description de compétence, pour lequel nous avons un script séparé, afin d'optimiser le déclenchement de la compétence.

Cool ? Cool.

Communiquer avec l'utilisateur

Le créateur de compétences est susceptible d'être utilisé par des personnes ayant des niveaux de familiarité très variés avec le jargon informatique. Si vous n'avez pas entendu parler (et comment le pourriez-vous, c'est seulement très récent que ça a commencé), il y a une tendance maintenant où la puissance de Claude inspire des plombiers à ouvrir leurs terminaux, des parents et grands-parents à chercher "comment installer npm". D'un autre côté, la majorité des utilisateurs sont probablement assez compétents en informatique.

Alors, faites attention aux indices contextuels pour comprendre comment formuler votre communication ! Dans le cas par défaut, juste pour vous donner une idée :

  • "évaluation" et "benchmark" sont limites, mais acceptables.
  • Pour "JSON" et "assertion", vous devez voir des signes sérieux de l'utilisateur qu'il sait de quoi il s'agit avant de les utiliser sans explication.

Il est acceptable d'expliquer brièvement les termes en cas de doute, et n'hésitez pas à clarifier les termes avec une courte définition si vous n'êtes pas sûr que l'utilisateur les comprendra.


Créer une compétence

Capturer l'Intention

Commencez par comprendre l'intention de l'utilisateur. La conversation actuelle peut déjà contenir un workflow que l'utilisateur souhaite capturer (par exemple, il dit "transforme cela en compétence"). Si c'est le cas, extrayez d'abord les réponses de l'historique de la conversation — les outils utilisés, la séquence des étapes, les corrections apportées par l'utilisateur, les formats d'entrée/sortie observés. L'utilisateur devra peut-être combler les lacunes, et doit confirmer avant de passer à l'étape suivante.

  1. Que doit permettre cette compétence à Claude de faire ?
  2. Quand cette compétence doit-elle se déclencher ? (quelles phrases/contextes utilisateur)
  3. Quel est le format de sortie attendu ?
  4. Devons-nous configurer des cas de test pour vérifier que la compétence fonctionne ? Les compétences avec des sorties objectivement vérifiables (transformations de fichiers, extraction de données, génération de code, étapes de workflow fixes) bénéficient de cas de test. Les compétences avec des sorties subjectives (style d'écriture, art) n'en ont souvent pas besoin. Suggérez la valeur par défaut appropriée en fonction du type de compétence, mais laissez l'utilisateur décider.

Interview et Recherche

Posez des questions de manière proactive sur les cas limites, les formats d'entrée/sortie, les fichiers d'exemple, les critères de succès et les dépendances. Attendez de rédiger les prompts de test jusqu'à ce que cette partie soit bien définie.

Vérifiez les MCP disponibles - s'ils sont utiles pour la recherche (recherche de documentation, recherche de compétences similaires, consultation des meilleures pratiques), faites la recherche en parallèle via des sous-agents si disponibles, sinon en ligne. Arrivez préparé avec du contexte pour réduire la charge sur l'utilisateur.

Rédiger le SKILL.md

Basé sur l'interview de l'utilisateur, remplissez ces composants :

  • name : Identifiant de la compétence
  • description : Quand déclencher, ce qu'elle fait. C'est le mécanisme principal de déclenchement — incluez à la fois ce que la compétence fait ET les contextes spécifiques pour l'utiliser. Toutes les informations "quand utiliser" vont ici, pas dans le corps. Note : actuellement, Claude a tendance à "sous-déclencher" les compétences — à ne pas les utiliser quand elles seraient utiles. Pour contrer cela, veuillez rendre les descriptions de compétences un peu "insistantes". Par exemple, au lieu de "Comment construire un tableau de bord simple et rapide pour afficher des données internes d'Anthropic.", vous pourriez écrire "Comment construire un tableau de bord simple et rapide pour afficher des données internes d'Anthropic. Assurez-vous d'utiliser cette compétence chaque fois que l'utilisateur mentionne des tableaux de bord, la visualisation de données, des métriques internes, ou veut afficher tout type de données d'entreprise, même s'il ne demande pas explicitement un 'tableau de bord'."
  • compatibility : Outils requis, dépendances (optionnel, rarement nécessaire)
  • **le reste de la compétence :) **

Guide de Rédaction des Compétences

Anatomie d'une Compétence

skill-name/
├── SKILL.md (obligatoire)
│   ├── Frontmatter YAML (name, description obligatoires)
│   └── Instructions Markdown
└── Ressources fournies (optionnel)
    ├── scripts/    - Code exécutable pour des tâches déterministes/répétitives
    ├── references/ - Documentation chargée dans le contexte selon les besoins
    └── assets/     - Fichiers utilisés dans la sortie (modèles, icônes, polices)

Divulgation Progressive

Les compétences utilisent un système de chargement à trois niveaux :

  1. Métadonnées (nom + description) - Toujours dans le contexte (~100 mots)
  2. Corps du SKILL.md - Dans le contexte chaque fois que la compétence se déclenche (<500 lignes idéalement)
  3. Ressources fournies - Selon les besoins (illimité, les scripts peuvent s'exécuter sans chargement)

Ces comptes de mots sont approximatifs et vous pouvez librement aller plus loin si nécessaire.

Schémas clés :

  • Gardez le SKILL.md sous 500 lignes ; si vous approchez de cette limite, ajoutez un niveau supplémentaire de hiérarchie avec des indications claires sur où le modèle utilisant la compétence doit aller ensuite pour continuer.
  • Référencez clairement les fichiers depuis SKILL.md avec des directives sur quand les lire
  • Pour les fichiers de référence volumineux (>300 lignes), incluez une table des matières

Organisation par domaine : Lorsqu'une compétence prend en charge plusieurs domaines/cadres, organisez par variante :

cloud-deploy/
├── SKILL.md (workflow + sélection)
└── references/
    ├── aws.md
    ├── gcp.md
    └── azure.md

Claude lit uniquement le fichier de référence pertinent.

Principe de Non-Surprise

Cela va sans dire, mais les compétences ne doivent pas contenir de malware, de code d'exploitation, ou tout contenu qui pourrait compromettre la sécurité du système. Le contenu d'une compétence ne doit pas surprendre l'utilisateur par son intention si elle est décrite. N'acceptez pas les demandes de création de compétences trompeuses ou conçues pour faciliter un accès non autorisé, une exfiltration de données, ou d'autres activités malveillantes. Les choses comme "jouer le rôle d'un XYZ" sont acceptables.

Schémas de Rédaction

Préférez utiliser la forme impérative dans les instructions.

Définition des formats de sortie - Vous pouvez le faire comme ceci :

## Structure du rapport
Utilisez TOUJOURS ce modèle exact :
# [Titre]
## Résumé exécutif
## Constatations principales
## Recommandations

Schéma d'exemples - Il est utile d'inclure des exemples. Vous pouvez les formater comme ceci (mais si "Entrée" et "Sortie" sont dans les exemples, vous voudrez peut-être vous en écarter un peu) :

## Format du message de commit
**Exemple 1 :**
Entrée : Ajout de l'authentification utilisateur avec des jetons JWT
Sortie : feat(auth) : implémenter l'authentification basée sur JWT

Style d'Écriture

Essayez d'expliquer au modèle pourquoi les choses sont importantes plutôt que d'utiliser des MUST lourds et autoritaires. Utilisez la théorie de l'esprit et essayez de rendre la compétence générale et non très étroite à des exemples spécifiques. Commencez par écrire un brouillon puis regardez-le avec un œil neuf et améliorez-le.

Cas de Test

Après avoir rédigé le brouillon de la compétence, trouvez 2-3 prompts de test réalistes — le genre de chose qu'un utilisateur réel dirait réellement. Partagez-les avec l'utilisateur : [vous n'êtes pas obligé d'utiliser ce langage exact] "Voici quelques cas de test que j'aimerais essayer. Est-ce que cela semble correct, ou voulez-vous en ajouter d'autres ?" Ensuite, exécutez-les.

Enregistrez les cas de test dans evals/evals.json. N'écrivez pas encore d'assertions — juste les prompts. Vous rédigerez les assertions à l'étape suivante pendant que les exécutions sont en cours.

{
  "skill_name": "exemple-compétence",
  "evals": [
    {
      "id": 1,
      "prompt": "Prompt de tâche de l'utilisateur",
      "expected_output": "Description du résultat attendu",
      "files": []
    }
  ]
}

Voir references/schemas.md pour le schéma complet (incluant le champ assertions, que vous ajouterez plus tard).

Exécution et évaluation des cas de test

Cette section est une séquence continue — ne vous arrêtez pas en cours de route. N'utilisez PAS /skill-test ou toute autre compétence de test.

Placez les résultats dans <nom-compétence>-workspace/ comme un répertoire frère du répertoire de la compétence. Dans l'espace de travail, organisez les résultats par itération (iteration-1/, iteration-2/, etc.) et à l'intérieur de celle-ci, chaque cas de test obtient un répertoire (eval-0/, eval-1/, etc.). Ne créez pas tout cela à l'avance — créez simplement des répertoires au fur et à mesure.

Étape 1 : Lancer toutes les exécutions (avec-compétence ET baseline) dans le même tour

Pour chaque cas de test, lancez deux sous-agents dans le même tour — un avec la compétence, un sans. C'est important : ne lancez pas d'abord les exécutions avec compétence puis revenez pour les baselines plus tard. Lancez tout en même temps pour que tout se termine à peu près en même temps.

Exécution avec compétence :

Exécutez cette tâche :
- Chemin de la compétence : <chemin-vers-compétence>
- Tâche : <prompt d'évaluation>
- Fichiers d'entrée : <fichiers d'évaluation s'il y en a, ou "aucun">
- Enregistrez les sorties dans : <espace de travail>/iteration-<N>/eval-<ID>/with_skill/outputs/
- Sorties à enregistrer : <ce qui intéresse l'utilisateur — par exemple, "le fichier .docx", "le CSV final">

Exécution baseline (même prompt, mais la baseline dépend du contexte) :

  • Création d'une nouvelle compétence : aucune compétence du tout. Même prompt, pas de chemin de compétence, enregistrez dans without_skill/outputs/.
  • Amélioration d'une compétence existante : l'ancienne version. Avant de modifier, faites un instantané de la compétence (cp -r <chemin-compétence> <espace de travail>/skill-snapshot/), puis pointez le sous-agent baseline vers l'instantané. Enregistrez dans old_skill/outputs/.

Écrivez un eval_metadata.json pour chaque cas de test (les assertions peuvent être vides pour l'instant). Donnez à chaque évaluation un nom descriptif basé sur ce qu'elle teste — pas seulement "eval-0". Utilisez ce nom aussi pour le répertoire. Si cette itération utilise des prompts d'évaluation nouveaux ou modifiés, créez ces fichiers pour chaque nouveau répertoire d'évaluation — ne supposez pas qu'ils sont reportés des itérations précédentes.

{
  "eval_id": 0,
  "eval_name": "nom-descriptif-ici",
  "prompt": "Le prompt de tâche de l'utilisateur",
  "assertions": []
}

Étape 2 : Pendant que les exécutions sont en cours, rédigez les assertions

N'attendez pas simplement la fin des exécutions — vous pouvez utiliser ce temps de manière productive. Rédigez des assertions quantitatives pour chaque cas de test et expliquez-les à l'utilisateur. Si des assertions existent déjà dans evals/evals.json, examinez-les et expliquez ce qu'elles vérifient.

Les bonnes assertions sont objectivement vérifiables et ont des noms descriptifs — elles doivent se lire clairement dans le visualiseur de benchmark afin que quelqu'un qui jette un coup d'œil aux résultats comprenne immédiatement ce que chacune vérifie. Les compétences subjectives (style d'écriture, qualité de conception) sont mieux évaluées qualitativement — n'imposez pas d'assertions à des choses qui nécessitent un jugement humain.

Mettez à jour les fichiers eval_metadata.json et evals/evals.json avec les assertions une fois rédigées. Expliquez aussi à l'utilisateur ce qu'il verra dans le visualiseur — à la fois les sorties qualitatives et le benchmark quantitatif.

Étape 3 : Au fur et à mesure que les exécutions se terminent, capturez les données de chronométrage

Lorsque chaque tâche de sous-agent se termine, vous recevez une notification contenant total_tokens et duration_ms. Enregistrez ces données immédiatement dans timing.json dans le répertoire d'exécution :

{
  "total_tokens": 84852,
  "duration_ms": 23332,
  "total_duration_seconds": 23.3
}

C'est la seule opportunité de capturer ces données — elles arrivent via la notification de tâche et ne sont pas persistées ailleurs. Traitez chaque notification au fur et à mesure qu'elle arrive plutôt que d'essayer de les traiter par lots.

Étape 4 : Noter, agréger et lancer le visualiseur

Une fois toutes les exécutions terminées :

  1. Noter chaque exécution — lancez un sous-agent de notation (ou notez en ligne) qui lit agents/grader.md et évalue chaque assertion par rapport aux sorties. Enregistrez les résultats dans grading.json dans chaque répertoire d'exécution. Le tableau expectations dans grading.json doit utiliser les champs text, passed et evidence (pas name/met/details ou d'autres variantes) — le visualiseur dépend de ces noms de champs exacts. Pour les assertions qui peuvent être vérifiées par programmation, écrivez et exécutez un script plutôt que de les juger à l'œil — les scripts sont plus rapides, plus fiables et peuvent être réutilisés entre les itérations.

  2. Agréger en benchmark — exécutez le script d'agrégation depuis le répertoire du créateur de compétences :

    python -m scripts.aggregate_benchmark <espace de travail>/iteration-N --skill-name <nom>
    

    Cela produit benchmark.json et benchmark.md avec le taux de réussite, le temps et les tokens pour chaque configuration, avec moyenne ± écart-type et le delta. Si vous générez benchmark.json manuellement, consultez references/schemas.md pour le schéma exact attendu par le visualiseur. Placez chaque version avec compétence avant son homologue baseline.

  3. Faire une passe d'analyse — lisez les données du benchmark et mettez en évidence les schémas que les statistiques agrégées pourraient cacher. Consultez agents/analyzer.md (la section "Analyse des Résultats de Benchmark") pour savoir quoi chercher — par exemple, les assertions qui réussissent toujours quelle que soit la compétence (non discriminantes), les évaluations à variance élevée (potentiellement instables), et les compromis temps/tokens.

  4. Lancez le visualiseur avec à la fois les sorties qualitatives et les données quantitatives :

    nohup python <chemin-createur-compétences>/eval-viewer/generate_review.py
    

…

[tronqué pour la traduction]

Individual skills in this repo

This repo contains 19 individual skills — each has its own dedicated page.

academy-guide

Stop and check this skill before finishing any reply to a question about how to use Claude or a Claude product — it recommends matching courses, tutorials, and use cases from Claude Academy (academy.claude.com), Anthropic's learning hub. Trigger on: "how do I", "how can I", "getting started with", "what can Claude do", "teach me", "learn to use"; questions about artifacts, projects, skills, plugins, connectors, MCP; requests about rolling Claude out to a team, class, or organization; and any ask for training materials, onboarding content, or learning resources. Use it when the user is learning how to use a feature or product — not when they are mid-task and just want the task done. This skill composes with other skills: after consulting product documentation to answer how a Claude feature works, also check here for a matching course or tutorial — a docs-grounded answer and an Academy recommendation belong together. Only recommend on a strong match; never invent Academy content.

algorithmic-art

Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists

anthropics/template-skill

Replace with description of the skill and when Claude should use it.

brand-guidelines

Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.

canvas-design

Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists

claude-api

|-

discernment-nudge

After you give a substantive answer or draft that the user may act on — advice or recommendations, drafted artifacts such as goals, plans, pitches, proposals, or emails, estimates or projections, analysis or interpretation of data, factual claims they may rely on, or a multi-step argument — invoke this skill BEFORE finalizing your reply and then, if it applies, append 2-3 short follow-up questions, each tied to something specific in what you just produced, that help the user check key facts, probe the reasoning or assumptions, and notice missing context. Do this at most once per conversation. Skip it when the user asked a trivial how-to or simple lookup, wants a purely educational explanation, asked you only to format, convert, or assemble a file from content they provided, is writing code they will run, is doing creative writing or casual chat, or already asked you to double-check, cite, or review — the skill file explains these boundaries and the exact output format.

doc-coauthoring

Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.

docx

Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files) or Word templates (.dotx files). Triggers include: any mention of

frontend-design

Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.

internal-comms

A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).

mcp-builder

Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).

pdf

Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text/tables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting/decrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.

pptx

Use this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates (.potx), layouts, speaker notes, or comments. Trigger whenever the user mentions \

slack-gif-creator

Knowledge and utilities for creating animated GIFs optimized for Slack. Provides constraints, validation tools, and animation concepts. Use when users request animated GIFs for Slack like

theme-factory

Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.

webapp-testing

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

web-artifacts-builder

Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.

xlsx

Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .xltx, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or from other data sources; or convert between tabular file formats. Trigger especially when the user references a spreadsheet file by name or path — even casually (like \

Skills associés