Passer au contenu principal
Pour des tutoriels pratiques et une utilisation concrète, consultez Plugins. Pour la gestion des plugins entre équipes et communautés, consultez Marchés de plugins.
Cette référence fournit les spécifications techniques complètes du système de plugins Claude Code, incluant les schémas de composants, les commandes CLI et les outils de développement.

Référence des composants de plugins

Cette section documente les cinq types de composants que les plugins peuvent fournir.

Commandes

Les plugins ajoutent des commandes slash personnalisées qui s’intègrent parfaitement au système de commandes de Claude Code. Emplacement : répertoire commands/ à la racine du plugin Format de fichier : fichiers Markdown avec frontmatter Pour plus de détails sur la structure des commandes de plugin, les modèles d’invocation et les fonctionnalités, consultez Commandes de plugin.

Agents

Les plugins peuvent fournir des sous-agents spécialisés pour des tâches spécifiques que Claude peut invoquer automatiquement si approprié. Emplacement : répertoire agents/ à la racine du plugin Format de fichier : fichiers Markdown décrivant les capacités de l’agent Structure de l’agent :
---
description: Ce dans quoi cet agent se spécialise
capabilities: ["task1", "task2", "task3"]
---

# Nom de l'agent

Description détaillée du rôle de l'agent, son expertise et quand Claude devrait l'invoquer.

## Capacités
- Tâche spécifique dans laquelle l'agent excelle
- Une autre capacité spécialisée
- Quand utiliser cet agent par rapport aux autres

## Contexte et exemples
Fournissez des exemples de quand cet agent devrait être utilisé et quels types de problèmes il résout.
Points d’intégration :
  • Les agents apparaissent dans l’interface /agents
  • Claude peut invoquer les agents automatiquement en fonction du contexte de la tâche
  • Les agents peuvent être invoqués manuellement par les utilisateurs
  • Les agents de plugin fonctionnent aux côtés des agents Claude intégrés

Compétences

Les plugins peuvent fournir des compétences d’agent qui étendent les capacités de Claude. Les compétences sont invoquées par le modèle — Claude décide automatiquement quand les utiliser en fonction du contexte de la tâche. Emplacement : répertoire skills/ à la racine du plugin Format de fichier : répertoires contenant des fichiers SKILL.md avec frontmatter Structure de la compétence :
skills/
├── pdf-processor/
│   ├── SKILL.md
│   ├── reference.md (optionnel)
│   └── scripts/ (optionnel)
└── code-reviewer/
    └── SKILL.md
Comportement d’intégration :
  • Les compétences de plugin sont automatiquement découvertes lors de l’installation du plugin
  • Claude invoque automatiquement les compétences en fonction du contexte de tâche correspondant
  • Les compétences peuvent inclure des fichiers de support aux côtés de SKILL.md
Pour le format SKILL.md et les conseils complets sur la création de compétences, consultez :

Hooks

Les plugins peuvent fournir des gestionnaires d’événements qui répondent automatiquement aux événements de Claude Code. Emplacement : hooks/hooks.json à la racine du plugin, ou en ligne dans plugin.json Format : configuration JSON avec des correspondances d’événements et des actions Configuration des hooks :
{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write|Edit",
        "hooks": [
          {
            "type": "command",
            "command": "${CLAUDE_PLUGIN_ROOT}/scripts/format-code.sh"
          }
        ]
      }
    ]
  }
}
Événements disponibles :
  • PreToolUse : Avant que Claude utilise un outil
  • PostToolUse : Après que Claude utilise un outil
  • UserPromptSubmit : Quand l’utilisateur soumet une invite
  • Notification : Quand Claude Code envoie des notifications
  • Stop : Quand Claude tente de s’arrêter
  • SubagentStop : Quand un sous-agent tente de s’arrêter
  • SessionStart : Au début des sessions
  • SessionEnd : À la fin des sessions
  • PreCompact : Avant que l’historique de conversation soit compacté
