Quand utiliser les plugins par rapport à la configuration autonome
Claude Code prend en charge deux façons d’ajouter des skills, des agents et des hooks personnalisés :| Approche | Noms des skills | Idéal pour |
|---|---|---|
Autonome (répertoire .claude/) | /hello | Flux de travail personnels, personnalisations spécifiques au projet, expériences rapides |
Plugins (répertoires avec .claude-plugin/plugin.json) | /plugin-name:hello | Partage avec les coéquipiers, distribution à la communauté, versions publiées, réutilisable entre les projets |
- Vous personnalisez Claude Code pour un seul projet
- La configuration est personnelle et n’a pas besoin d’être partagée
- Vous expérimentez avec des skills ou des hooks avant de les empaqueter
- Vous voulez des noms de skills courts comme
/helloou/deploy
- Vous voulez partager des fonctionnalités avec votre équipe ou la communauté
- Vous avez besoin des mêmes skills/agents sur plusieurs projets
- Vous voulez le contrôle de version et les mises à jour faciles pour vos extensions
- Vous distribuez via une marketplace
- Vous êtes d’accord avec les skills avec espace de noms comme
/my-plugin:hello(l’espace de noms prévient les conflits entre les plugins)
Démarrage rapide
Ce démarrage rapide vous guide dans la création d’un plugin avec un skill personnalisé. Vous allez créer un manifeste (le fichier de configuration qui définit votre plugin), ajouter un skill et le tester localement en utilisant le drapeau--plugin-dir.
Prérequis
- Claude Code installé et authentifié
- Claude Code version 1.0.33 ou ultérieure (exécutez
claude --versionpour vérifier)
Si vous ne voyez pas la commande
/plugin, mettez à jour Claude Code vers la dernière version. Consultez Dépannage pour les instructions de mise à niveau.Créez votre premier plugin
Créez le répertoire du plugin
Chaque plugin se trouve dans son propre répertoire contenant un manifeste et vos skills, agents ou hooks. Créez-en un maintenant :
Créez le manifeste du plugin
Le fichier manifeste à Ensuite, créez
Pour les champs supplémentaires comme
.claude-plugin/plugin.json définit l’identité de votre plugin : son nom, sa description et sa version. Claude Code utilise ces métadonnées pour afficher votre plugin dans le gestionnaire de plugins.Créez le répertoire .claude-plugin à l’intérieur de votre dossier de plugin :my-first-plugin/.claude-plugin/plugin.json avec ce contenu :my-first-plugin/.claude-plugin/plugin.json
| Champ | Objectif |
|---|---|
name | Identifiant unique et espace de noms du skill. Les skills sont préfixés avec ceci (par exemple, /my-first-plugin:hello). |
description | Affiché dans le gestionnaire de plugins lors de la navigation ou de l’installation de plugins. |
version | Suivez les versions en utilisant le versioning sémantique. |
author | Optionnel. Utile pour l’attribution. |
homepage, repository et license, consultez le schéma manifeste complet.Ajoutez un skill
Les skills se trouvent dans le répertoire Ensuite, créez
skills/. Chaque skill est un dossier contenant un fichier SKILL.md. Le nom du dossier devient le nom du skill, préfixé par l’espace de noms du plugin (hello/ dans un plugin nommé my-first-plugin crée /my-first-plugin:hello).Créez un répertoire de skill dans votre dossier de plugin :my-first-plugin/skills/hello/SKILL.md avec ce contenu :my-first-plugin/skills/hello/SKILL.md
Testez votre plugin
Exécutez Claude Code avec le drapeau Une fois Claude Code démarré, essayez votre nouveau skill :Vous verrez Claude répondre avec un salut. Exécutez
--plugin-dir pour charger votre plugin :/help pour voir votre skill listé sous l’espace de noms du plugin.Pourquoi l’espace de noms ? Les skills des plugins sont toujours avec espace de noms (comme
/greet:hello) pour prévenir les conflits quand plusieurs plugins ont des skills avec le même nom.Pour changer le préfixe d’espace de noms, mettez à jour le champ name dans plugin.json.Ajoutez des arguments au skill
Rendez votre skill dynamique en acceptant l’entrée de l’utilisateur. L’espace réservé Exécutez Claude vous saluera par votre nom. Pour plus d’informations sur la transmission d’arguments aux skills, consultez Skills.
$ARGUMENTS capture tout texte que l’utilisateur fournit après le nom du skill.Mettez à jour votre fichier SKILL.md :my-first-plugin/skills/hello/SKILL.md
/reload-plugins pour récupérer les modifications, puis essayez le skill avec votre nom :- Manifeste du plugin (
.claude-plugin/plugin.json) : décrit les métadonnées de votre plugin - Répertoire des skills (
skills/) : contient vos skills personnalisés - Arguments du skill (
$ARGUMENTS) : capture l’entrée de l’utilisateur pour un comportement dynamique
Aperçu de la structure du plugin
Vous avez créé un plugin avec un skill, mais les plugins peuvent inclure beaucoup plus : des agents personnalisés, des hooks, des serveurs MCP et des serveurs LSP.| Répertoire | Emplacement | Objectif |
|---|---|---|
.claude-plugin/ | Racine du plugin | Contient le manifeste plugin.json (optionnel si les composants utilisent les emplacements par défaut) |
commands/ | Racine du plugin | Skills en tant que fichiers Markdown |
agents/ | Racine du plugin | Définitions d’agents personnalisés |
skills/ | Racine du plugin | Agent Skills avec fichiers SKILL.md |
hooks/ | Racine du plugin | Gestionnaires d’événements dans hooks.json |
.mcp.json | Racine du plugin | Configurations du serveur MCP |
.lsp.json | Racine du plugin | Configurations du serveur LSP pour l’intelligence du code |
settings.json | Racine du plugin | Paramètres par défaut appliqués quand le plugin est activé |
Prochaines étapes : Prêt à ajouter plus de fonctionnalités ? Allez à Développer des plugins plus complexes pour ajouter des agents, des hooks, des serveurs MCP et des serveurs LSP. Pour les spécifications techniques complètes de tous les composants du plugin, consultez Référence des plugins.
Développer des plugins plus complexes
Une fois que vous êtes à l’aise avec les plugins de base, vous pouvez créer des extensions plus sophistiquées.Ajoutez des Skills à votre plugin
Les plugins peuvent inclure des Agent Skills pour étendre les capacités de Claude. Les skills sont invoqués par le modèle : Claude les utilise automatiquement en fonction du contexte de la tâche. Ajoutez un répertoireskills/ à la racine de votre plugin avec des dossiers de Skill contenant des fichiers SKILL.md :
SKILL.md a besoin d’un frontmatter avec les champs name et description, suivi d’instructions :
/reload-plugins pour charger les Skills. Pour des conseils complets sur la création de Skills incluant la divulgation progressive et les restrictions d’outils, consultez Agent Skills.
Ajoutez des serveurs LSP à votre plugin
Les plugins LSP (Language Server Protocol) donnent à Claude l’intelligence du code en temps réel. Si vous avez besoin de supporter un langage qui n’a pas de plugin LSP officiel, vous pouvez en créer un en ajoutant un fichier.lsp.json à votre plugin :
.lsp.json
Livrez les paramètres par défaut avec votre plugin
Les plugins peuvent inclure un fichiersettings.json à la racine du plugin pour appliquer la configuration par défaut quand le plugin est activé. Actuellement, seule la clé agent est supportée.
Définir agent active l’un des agents personnalisés du plugin en tant que thread principal, en appliquant son invite système, ses restrictions d’outils et son modèle. Cela permet à un plugin de changer le comportement par défaut de Claude Code quand il est activé.
settings.json
security-reviewer défini dans le répertoire agents/ du plugin. Les paramètres de settings.json ont priorité sur les settings déclarés dans plugin.json. Les clés inconnues sont silencieusement ignorées.
Organisez les plugins complexes
Pour les plugins avec de nombreux composants, organisez votre structure de répertoires par fonctionnalité. Pour les dispositions de répertoires complètes et les modèles d’organisation, consultez Structure du répertoire du plugin.Testez vos plugins localement
Utilisez le drapeau--plugin-dir pour tester les plugins pendant le développement. Cela charge votre plugin directement sans nécessiter d’installation.
/reload-plugins pour récupérer les mises à jour sans redémarrer. Les modifications de la configuration du serveur LSP nécessitent toujours un redémarrage complet. Testez vos composants de plugin :
- Essayez vos skills avec
/plugin-name:skill-name - Vérifiez que les agents apparaissent dans
/agents - Vérifiez que les hooks fonctionnent comme prévu
Déboguez les problèmes de plugin
Si votre plugin ne fonctionne pas comme prévu :- Vérifiez la structure : Assurez-vous que vos répertoires sont à la racine du plugin, pas à l’intérieur de
.claude-plugin/ - Testez les composants individuellement : Vérifiez chaque commande, agent et hook séparément
- Utilisez les outils de validation et de débogage : Consultez Outils de débogage et de développement pour les commandes CLI et les techniques de dépannage
Partagez vos plugins
Quand votre plugin est prêt à être partagé :- Ajoutez de la documentation : Incluez un
README.mdavec les instructions d’installation et d’utilisation - Versionnez votre plugin : Utilisez le versioning sémantique dans votre
plugin.json - Créez ou utilisez une marketplace : Distribuez via des marketplaces de plugins pour l’installation
- Testez avec d’autres : Faites tester le plugin par les membres de l’équipe avant une distribution plus large
Soumettez votre plugin à la marketplace officielle
Pour soumettre un plugin à la marketplace officielle d’Anthropic, utilisez l’un des formulaires de soumission dans l’application :- Claude.ai : claude.ai/settings/plugins/submit
- Console : platform.claude.com/plugins/submit
Pour les spécifications techniques complètes, les techniques de débogage et les stratégies de distribution, consultez Référence des plugins.
Convertir les configurations existantes en plugins
Si vous avez déjà des skills ou des hooks dans votre répertoire.claude/, vous pouvez les convertir en plugin pour un partage et une distribution plus faciles.
Étapes de migration
Créez la structure du plugin
Créez un nouveau répertoire de plugin :Créez le fichier manifeste à
my-plugin/.claude-plugin/plugin.json :my-plugin/.claude-plugin/plugin.json
Migrez les hooks
Si vous avez des hooks dans vos paramètres, créez un répertoire de hooks :Créez
my-plugin/hooks/hooks.json avec votre configuration de hooks. Copiez l’objet hooks de votre .claude/settings.json ou settings.local.json, car le format est le même. La commande reçoit l’entrée du hook en tant que JSON sur stdin, donc utilisez jq pour extraire le chemin du fichier :my-plugin/hooks/hooks.json
Ce qui change lors de la migration
Autonome (.claude/) | Plugin |
|---|---|
| Disponible uniquement dans un projet | Peut être partagé via des marketplaces |
Fichiers dans .claude/commands/ | Fichiers dans plugin-name/commands/ |
Hooks dans settings.json | Hooks dans hooks/hooks.json |
| Doit être copié manuellement pour partager | Installer avec /plugin install |
Après la migration, vous pouvez supprimer les fichiers originaux de
.claude/ pour éviter les doublons. La version du plugin aura la priorité quand elle est chargée.Prochaines étapes
Maintenant que vous comprenez le système de plugins de Claude Code, voici les chemins suggérés pour différents objectifs :Pour les utilisateurs de plugins
- Découvrir et installer des plugins : parcourir les marketplaces et installer des plugins
- Configurer les marketplaces d’équipe : configurer les plugins au niveau du référentiel pour votre équipe
Pour les développeurs de plugins
- Créer et distribuer une marketplace : empaqueter et partager vos plugins
- Référence des plugins : spécifications techniques complètes
- Approfondissez les composants spécifiques du plugin :