Agent Plugins package your skills, tools, and more
Annonce Google du 6 août 2026 : Google rejoint comme Core Maintainer la spécification Agent Plugins 1.0.0, format d'empaquetage ouvert et vendor-neutral pour distribuer ensemble des Agent Skills et des serveurs MCP. ⭐ Le fait de gouvernance prime sur le fait technique : la spécification a été publiée par un TSC dont les Core Maintainers viennent d'Amazon, Cursor, Microsoft, OpenAI et Vercel — Google s'y ajoute, représenté par Kevin Hou (Senior Staff Engineer, Google DeepMind). ⚠️ Anthropic ne figure pas dans cette liste, alors que les deux briques empaquetées (Agent Skills et MCP) sont d'origine Anthropic : la couche d'emballage des deux formats d'Anthropic se normalise sans qu'Anthropic soit nommée parmi les mainteneurs. Le diagnostic est posé en une phrase : *« The core problem isn't the components.
Billet d'ingénierie de Google du 6 août 2026 annonçant que l'entreprise rejoint comme Core Maintainer la spécification Agent Plugins 1.0.0 — un format d'empaquetage ouvert et vendor-neutral pour distribuer ensemble Agent Skills et serveurs MCP.
Le fait de gouvernance d'abord. La spécification a été publiée par un TSC de Core Maintainers venus d'Amazon, Cursor, Microsoft, OpenAI et Vercel. Google s'y ajoute, représenté nominativement par Kevin Hou (Google DeepMind). Six concurrents s'accordent sur une couche d'emballage. Anthropic ne figure pas dans la liste des mainteneurs, alors que les deux briques empaquetées viennent de chez elle.
Those skills were already distributable. Now they're distributable in a format that isn't ours alone.
— Trois signataires , developers.googleblog.com
Le diagnostic. Une skill est portable, un serveur MCP est portable — « The core problem isn't the components. It's the manifest. » Ce qui n'a jamais été portable, c'est la boîte : disposition des répertoires, métadonnées de manifeste, forme de la configuration MCP et inférence du transport diffèrent d'un client à l'autre. On forke, on maintient deux copies de composants identiques, et elles dérivent.
Le format.« A plugin is a directory. That's the whole idea, and the restraint is the point. » Un plugin.json réduit à $schema et name ; les skills dans skills/, au format Agent Skills ; les serveurs dans mcp.json, avec un type explicite sur chaque entrée (stdio, Streamable HTTP, HTTP+SSE historique). La force du design tient à ce que le manifeste ne peut pas faire : ni relocaliser un composant, ni le déclarer en ligne. Donc aucun chemin de découverte à configurer, aucun ordre de précédence à apprendre. Corollaire : les composants échouent indépendamment — un serveur qui ne démarre pas n'emporte pas les skills. Un répertoire en domaine inversé (com.example.client/) sert d'espace d'extension propriétaire, ignoré par les autres clients : le cœur portable reste petit parce que les parties non portables ont où aller.
Les limites, assumées. Une section entière explique quand ne pas faire de plugin (un seul serveur MCP, une seule skill : inutile). Une autre liste ce que la v1 exclut : installation, distribution, permissions, sandboxing, vérification de confiance et de provenance, UX. Justification : les obligations d'un IDE, d'une CLI et d'une plateforme d'entreprise diffèrent réellement.
Livré aujourd'hui : Agents CLI (utilisable depuis Antigravity, Gemini CLI, Claude Code ou Cursor) et Data Agent Kit (BigQuery, Spanner, Cloud SQL). « Those skills were already distributable. Now they're distributable in a format that isn't ours alone. » Chute : « Packaging is unglamorous infrastructure », et c'est précisément ce qui doit être partagé plutôt que réinventé cinq fois.
À retenir
⭐⭐ Lire l'annonce par la gouvernance avant la technique. Le format compte moins que qui le tient : un TSC de Core Maintainers issus d'Amazon, Cursor, Microsoft, OpenAI, Vercel, rejoints par Google. Six acteurs concurrents sur une couche d'emballage. ⚠️ Anthropic n'est pas dans la liste des mainteneurs — alors que Agent Skills et MCP, les deux formats empaquetés, viennent de chez elle. Ne pas surinterpréter (l'absence de cette liste n'est pas une exclusion, et le billet ne dit rien du reste de la gouvernance), mais le fait est là : la couche qui rend les formats d'Anthropic distribuables se normalise ailleurs. À rapprocher de [[openai-agentic-ai-foundation-linux-2025-12-09]] sur la normalisation ouverte de la couche agent, et de [[janakiram-agent-platform-portability-contract-2026-07-20]] sur le contrat de portabilité entre plateformes.
⭐ Le diagnostic, réutilisable tel quel.« The core problem isn't the components. It's the manifest. » Une skill est portable, un serveur MCP est portable ; la boîte ne l'est pas, et chaque client a dû l'inventer. Symptômes à reconnaître dans votre propre distribution : un fork par client, deux copies de composants identiques, et la dérive qui suit.
Le format en cinq lignes, à retenir.` reports-plugin/ ├── plugin.json # $schema + name : deux lignes utiles ├── skills/summarize/ # SKILL.md, scripts/, references/ (spec Agent Skills) ├── mcp.json # un type explicite sur chaque entrée └── com.example.client/ # espace d'extension propriétaire, ignoré par les autres ` → Le type explicite tue une ambiguïté réelle : plus de transport deviné à la forme de l'objet de config (stdio / Streamable HTTP / HTTP+SSE historique).
⭐⭐ La meilleure idée de design : ce que le manifeste ne peut pas faire.plugin.jsonne peut ni relocaliser un composant ni le déclarer en ligne. Conséquences : aucun chemin de découverte à configurer, aucun ordre de précédence à apprendre. C'est un choix d'ingénierie transposable bien au-delà des plugins d'agents — toute expressivité laissée à un fichier de configuration devient une surface de divergence entre implémentations. Ici, le format est rendu portable en lui retirant du pouvoir.
La règle d'exploitation qui en découle.« Independent components fail independently. » Un serveur mcp.json qui ne démarre pas n'emporte pas les skills du plugin — le client saute l'entrée, continue de charger et signale l'échec. À vérifier explicitement chez tout client qui prétend implémenter la spec : c'est le genre de garantie qu'on découvre absente en production.
⭐ L'échappatoire en domaine inversé — et son revers.com.example.client/ est un espace d'extension possédé par un seul client (hooks, agents, commandes), ignoré par les autres. Argument affiché : le cœur portable reste petit parce que les parties non portables ont un endroit légitime où aller. ⚠️ Le même mécanisme est le vecteur par lequel la portabilité peut se vider : si la valeur d'usage migre progressivement dans les répertoires propriétaires, le plugin reste formellement portable et devient pratiquement mono-client. Métrique à surveiller sur vos propres plugins : quelle part des fonctionnalités vit hors du cœur portable.
⭐ La section qu'on voit rarement dans un billet de plateforme. — « Not Every skill should be a Plugin » : un seul serveur MCP vers un seul client → mcp.json seul reste la réponse la plus simple ; une seule skill → pas de plugin. Le format ne se justifie que pour des composants qui vont ensemble et doivent voyager ensemble. Critère à appliquer avant de convertir un dépôt existant.
⚠️⚠️ Ce que la v1 exclut, à lire comme une liste de risques à couvrir soi-même.pas de mécanisme d'installation, pas de protocole de distribution, pas de modèle de permissions, pas d'exigence de bac à sable, aucune vérification de confiance ou de provenance, pas d'UX. Le billet le justifie (les obligations d'un IDE, d'une CLI et d'une plateforme d'entreprise diffèrent) et l'assume dans les future considerations. Traduction pour qui déploie : un format standard qui rend plus facile la circulation de code exécutable (skills avec scripts/, serveurs MCP) sans couche de provenance déplace la charge de la chaîne d'approvisionnement entièrement sur le client et sur vous. À instruire avec [[valente-zalewski-beyond-zero-enterprise-security-ai-era-2026-07-20]] et [[sfeir-anthropic-sdlc-ai-native-securise-2026-07-26]] : périmètre d'exécution, restriction de sortie réseau, revue des skills tierces.
La pile à quatre couches — tableau à réutiliser. | Job | Couche | Ce qu'elle fait | |---|---|---| | Trouver | Agentic Resource Discovery | protocole ouvert : « qu'est-ce qui existe pour cette tâche ? » — traite déjà le plugin comme ressource de première classe, avant invocation | | Décrire | AI Catalog | format d'entrée indexé par ARD ; enregistrement proposé du type application/agent-plugins+json | | Empaqueter | Agent Plugins | un répertoire, des emplacements fixes | | Exécuter | MCP + Agent Skills | les contrats d'exécution, déjà portables | → Chaque couche est adoptable indépendamment : publier un plugin sans entrée de catalogue, cataloguer une ressource qui n'est pas un plugin, exécuter des skills sans plugin. « Adopting one never obligates you to the next. » C'est la promesse à vérifier dans les faits. ⚠️ Consigne de graphe (cf. [[girard-acp-deux-protocoles-un-sigle-2026-08-02]]) : ne jamais créer d'entité ARD — l'entité canonique est Agentic Resource Discovery, « ARD » n'est qu'un alias.
Ce qui est livré aujourd'hui.Agents CLI (skills Google d'agent building, évaluation, déploiement, observabilité, publication — s'utilise depuis Antigravity, Gemini CLI, Claude Code ou Cursor) et Data Agent Kit (BigQuery, Spanner, Cloud SQL). Noter la formulation : « Those skills were already distributable. Now they're distributable in a format that isn't ours alone. » — la nouveauté n'est pas la capacité, c'est la neutralité du contenant.
Méta / à relier. sur la brique empaquetée, [[agent-skills-anthropic-2025-10-16]] et [[claude-skills-document-manipulation-willison-2025-10-10]] ; sur la couche client↔agent qui s'empile au-dessus, [[agentclientprotocol-introduction-2026-08-02]] ; sur la découverte et l'annuaire de skills en pratique, [[graphify-net-annuaire-ia-coding-2026-08-06]] et [[skill-shamsi-graphify-2026-08-06]] ; sur la concurrence des formats d'instruction, [[gao-vercel-agents-md-outperforms-skills-evals-2026-01-27]] (Vercel, également Core Maintainer ici).
Affirmations attribuées
le problème de portabilité ne vient pas des composants mais du manifeste qui les emballe
— Google
l'empaquetage est une infrastructure ingrate, qui doit être partagée plutôt que réinventée cinq fois
— Google
Le graphe de connaissance extrait de cette fiche — 11 entités, 29 relations.