Types de hooks :
  • command : Exécuter des commandes shell ou des scripts
  • validation : Valider le contenu des fichiers ou l’état du projet
  • notification : Envoyer des alertes ou des mises à jour de statut

Serveurs MCP

Les plugins peuvent regrouper des serveurs Model Context Protocol (MCP) pour connecter Claude Code avec des outils et services externes. Emplacement : .mcp.json à la racine du plugin, ou en ligne dans plugin.json Format : configuration standard du serveur MCP Configuration du serveur MCP :
{
  "mcpServers": {
    "plugin-database": {
      "command": "${CLAUDE_PLUGIN_ROOT}/servers/db-server",
      "args": ["--config", "${CLAUDE_PLUGIN_ROOT}/config.json"],
      "env": {
        "DB_PATH": "${CLAUDE_PLUGIN_ROOT}/data"
      }
    },
    "plugin-api-client": {
      "command": "npx",
      "args": ["@company/mcp-server", "--plugin-mode"],
      "cwd": "${CLAUDE_PLUGIN_ROOT}"
    }
  }
}
Comportement d’intégration :
  • Les serveurs MCP de plugin démarrent automatiquement quand le plugin est activé
  • Les serveurs apparaissent comme des outils MCP standard dans la boîte à outils de Claude
  • Les capacités du serveur s’intègrent parfaitement aux outils existants de Claude
  • Les serveurs de plugin peuvent être configurés indépendamment des serveurs MCP de l’utilisateur

Schéma du manifeste de plugin

Le fichier plugin.json définit les métadonnées et la configuration de votre plugin. Cette section documente tous les champs et options supportés.

Schéma complet

{
  "name": "plugin-name",
  "version": "1.2.0",
  "description": "Brief plugin description",
  "author": {
    "name": "Author Name",
    "email": "[email protected]",
    "url": "https://github.com/author"
  },
  "homepage": "https://docs.example.com/plugin",
  "repository": "https://github.com/author/plugin",
  "license": "MIT",
  "keywords": ["keyword1", "keyword2"],
  "commands": ["./custom/commands/special.md"],
  "agents": "./custom/agents/",
  "hooks": "./config/hooks.json",
  "mcpServers": "./mcp-config.json"
}

Champs obligatoires

ChampTypeDescriptionExemple
namestringIdentifiant unique (kebab-case, pas d’espaces)"deployment-tools"

Champs de métadonnées

ChampTypeDescriptionExemple
versionstringVersion sémantique"2.1.0"
descriptionstringExplication brève du but du plugin"Deployment automation tools"
authorobjectInformations sur l’auteur{"name": "Dev Team", "email": "[email protected]"}
homepagestringURL de documentation"https://docs.example.com"
repositorystringURL du code source"https://github.com/user/plugin"
licensestringIdentifiant de licence"MIT", "Apache-2.0"
keywordsarrayBalises de découverte["deployment", "ci-cd"]

Champs de chemin de composant

ChampTypeDescriptionExemple
commandsstring|arrayFichiers/répertoires de commandes supplémentaires"./custom/cmd.md" ou ["./cmd1.md"]
agentsstring|arrayFichiers d’agents supplémentaires"./custom/agents/"
hooksstring|objectChemin de configuration des hooks ou configuration en ligne"./hooks.json"
mcpServersstring|objectChemin de configuration MCP ou configuration en ligne"./mcp.json"

Règles de comportement des chemins

Important : Les chemins personnalisés complètent les répertoires par défaut - ils ne les remplacent pas.
  • Si commands/ existe, il est chargé en plus des chemins de commandes personnalisés
  • Tous les chemins doivent être relatifs à la racine du plugin et commencer par ./
  • Les commandes des chemins personnalisés utilisent les mêmes règles de nommage et d’espacement de noms
  • Plusieurs chemins peuvent être spécifiés sous forme de tableaux pour plus de flexibilité
Exemples de chemins :
{
  "commands": [
    "./specialized/deploy.md",
    "./utilities/batch-process.md"
  ],
  "agents": [
    "./custom-agents/reviewer.md",
    "./custom-agents/tester.md"
  ]
}

