Distribution de fichiers groupés MCP vs. infrastructure réseau Windows pour le déploiement de compétences en entreprise
Cet article décrit notre expérience de distribution de compétences Claude au sein d’une équipe. Les approches discutées reflètent notre contexte de déploiement et l’état de l’outillage MCP en mars 2026. L’écosystème évolue rapidement.
Résumé
Anthropic fournit un répertoire — ~/.claude/skills/ — où les fichiers de compétences définissent le comportement de Claude dans des domaines spécifiques. La documentation dit « placez vos fichiers de compétences ici. » Pour un développeur, c’est suffisant. Pour une équipe, c’est un problème de distribution sans réponse prescrite.
Ce document compare trois approches pour combler ce vide : la copie manuelle, la distribution de fichiers groupés MCP (notre solution actuelle) et l’infrastructure réseau Windows. Nous décrivons aussi brièvement une quatrième approche — les compétences comme outils MCP — que nous avons essayée puis abandonnée.
1. Le vide : un répertoire sans mécanisme de livraison
Claude Code charge les fichiers de compétences depuis ~/.claude/skills/ au démarrage de la conversation. Les compétences de projet vivent dans .claude/skills/ à la racine d’un dépôt. Claude.ai lit depuis /mnt/skills/user/. Dans chaque cas, le mécanisme est le même : un répertoire sur le système de fichiers local avec des fichiers Markdown dedans.
Le système de fichiers est le mécanisme de livraison. Mais comment les fichiers y arrivent-ils ? Anthropic ne le prescrit pas. Pour un flux de travail de 50 lignes partagé entre deux développeurs, un message Slack avec un fichier joint fonctionne. Pour une procédure de 500 lignes avec des règles fiscales, des codes d’articles et des cas limites de contrats — distribuée à dix employés dont certains utilisent Claude Code et d’autres Claude.ai — le problème est réel.
Le problème se décompose en trois sous-problèmes :
- Distribution initiale. Comment la compétence arrive-t-elle sur la machine d’un nouvel employé ?
- Mises à jour. Quand la compétence change, comment le changement atteint-il tous les utilisateurs ?
- Synchronisation des versions. Quand une compétence référence un outil MCP par nom, comment s’assurer que l’outil existe dans la version installée ?
2. Ce que nous avons essayé d’abord : les compétences comme outils MCP
Notre première approche était élégante en théorie. Nous avons implémenté trois outils MCP — list_skills, get_skill et get_skill_detail — qui servaient le contenu des compétences à la demande avec un chargement par niveaux. Le résumé compact se chargeait en premier (~500 tokens). Les sections détaillées ne se chargeaient que sur demande. La propriété intellectuelle était protégée dans du JavaScript compilé.
Inventaire des compétences disponibles. Quelques dizaines de tokens.
Résumé compact (~500 tokens) avec les règles essentielles.
Référence détaillée, filtrable par section nommée.
En pratique, cette approche a échoué pour une raison simple : la boucle d’itération. Chaque modification de compétence — une règle fiscale corrigée, un format de référence ajusté, un nouveau cas limite ajouté — exigeait de recompiler le serveur MCP, de republier le paquet npm et de redémarrer Claude Desktop. Aucun raccourci n’existait. Les constantes TypeScript sont immuables après compilation.
Pour un produit stable et gelé, cela pourrait être acceptable. Pour des compétences en développement actif — où vous affinez les règles sur des semaines de production réelle — c’est un obstacle majeur. Nous avons abandonné cette approche après deux semaines.
Ne compilez pas ce qui doit être édité fréquemment. Le chargement par niveaux et la protection IP sont des avantages réels, mais ils ne valent rien si la boucle édition-test prend cinq minutes au lieu de cinq secondes.
3. Ce qui fonctionne : distribution de fichiers groupés MCP
La solution que nous utilisons maintenant est plus simple. Les compétences sont des fichiers Markdown stockés dans le dépôt du serveur MCP, dans un répertoire skills/. Au moment de la compilation, ils sont copiés dans le répertoire de sortie. Au démarrage du serveur MCP, ils sont copiés vers ~/.claude/skills/ sur la machine locale.
L’intégralité du mécanisme de distribution tient dans une seule fonction :
// src/helpers/install-skills.ts
import { copyFileSync, existsSync, mkdirSync, readdirSync } from "fs";
import { homedir } from "os";
import { join } from "path";
export function installSkills(): void {
const srcDir = join(__dirname, "..", "claude-skills");
const destDir = join(homedir(), ".claude", "skills");
if (!existsSync(srcDir)) return;
const files = readdirSync(srcDir).filter((f) => f.endsWith(".md"));
if (files.length === 0) return;
mkdirSync(destDir, { recursive: true });
for (const file of files) {
copyFileSync(join(srcDir, file), join(destDir, file));
}
} L’entrée du serveur appelle installSkills() avant d’enregistrer les outils MCP. Quand un employé exécute npx @dibblee/dibblee-xero-core, les compétences sont installées automatiquement. Quand le paquet est mis à jour via npm update, les compétences sont remplacées au prochain démarrage.
Distribution automatique
Chaque employé qui installe le paquet npm reçoit automatiquement les compétences. Pas de copie manuelle, pas de répertoire à gérer, pas d’instructions d’intégration.
Synchronisation des versions
Les compétences et les outils voyagent dans le même paquet. Quand un outil change et que la compétence est mise à jour pour le référencer, ils sont publiés ensemble. Aucun état où une compétence référence un outil inexistant.
Éditable localement
Après installation, les fichiers sont du Markdown ordinaire dans ~/.claude/skills/. Un employé peut les éditer localement pour tester des modifications sans recompiler le serveur. Les éditions locales sont écrasées au prochain démarrage du MCP — un retour à l’état connu garanti.
Multiplateforme
Node.js, fs, os.homedir(). Fonctionne sur Windows, macOS et Linux sans code spécifique à la plateforme. Pas de dépendance à l’infrastructure réseau de l’entreprise.
Les fichiers de compétences sont copiés dans dist/ pendant la compilation (shx cp -r skills dist/claude-skills dans package.json). Cela signifie qu’une mise à jour de compétence nécessite toujours un build + publish pour atteindre les autres utilisateurs. Mais pendant le développement actif, le développeur de compétences peut éditer directement dans ~/.claude/skills/ et tester immédiatement. C’est cette boucle d’itération rapide qui manquait dans l’approche skills-as-tools.
4. L’alternative entreprise : infrastructure réseau Windows
Pour les organisations avec des postes de travail joints à Active Directory, Windows dispose déjà de mécanismes de distribution de fichiers matures : les partages réseau (chemins UNC), les stratégies de groupe (GPO), les scripts de connexion et SCCM/Intune. N’importe lequel de ces mécanismes peut placer des fichiers dans le répertoire ~/.claude/skills/ d’un utilisateur.
Accès en lecture au chemin UNC
Hébergez les compétences sur \\serveur\skills\ et mappez le répertoire ou copiez les fichiers via un script de connexion. Les mises à jour sont immédiates : modifiez le fichier sur le partage, tous les utilisateurs reçoivent le changement à la prochaine connexion.
Distribution centrée par l’IT
Les GPO peuvent déployer des fichiers vers des emplacements spécifiques sur les postes de travail. L’IT contrôle le déploiement, le ciblage par groupe de sécurité et le calendrier de mise à jour. Nécessite une infrastructure AD existante.
Cette approche a du sens lorsque l’organisation possède déjà l’infrastructure, que l’équipe IT gère les déploiements logiciels et que tous les postes de travail sont joints au domaine. Elle présente des avantages réels : les mises à jour ne nécessitent aucune compilation, aucun redémarrage de Claude Desktop, et le ciblage par groupe de sécurité permet des permissions granulaires (compétences comptables pour la comptabilité, compétences d’approvisionnement pour les achats).
L’inconvénient : les compétences et les outils MCP sont découplés. L’IT déploie les fichiers de compétences. npm déploie le serveur MCP. Il n’y a aucune garantie que la version de la compétence correspond à la version du serveur. De plus, cette approche ne fonctionne que sur Windows — les employés sur macOS ou Linux nécessitent un mécanisme de distribution séparé.
5. Comparaison
| Dimension | Copie manuelle | Groupé MCP | Réseau Windows | Outils MCP |
|---|---|---|---|---|
| Distribution initiale | Slack, courriel, wiki | Automatique via npm | Automatique via AD | Automatique via npm |
| Vitesse d’itération | Édition directe | Édition locale immédiate | Édition du partage | Recompiler + redémarrer |
| Sync des versions | Aucune | Atomique — même paquet | Découplée | Atomique — même paquet |
| Multiplateforme | Oui | Oui | Windows seulement | Oui |
| Dépendance IT | Aucune | Aucune | Requiert AD, GPO | Aucune |
| Protection IP | Texte clair | Texte clair après copie | ACLs du partage | JS compilé |
| Étape de compilation | Non | Pour publier seulement | Non | Pour chaque édition |
6. Quand utiliser quelle approche
- Un développeur, compétences simples. Copie manuelle. Un fichier dans ~/.claude/skills/. Rien de plus.
- Équipe, compétences couplées aux outils MCP. Distribution groupée MCP. Les compétences voyagent avec les outils. La synchronisation des versions est automatique. Les éditions locales sont possibles pendant le développement.
- Grande organisation, AD existant, compétences indépendantes des outils. Infrastructure réseau Windows. L’IT gère le déploiement. Le ciblage par groupe de sécurité est intégré. Mais la synchronisation des versions entre compétences et outils n’est pas garantie.
- Compétences gelées, protection IP critique. Les compétences comme outils MCP. La seule approche qui protège véritablement le contenu. Mais seulement si le contenu change rarement.
7. Détail du pipeline de compilation
Le mécanisme complet implique deux étapes coordonnées dans package.json et l’entrée du serveur :
// package.json — build script
"build": "tsc && shx chmod +x dist/*.js && shx cp -r skills dist/claude-skills"
// src/index.ts — server entry point
import { installSkills } from "./helpers/install-skills.js";
async function main() {
installSkills(); // copy skills before anything else
const server = XeroMcpServer.GetServer();
const factory = new ToolFactory(server);
factory.registerAll();
// ... connect to stdio transport
} La commande shx garantit la compatibilité multiplateforme pour les opérations de fichiers. Le répertoire skills/ du dépôt contient les fichiers Markdown source. Ils sont copiés dans dist/claude-skills/ pendant la compilation, puis dans ~/.claude/skills/ à l’exécution.
Les fichiers de compétences utilisent un format frontmatter YAML standard :
---
name: dnd-xero-workflow
description: Parse DND procurement contracts and create invoices or
purchase orders in Xero with correct tax mapping and item codes
---
## Workflow Steps
1. Receive a DND contract document... Claude Code lit le nom et la description du frontmatter pour déterminer quand invoquer la compétence. Le corps n’est chargé que lorsque le modèle décide que la compétence est pertinente pour la tâche en cours.
Conclusion
Anthropic a construit un système de compétences puissant avec une hypothèse de déploiement simple : un développeur, un système de fichiers. Le système fonctionne remarquablement bien dans ce contexte. Mais l’instant où vous avez deux personnes qui doivent utiliser la même compétence, le vide de distribution apparaît.
Nous avons essayé l’approche élégante. Elle était trop rigide. Nous utilisons maintenant l’approche pragmatique : empaquetez les compétences avec le serveur MCP, copiez-les sur le système de fichiers local au démarrage, et laissez les développeurs éditer localement quand ils ont besoin d’itérer. Quinze lignes de code Node.js. Pas de framework. Pas d’infrastructure.
Pour les organisations avec une infrastructure Windows existante, les partages réseau et les GPO sont une alternative viable — particulièrement pour les compétences qui ne sont pas couplées à des outils MCP spécifiques. Mais pour la plupart des équipes, le paquet npm est le bon mécanisme de livraison. Il est déjà là. Il fonctionne sur toutes les plateformes. Et il synchronise les compétences avec les outils qu’elles référencent.
Un répertoire n’est pas un mécanisme de distribution. C’est une destination. Le système de compétences de Claude est le répertoire. Vous devez fournir le mécanisme. Pour la plupart des équipes, une seule fonction qui copie des fichiers au démarrage est tout ce qu’il faut.