Référence de la bibliothèque Navin
Cette référence liste chaque skill, plugin, commande, agent et pack livré avec la plateforme, et explique comment la plateforme les charge, les valide et les active pour un projet. Les pages sont générées depuis les sources par tools/docs/gen_library_reference.py : ne les modifiez jamais à la main.
Contenu de la bibliothèque
La plateforme livre la bibliothèque du paquet Navin navin version 2.4.8 (marketplace 1.1.0) dans catalog/navin, et les packs dans packs.
| Type | Nombre | Source |
|---|---|---|
| Skills | 276 | catalog/navin/skills/<name>/SKILL.md |
| Plugins | 17 | catalog/navin/builtin_plugins/<name>/plugin.json |
| Commandes | 28 | catalog/navin/builtin_commands/<name>.md |
| Agents | 14 | catalog/navin/builtin_agents/<name>.md |
| Packs | 12 | packs/<name>/plugin.yaml, packs/templates/<name>/plugin.yaml |
Skills, plugins, commandes, agents et packs
| Type | Ce que c'est | Comment on l'utilise |
|---|---|---|
| Skills | Un dossier avec un fichier SKILL.md : un frontmatter (name, description, metadata) et des instructions en Markdown, parfois avec des scripts, des références et des gabarits. | L'agent lit la description et charge les instructions quand une demande y correspond. |
| Plugins | Un manifeste plugin.json qui regroupe des commandes, des agents et des skills, avec les étapes de travail qui indiquent lequel utiliser à chaque étape. | Activer un plugin active tous ses composants. |
| Commandes | Un fichier Markdown dont le frontmatter donne une description, un argument-hint et les allowed-tools ; le corps est le prompt exécuté par la commande slash. | L'utilisateur tape /<name> <arguments>. |
| Agents | Un fichier Markdown qui définit un sous-agent : name, description avec des exemples de déclenchement, tools, model et color, puis le prompt système. | Une commande, une étape de plugin ou l'agent principal démarre le sous-agent. |
| Packs | Un pack de la Marketplace (plugin.yaml, spec.format: pack) : agents, sous-agents, skills, prompts, serveur et outils MCP, connecteur, workflows, politiques, évaluations et tests. | Un administrateur l'installe depuis la Marketplace avec des permissions accordées et des approbations. |
Chargement de la bibliothèque
catalog/navinest une copie en lecture seule écrite parpython tools/navin_library/sync.py;python tools/navin_library/sync.py --checksignale une copie qui ne correspond plus à la source.catalog/navin/index.jsonliste chaque skill, plugin, commande et agent avec l'empreinte sha256 de ses fichiers. Le Control Plane cherche les éléments par leur nom dans cet index, jamais par un chemin venu d'une requête.- GET /v1/navin-library donne la version et les nombres, GET /v1/navin-library/{kind} liste un type (
skills,plugins,commands,agents,mcp-presets,channels;qcherche dans le nom et la description,categoryfiltre) et GET /v1/navin-library/{kind}/{name} donne le contenu d'un élément.
Validation d'un skill
Un skill activé est enregistré dans le Skill Registry du tenant avec la version de la bibliothèque, le signataire navin-library et le skill_md_digest de son SKILL.md. Le Skill Loader le sert comme tout skill signé : la vérification compare l'empreinte avec index.json et refuse le skill sinon.
| Raison | Signification |
|---|---|
untrusted_signer | Le signataire du skill enregistré n'est pas navin-library. |
not_in_library | Aucun skill de ce nom dans index.json. |
digest_mismatch | L'empreinte du SKILL.md diffère de celle de index.json. |
Les packs suivent leur propre chaîne : enterprise-ai plugin validate, build, sign et publish, puis le contrôle préalable et l'installation de la Marketplace, voir le guide de développement de packs.
Activer un élément dans un projet
Tout se passe par projet du tenant : un autre projet ne voit aucune de ses activations. POST /v1/projects/{project_id}/navin-library/activations active un élément ; il faut le rôle éditeur sur le projet.
{"kind": "plugin", "name": "hookify"}
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
kind | chaîne | Oui | skill, plugin, command ou agent. |
name | chaîne, de 1 à 128 caractères | Oui | Nom de l'élément dans la bibliothèque. |
Un plugin active avec lui ses skills, ses commandes et ses agents ; DELETE /v1/projects/{project_id}/navin-library/activations/{activation_id} retire le plugin et tout ce qu'il a activé. Quand plus aucun projet actif du tenant n'utilise un skill de la bibliothèque, le skill est marqué obsolète et le Skill Loader le refuse.
from enterprise_ai import EnterpriseAI
client = EnterpriseAI("<control-plane-url>", api_key="<token>")
client.navin_library.activate("alpha", "plugin", "hookify")
print(client.navin_library.project("alpha")["counts"])
<token> : clé d'API d'un utilisateur qui a le rôle éditeur sur le projet alpha.
| Erreur | HTTP | Cause |
|---|---|---|
navin_library_kind_not_activable | 422 | Le type n'est pas skill, plugin, command ou agent. |
navin_library_item_not_found | 404 | Aucun élément de ce nom dans la bibliothèque. |
navin_skill_name_taken | 409 | Un skill du même nom, qui ne vient pas de la bibliothèque, existe déjà dans le tenant. |
navin_library_activation_not_found | 404 | Aucune activation de cet identifiant dans le projet. |
project_not_found | 404 | Aucun projet de cet identifiant ou de ce slug dans le tenant. |
Régénérer cette référence
python3 tools/docs/gen_library_reference.py
python3 tools/docs/gen_library_reference.py --check
python3 tools/docs/gen_library_reference.py --missing
--check sort avec le code 1 et liste les pages périmées, ou les clés françaises absentes de docs/library/_i18n/fr.yaml. --missing affiche les clés absentes avec leur texte anglais.