plugin-dev
Boîte à outils pour construire des plugins Navin : skills, agents, commandes slash, hooks, serveurs MCP et réglages, avec création guidée et validation.
Référence
| Champ | Valeur |
|---|---|
| Nom | plugin-dev |
| Version | 1.0.0 |
| Catégorie | Développement |
| Licence | Aucune valeur |
| Source | catalog/navin/builtin_plugins/plugin-dev/plugin.json |
| README | catalog/navin/builtin_plugins/plugin-dev/README.md |
| Digest | sha256:ae8c9bb8139e3469550c9a0a227056c50960af7e4a5cc50b2a49590a143fd533 |
| plugin.json | agents, category, commands, description, name, skills, steps, version |
Commandes
| Nom | Arguments | Description |
|---|---|---|
/create-plugin | [plugin description] | Créer un plugin Navin de bout en bout avec un workflow guidé en 8 phases |
Agents
| Nom | Outils | Modèle | Description |
|---|---|---|---|
agent-creator | read_file, write_file, list_dir, find_files, grep, exec, skill | inherit | À utiliser quand l'utilisateur veut un nouveau sous-agent Navin rédigé à partir d'une description en langage courant : il conçoit le rôle, écrit les exemples de déclenchement et enregistre le fichier de l'agent. Demandes typiques : « crée un agent qui relit les migrations », « fais-moi un sous-agent pour les notes de version » ou « ajoute un agent à mon plugin ». |
plugin-validator | read_file, list_dir, find_files, grep, exec, skill | inherit | À utiliser quand un plugin Navin doit être vérifié pour sa structure et sa qualité : après l'avoir créé ou modifié, avant de le publier, ou quand un composant du plugin ne se charge pas. Il valide plugin.json, les skills, les agents, les commandes, les hooks et les serveurs MCP, puis rend un rapport. |
skill-reviewer | read_file, list_dir, find_files, grep, exec, skill | inherit | À utiliser quand un skill Navin doit faire l'objet d'une revue de qualité : après l'écriture ou la modification d'un SKILL.md, avant de le livrer dans un plugin, ou quand un skill ne se déclenche pas alors qu'il le devrait. Il relit la description, le corps, la divulgation progressive et les fichiers fournis, puis rend un rapport noté avec des corrections. |
Skills
| Nom | Description |
|---|---|
| plugin-structure | Organiser, générer, empaqueter et installer un plugin Navin (manifeste plugin.json, skills/, agents/, commands/, hooks/hooks.json, mcp.json, ${NAVIN_PLUGIN_ROOT}). |
| skill-development | Écrire, restructurer ou améliorer un skill Navin (frontmatter de SKILL.md, description de déclenchement, divulgation progressive avec references/, examples/, scripts/). |
| agent-development | Concevoir et écrire des sous-agents Navin (agents/<name>.md avec nom, description et exemples, outils, modèle, couleur et un corps de prompt système), puis vérifier que Navin leur délègue bien le travail. |
| command-development | Écrire des commandes slash Navin sous forme de fichiers de prompt Markdown (frontmatter, $ARGUMENTS, $1..$9, ${1:-default}, inclusion de fichiers avec @file, sortie shell avec !cmd, allowed-tools, espaces de noms, commandes de plugin avec ${NAVIN_PLUGIN_ROOT}). |
| hook-development | Écrire des hooks de cycle de vie Navin (hooks.json, PreToolUse, PostToolUse, UserPromptSubmit, SessionStart, Stop, SubagentStop) sous forme de commandes shell qui lisent le JSON de l'événement sur stdin et bloquent, avertissent ou ajoutent du contexte via les codes de sortie et une sortie JSON. |
| mcp-integration | Connecter des serveurs MCP à Navin et les livrer dans des plugins (mcp.json, stdio, sse, streamableHttp, env et headers, ${NAVIN_PLUGIN_ROOT}, enabledTools, toolTimeout, noms mcp_<server>_<tool>). |
| plugin-settings | Doter un plugin Navin de paramètres par projet, stockés dans .navin/<plugin>.local.md (frontmatter YAML pour les valeurs, corps Markdown pour le texte libre), et les lire depuis les hooks, commandes et agents. |
Hooks, serveurs MCP et réglages
plugin.json ne déclare aucun hook, aucun serveur MCP et aucun réglage : le plugin se compose uniquement des éléments ci-dessus.
Étapes de travail
| Étape | Utiliser |
|---|---|
| créer un plugin de bout en bout | /create-plugin |
| organiser la structure d'un plugin | skill:plugin-structure |
| écrire un skill | skill:skill-development |
| écrire un agent | agent:agent-creator |
| écrire une commande slash | skill:command-development |
| écrire un hook | skill:hook-development |
| ajouter un serveur MCP | skill:mcp-integration |
| ajouter des réglages de plugin | skill:plugin-settings |
| valider un plugin | agent:plugin-validator |
| relire un skill | agent:skill-reviewer |
L'activer dans un projet
Activer plugin-dev crée 12 activations dans le projet : le plugin lui-même, 7 skills, 1 commande et 3 agents. Retirer l'activation du plugin les retire toutes.
curl -X POST <control-plane-url>/v1/projects/<project>/navin-library/activations \
-H "Authorization: Bearer <token>" -H "Content-Type: application/json" \
-d '{"kind": "plugin", "name": "plugin-dev"}'
<project> : identifiant ou slug du projet. <token> : clé d'API avec le rôle éditeur sur le projet.
client.navin_library.activate("<project>", "plugin", "plugin-dev")