Skills et MCP dans Claude Code — Guide complet
Partie 1 : Les Skills
Définition
Un skill Claude Code est un module réutilisable qui étend les capacités de Claude avec des connaissances spécialisées, des workflows et des outils. C'est comme un "guide d'intégration" pour un domaine précis : il transforme Claude d'un agent généraliste en un agent spécialisé équipé de savoir-faire procédural.
Un skill peut embarquer :
- des instructions (dans
SKILL.md), - des scripts exécutables (Python, Bash...),
- des références (documentation, schémas, specs),
- des assets (templates, images, polices...).
L'idée : encapsuler une façon de travailler dans un module que Claude peut invoquer automatiquement selon le contexte.
Anatomie d'un skill
Tout skill a une structure simple :
skill-name/
├── SKILL.md # Obligatoire : instructions + métadonnées
├── scripts/ # Optionnel : code exécutable
├── references/ # Optionnel : documentation de référence
└── assets/ # Optionnel : fichiers utilisés dans les outputs
SKILL.md (obligatoire)
C'est le cœur du skill. Il contient :
- Un frontmatter YAML avec
nameetdescription— c'est ce que Claude lit pour décider quand utiliser le skill. - Un corps en Markdown — les instructions détaillées, chargées uniquement si le skill est déclenché.
Exemple :
---
name: frontend-design
description: Création d'interfaces web distinctives et production-ready. Utiliser quand l'utilisateur demande de créer des composants, pages ou applications web (sites, landing pages, dashboards, composants React, layouts HTML/CSS).
---Le corps contient ensuite les instructions de travail.
scripts/ (optionnel)
Code exécutable pour les tâches qui demandent une fiabilité déterministe ou qui seraient réécrites à chaque fois.
- Quand l'utiliser : opérations répétitives (rotation de PDF, conversion d'images...), tâches fragiles où la cohérence est critique.
- Avantage : économie de tokens, exécution sans charger le code en contexte.
Exemple : scripts/rotate_pdf.py
references/ (optionnel)
Documentation que Claude charge en contexte selon ses besoins.
- Quand l'utiliser : schémas de base de données, specs d'API, documentation métier, politiques d'entreprise.
- Avantage : garde le
SKILL.mdléger, chargé uniquement à la demande.
Exemple : references/api_docs.md, references/brand_guidelines.md
assets/ (optionnel)
Fichiers utilisés dans les outputs, pas chargés en contexte.
- Quand l'utiliser : templates, images, polices, boilerplate de projet.
- Avantage : Claude peut utiliser ces fichiers sans les lire.
Exemple : assets/logo.png, assets/template.pptx, assets/starter-app/
Comment Claude utilise les skills
Le système fonctionne en trois niveaux de chargement progressif :
- Métadonnées (name + description) — toujours en contexte (~100 mots)
- Corps du SKILL.md — chargé si le skill est déclenché (moins de 5000 mots)
- Ressources — chargées à la demande par Claude
Claude lit les métadonnées de tous les skills disponibles. Quand une requête correspond à la description d'un skill, il charge le corps du SKILL.md et travaille selon ses instructions.
Installer et utiliser un skill
Emplacement des skills
Les skills sont placés dans des dossiers sous /mnt/skills/ :
/mnt/skills/public/— skills publics fournis par Anthropic/mnt/skills/user/— skills ajoutés par l'utilisateur/mnt/skills/examples/— skills d'exemple
Utilisation
Pas besoin de commande spéciale. Claude détecte automatiquement quand un skill est pertinent grâce à sa description.
Tu peux aussi demander explicitement :
Utilise le skill frontend-design et crée un dashboard pour une app de trading.
Le skill frontend-design
Objectif
Le skill frontend-design guide Claude pour créer des interfaces web distinctives et production-ready, en évitant l'esthétique "IA générique" (dégradés violets, Inter partout, cards rondes...).
Ce qu'il fait
Il pousse Claude à :
- choisir une direction esthétique audacieuse et claire,
- utiliser des typographies avec du caractère (pas Arial, pas Inter),
- construire des palettes cohérentes avec des couleurs dominantes et des accents marqués,
- produire du code fonctionnel (HTML/CSS/JS, React, Vue...).
Directions esthétiques suggérées
Le skill encourage à choisir un ton extrême parmi (liste non exhaustive) :
- Brutally minimal : épuré, peu de couleurs, beaucoup d'espace
- Maximalist : dense, typographie expressive, animations riches
- Retro-futuristic : néons, géométrie, vibe années 80
- Luxury / Refined : palette sombre, accents dorés, serif élégantes
- Playful / Toy-like : couleurs vives, arrondis, micro-animations ludiques
- Editorial / Magazine : layouts asymétriques, typo éditoriale
- Brutalist / Raw : brut, sans fioritures, impact visuel
Exemple d'utilisation
Utilise le skill frontend-design.
Crée une landing page pour une app de méditation, style "Luxury / Refined",
avec un hero animé et une section témoignages.
Principes appliqués
- Typographie : polices distinctives, pas de fonts génériques.
- Couleurs : palette restreinte (2-3 dominantes) + accents ciblés, variables CSS.
- Mouvement : animations soignées sur les moments clés (chargement, hover, scroll).
- Composition : layouts asymétriques, overlap, grilles cassées, espace négatif généreux.
- Détails visuels : textures, gradients mesh, ombres dramatiques, grain...
Créer ton propre skill
Étape 1 : Initialiser le skill
Utilise le script d'initialisation :
python /mnt/skills/examples/skill-creator/scripts/init_skill.py mon-skill --path /home/claude/Ça crée la structure de base avec des exemples.
Étape 2 : Écrire le SKILL.md
Frontmatter : écris un name et une description claire. La description est cruciale — c'est ce qui déclenche le skill.
---
name: mon-skill-custom
description: Description claire de ce que fait le skill et QUAND l'utiliser. Inclure des exemples de requêtes qui devraient déclencher ce skill.
---Corps : instructions concises. Claude est intelligent — n'explique que ce qu'il ne sait pas déjà.
Étape 3 : Ajouter les ressources
scripts/: code à exécuter (tester avant d'inclure !)references/: documentation à consulterassets/: fichiers à utiliser dans les outputs
Étape 4 : Valider et packager
python /mnt/skills/examples/skill-creator/scripts/package_skill.py /home/claude/mon-skillLe script valide la structure et crée un fichier .skill distribuable.
Bonnes pratiques pour les skills
Concision
Le contexte est une ressource partagée. Chaque token compte. Préfère les exemples concis aux explications verbeuses.
Progressive disclosure
- Garde le
SKILL.mdsous 500 lignes. - Déplace les détails dans
references/. - Référence clairement les fichiers depuis le
SKILL.md.
Ne pas inclure
- README.md, CHANGELOG.md, guides d'installation — le skill est pour Claude, pas pour des humains.
- Documentation du processus de création.
- Fichiers qui ne servent pas directement à l'exécution.
Partie 2 : MCP (Model Context Protocol)
C'est quoi MCP ?
MCP est un protocole open-source qui permet à Claude de se connecter à des outils externes : bases de données, APIs, services cloud, outils de développement... C'est comme un port USB-C universel pour l'IA : une façon standardisée de connecter Claude à n'importe quelle source de données ou outil.
MCP fonctionne via des serveurs MCP qui exposent des capacités à Claude :
- Tools : fonctions que Claude peut appeler (avec approbation utilisateur)
- Resources : données que Claude peut lire (comme des réponses API ou du contenu de fichiers)
- Prompts : templates pré-écrits disponibles comme commandes slash
Ce que tu peux faire avec MCP
Avec des serveurs MCP connectés, tu peux demander à Claude :
- "Implémente la feature décrite dans le ticket JIRA ENG-4521 et crée une PR sur GitHub."
- "Vérifie Sentry pour voir les erreurs récentes sur la feature ENG-4521."
- "Trouve les emails de 10 utilisateurs aléatoires dans notre base Postgres."
- "Mets à jour notre template email avec les nouveaux designs Figma."
- "Crée des brouillons Gmail pour inviter ces utilisateurs à une session feedback."
Serveurs MCP populaires
Développement & Monitoring
| Serveur | Description | Commande d'installation |
|---|---|---|
| Sentry | Monitoring d'erreurs, debug production | claude mcp add --transport http sentry https://mcp.sentry.dev/mcp |
| Socket | Analyse de sécurité des dépendances | claude mcp add --transport http socket https://mcp.socket.dev/ |
| Hugging Face | Accès aux modèles et apps Gradio | claude mcp add --transport http hugging-face https://huggingface.co/mcp |
| GitHub | Repos, issues, PRs, code | claude mcp add github --env GITHUB_TOKEN=ton-token -- npx -y @modelcontextprotocol/server-github |
Gestion de projet & Documentation
| Serveur | Description | Commande d'installation |
|---|---|---|
| Asana | Gestion de tâches et projets | claude mcp add --transport sse asana https://mcp.asana.com/sse |
| Atlassian | Jira + Confluence | claude mcp add --transport sse atlassian https://mcp.atlassian.com/v1/sse |
| Linear | Issue tracking moderne | claude mcp add --transport sse linear https://mcp.linear.app/sse |
| Notion | Docs, pages, tâches | claude mcp add --transport http notion https://mcp.notion.com/mcp |
| Monday | Boards, items, CRM | claude mcp add --transport sse monday https://mcp.monday.com/sse |
Bases de données & Data
| Serveur | Description | Commande d'installation |
|---|---|---|
| PostgreSQL | Requêtes SQL | claude mcp add postgres --env DATABASE_URL=ton-url -- npx -y @modelcontextprotocol/server-postgres |
| Airtable | Bases et records | claude mcp add airtable --env AIRTABLE_API_KEY=ta-clé -- npx -y airtable-mcp-server |
| HubSpot | CRM : contacts, deals | claude mcp add --transport http hubspot https://mcp.hubspot.com/anthropic |
Paiements & Commerce
| Serveur | Description | Commande d'installation |
|---|---|---|
| Stripe | Paiements, abonnements | claude mcp add --transport http stripe https://mcp.stripe.com |
| PayPal | Commerce, transactions | claude mcp add --transport http paypal https://mcp.paypal.com/mcp |
| Square | Paiements, inventaire | claude mcp add --transport sse square https://mcp.squareup.com/sse |
Design & Media
| Serveur | Description | Commande d'installation |
|---|---|---|
| Figma | Accès aux designs, export assets | claude mcp add --transport http figma-dev-mode-mcp-server http://127.0.0.1:3845/mcp |
| Canva | Création et génération de designs | claude mcp add --transport http canva https://mcp.canva.com/mcp |
| InVideo | Création vidéo | claude mcp add --transport sse invideo https://mcp.invideo.io/sse |
Infrastructure & DevOps
| Serveur | Description | Commande d'installation |
|---|---|---|
| Vercel | Déploiements, logs, projets | claude mcp add --transport http vercel https://mcp.vercel.com/ |
| Netlify | Déploiements, secrets, forms | claude mcp add --transport http netlify https://netlify-mcp.netlify.app/mcp |
Filesystem & Recherche
| Serveur | Description | Commande d'installation |
|---|---|---|
| Filesystem | Lecture/écriture de fichiers locaux | claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem ~/Documents ~/Projects |
| Brave Search | Recherche web | claude mcp add search --env BRAVE_API_KEY=ta-clé -- npx -y @modelcontextprotocol/server-brave-search |
Installer un serveur MCP
Il existe trois types de serveurs MCP :
1. Serveurs HTTP (recommandé pour le cloud)
claude mcp add --transport http <nom> <url>Exemple :
claude mcp add --transport http notion https://mcp.notion.com/mcp2. Serveurs SSE (Server-Sent Events)
claude mcp add --transport sse <nom> <url>Exemple :
claude mcp add --transport sse asana https://mcp.asana.com/sse3. Serveurs stdio (locaux)
Ces serveurs tournent comme des processus locaux sur ta machine.
claude mcp add <nom> -- <commande>Le -- sépare les options de Claude de la commande à exécuter.
Exemples :
# GitHub avec token
claude mcp add github --env GITHUB_TOKEN=ghp_xxx -- npx -y @modelcontextprotocol/server-github
# PostgreSQL avec URL de connexion
claude mcp add postgres --env DATABASE_URL=postgresql://user:pass@host/db -- npx -y @modelcontextprotocol/server-postgres
# Filesystem avec accès à des dossiers spécifiques
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem ~/Documents ~/ProjectsNote Windows : Sur Windows natif (pas WSL), ajoute cmd /c devant les commandes npx :
claude mcp add github -- cmd /c npx -y @modelcontextprotocol/server-githubGérer les serveurs MCP
# Lister tous les serveurs configurés
claude mcp list
# Voir les détails d'un serveur
claude mcp get <nom>
# Supprimer un serveur
claude mcp remove <nom>Dans Claude Code, tape /mcp pour voir et gérer les serveurs, notamment pour l'authentification OAuth.
Scopes : où stocker la config ?
Chaque serveur MCP peut être configuré à différents niveaux :
| Scope | Portée | Fichier de config | Usage typique |
|---|---|---|---|
local (défaut) | Toi seul, ce projet | Settings utilisateur projet | Serveurs perso, expérimentations |
project | Toute l'équipe | .mcp.json à la racine du projet | Outils partagés en équipe |
user | Toi, tous tes projets | Config utilisateur globale | Outils personnels cross-projets |
# Ajouter en scope user (disponible partout)
claude mcp add github -s user --env GITHUB_TOKEN=xxx -- npx -y @modelcontextprotocol/server-github
# Ajouter en scope project (partagé avec l'équipe via .mcp.json)
claude mcp add shared-tools -s project -- npx -y @your-team/mcp-toolsAuthentification OAuth
Beaucoup de serveurs cloud nécessitent une authentification :
- Ajoute le serveur :
claude mcp add --transport http notion https://mcp.notion.com/mcp- Dans Claude Code, tape
/mcpet suis les étapes dans ton navigateur.
Les tokens sont stockés de façon sécurisée et rafraîchis automatiquement.
Importer depuis Claude Desktop
Si tu as déjà configuré des serveurs MCP dans Claude Desktop :
claude mcp import-from-claude-desktopUn dialogue interactif te permet de choisir quels serveurs importer.
Variables d'environnement dans .mcp.json
Pour les configs d'équipe, tu peux utiliser des variables d'environnement :
{
"mcpServers": {
"database": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"DATABASE_URL": "${DATABASE_URL}"
}
},
"custom-server": {
"command": "${HOME}/scripts/my-server.py",
"args": ["--config", "${CONFIG_PATH:-/default/path}"]
}
}
}Syntaxe supportée :
${VAR}— valeur de la variable${VAR:-default}— valeur ou défaut si non définie
Exemple concret : monitoring avec Sentry
# 1. Ajouter Sentry
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
# 2. S'authentifier
# Dans Claude Code : /mcp → Sentry → Login
# 3. Utiliser
# "Montre-moi les erreurs récentes sur le projet frontend"
# "Quels sont les bugs les plus fréquents cette semaine ?"Ressources et Prompts MCP
Utiliser les ressources
Les serveurs MCP peuvent exposer des ressources référençables avec @ :
@notion://page/12345 Résume cette page Notion
Tape @ pour voir les ressources disponibles.
Utiliser les prompts
Les serveurs peuvent exposer des prompts comme commandes slash :
/mcp__sentry__recent_errors
/mcp__github__create_pr feature-branch "Add new feature"
Tape / pour voir les commandes disponibles.
Trouver plus de serveurs MCP
- Galerie officielle : https://github.com/modelcontextprotocol/servers
- Créer le tien : https://modelcontextprotocol.io/quickstart/server
⚠️ Attention : les serveurs tiers ne sont pas vérifiés par Anthropic. Utilise-les à tes risques.
En résumé
| Concept | Ce que c'est |
|---|---|
| Skill | Module avec SKILL.md + ressources optionnelles — étend le savoir-faire de Claude |
| MCP | Protocole de connexion aux outils externes — étend les bras de Claude |
| Serveur MCP | Service qui expose des tools/resources/prompts à Claude |
Les skills encapsulent une expertise (frontend, docs, data...) dans un format que Claude active automatiquement.
MCP connecte Claude au monde extérieur : GitHub, Notion, bases de données, APIs, services cloud...
Les deux sont complémentaires : un skill peut s'appuyer sur des serveurs MCP configurés dans l'environnement pour accomplir des tâches complexes.