Variables d’environnement

${CLAUDE_PLUGIN_ROOT} : Contient le chemin absolu vers votre répertoire de plugin. Utilisez ceci dans les hooks, les serveurs MCP et les scripts pour assurer les chemins corrects indépendamment du lieu d’installation.
{
  "hooks": {
    "PostToolUse": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "${CLAUDE_PLUGIN_ROOT}/scripts/process.sh"
          }
        ]
      }
    ]
  }
}

Structure du répertoire de plugin

Disposition standard du plugin

Un plugin complet suit cette structure :
enterprise-plugin/
├── .claude-plugin/           # Répertoire de métadonnées
│   └── plugin.json          # Obligatoire : manifeste du plugin
├── commands/                 # Emplacement de commande par défaut
│   ├── status.md
│   └──  logs.md
├── agents/                   # Emplacement d'agent par défaut
│   ├── security-reviewer.md
│   ├── performance-tester.md
│   └── compliance-checker.md
├── skills/                   # Compétences d'agent
│   ├── code-reviewer/
│   │   └── SKILL.md
│   └── pdf-processor/
│       ├── SKILL.md
│       └── scripts/
├── hooks/                    # Configurations des hooks
│   ├── hooks.json           # Configuration principale des hooks
│   └── security-hooks.json  # Hooks supplémentaires
├── .mcp.json                # Définitions du serveur MCP
├── scripts/                 # Scripts de hook et d'utilitaire
│   ├── security-scan.sh
│   ├── format-code.py
│   └── deploy.js
├── LICENSE                  # Fichier de licence
└── CHANGELOG.md             # Historique des versions
Le répertoire .claude-plugin/ contient le fichier plugin.json. Tous les autres répertoires (commands/, agents/, skills/, hooks/) doivent être à la racine du plugin, pas à l’intérieur de .claude-plugin/.

Référence des emplacements de fichiers

ComposantEmplacement par défautObjectif
Manifeste.claude-plugin/plugin.jsonFichier de métadonnées obligatoire
Commandescommands/Fichiers markdown de commande slash
Agentsagents/Fichiers markdown de sous-agent
Compétencesskills/Compétences d’agent avec fichiers SKILL.md
Hookshooks/hooks.jsonConfiguration des hooks
Serveurs MCP.mcp.jsonDéfinitions du serveur MCP

Outils de débogage et de développement

Commandes de débogage

Utilisez claude --debug pour voir les détails du chargement du plugin :
claude --debug
Cela affiche :
  • Quels plugins sont en cours de chargement
  • Toute erreur dans les manifestes de plugin
  • Enregistrement des commandes, agents et hooks
  • Initialisation du serveur MCP

Problèmes courants

ProblèmeCauseSolution
Plugin ne se charge pasplugin.json invalideValider la syntaxe JSON
Les commandes n’apparaissent pasStructure de répertoire incorrecteAssurez-vous que commands/ est à la racine, pas dans .claude-plugin/
Les hooks ne se déclenchent pasScript non exécutableExécutez chmod +x script.sh
Le serveur MCP échoue${CLAUDE_PLUGIN_ROOT} manquantUtilisez la variable pour tous les chemins de plugin
Erreurs de cheminChemins absolus utilisésTous les chemins doivent être relatifs et commencer par ./

Référence de distribution et de versioning

Gestion des versions

Suivez le versioning sémantique pour les versions de plugin :

## Voir aussi

- [Plugins](/fr/plugins) - Tutoriels et utilisation pratique
- [Marchés de plugins](/fr/plugin-marketplaces) - Création et gestion des marchés
- [Commandes slash](/fr/slash-commands) - Détails du développement de commandes
- [Sous-agents](/fr/sub-agents) - Configuration et capacités des agents
- [Compétences d'agent](/fr/skills) - Étendre les capacités de Claude
- [Hooks](/fr/hooks) - Gestion des événements et automatisation
- [MCP](/fr/mcp) - Intégration d'outils externes
- [Paramètres](/fr/settings) - Options de configuration pour les plugins