Découverte des Skills et Agents
Apprenez comment TeamDay découvre et fusionne automatiquement les skills, agents et configurations MCP depuis plusieurs sources pour une utilisation par vos agents IA.
Table des matières
- Ce que vous allez apprendre
- Comprendre la découverte multi-sources
- Sources de découverte
- Créer des Skills
- Créer des Agents
- Configurer les MCPs
- Consulter les éléments découverts
- Priorité et déduplication
- Bonnes pratiques
Ce que vous allez apprendre
À la fin de ce guide, vous saurez comment :
- ✅ Comprendre comment TeamDay découvre les skills, agents et MCPs
- ✅ Créer des skills dans les répertoires
.claude/skills/ - ✅ Créer des agents dans les répertoires
.claude/agents/ - ✅ Configurer les MCPs en utilisant des fichiers
.mcp.json - ✅ Consulter tous les éléments découverts dans l’interface du Space
- ✅ Comprendre l’ordre de priorité et la déduplication
Temps nécessaire : 20-30 minutes
Comprendre la découverte multi-sources
Les agents TeamDay peuvent utiliser des skills (capacités invocables), des subagents (agents spécialisés) et des MCPs (intégrations d’outils externes) depuis plusieurs sources :
┌─────────────────────────────────────────────────────────────────────────┐
│ SOURCES DE DÉCOUVERTE │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ SOURCE 1: Firebase SOURCE 2: Space .claude/ SOURCE 3: Repos │
│ ┌──────────────────┐ ┌──────────────────┐ ┌────────────────┐ │
│ │ Créé par util. │ │ Créé par agent │ │ Dépôts clonés │ │
│ │ Marketplace │ │ space/.claude/ │ │ repo/.claude/ │ │
│ │ Assigné à char │ │ (modifiable) │ │ (synchro git) │ │
│ └────────┬─────────┘ └────────┬─────────┘ └───────┬────────┘ │
│ │ │ │ │
│ └─────────────────────────┼─────────────────────────┘ │
│ ▼ │
│ ┌───────────────────────────────┐ │
│ │ Découverte + Déduplication │ │
│ │ - Priorité: Space > Firebase │ │
│ │ - Repos préfixés avec chemin │ │
│ └───────────────┬───────────────┘ │
│ ▼ │
│ Disponible pour l'Agent │
└─────────────────────────────────────────────────────────────────────────┘
Pourquoi plusieurs sources ?
- Firebase : Skills/agents organisés que vous gérez via l’interface
- Space
.claude/: Éléments créés par les agents pendant l’exécution - Dépôts clonés : Skills/agents qui accompagnent vos bases de code
Cela vous permet de :
- Importer des skills depuis des dépôts Git
- Laisser les agents créer de nouveaux skills pendant leur travail
- Gérer des skills organisés via le marketplace
- Partager des skills entre les spaces via des dépôts
Sources de découverte
1. Firebase (Géré)
Les skills et agents stockés dans Firebase sont explicitement assignés à des personnages ou des spaces.
Caractéristiques :
- Créé via l’interface ou l’API
- Assigné à des personnages/spaces
- Contrôles de visibilité (privé/org/public)
- Stocké avec les identifiants pour les MCPs
Exemples :
- Skills depuis le marketplace
- Skills personnalisés que vous créez
- Instances MCP que vous configurez
2. Répertoire .claude/ du Space
Le répertoire .claude/ à la racine du space contient les éléments créés directement dans l’espace de travail.
Emplacement :
/sandbox/{orgId}/spaces/s-{spaceId}/
├── .claude/
│ ├── skills/
│ │ └── my-skill/
│ │ └── SKILL.md
│ └── agents/
│ └── my-agent.md
├── .mcp.json # Configuration MCP du Space
└── ...vos fichiers...
Caractéristiques :
- Priorité la plus élevée (remplace les autres sources)
- Modifiable - les agents peuvent créer/modifier
- Persiste entre les exécutions
- Pas de préfixe (utilise le nom directement)
3. Répertoires .claude/ des dépôts clonés
Lorsque vous clonez un dépôt Git dans votre space, tous les répertoires .claude/ qu’il contient sont automatiquement découverts.
Emplacement :
/sandbox/{orgId}/spaces/s-{spaceId}/
├── my-cloned-repo/
│ ├── .claude/
│ │ ├── skills/
│ │ │ └── repo-skill/
│ │ │ └── SKILL.md
│ │ └── agents/
│ │ └── repo-agent.md
│ └── .mcp.json # Configuration MCP du dépôt
└── another-repo/
└── .claude/
└── skills/
└── another-skill/
└── SKILL.md
Caractéristiques :
- Préfixé avec le chemin du dépôt (ex:
my-cloned-repo/repo-skill) - Lecture seule du point de vue de l’agent (géré par git)
- Priorité la plus basse
- Idéal pour partager des skills via Git
Créer des Skills
Les skills sont des capacités invocables que les agents peuvent utiliser via l’outil Skill.
Structure de fichier Skill
Créez un skill en ajoutant un fichier SKILL.md dans un répertoire de skill :
.claude/skills/
└── blog-writer/
├── SKILL.md # Requis: définition du skill
└── scripts/ # Optionnel: scripts d'aide
└── generate.sh
Format SKILL.md
---
description: "Rédiger des articles de blog engageants avec optimisation SEO"
allowed-tools: ["Read", "Write", "WebSearch"]
---
Vous êtes un expert en rédaction de blogs spécialisé dans le contenu technique.
Lors de la rédaction d'articles de blog :
1. Recherchez le sujet en profondeur
2. Créez un plan engageant
3. Écrivez dans un ton conversationnel
4. Incluez des exemples de code lorsque pertinent
5. Optimisez pour le SEO
## Format de sortie
Produisez toujours l'article de blog au format Markdown avec :
- Des titres clairs (H1 pour le titre, H2 pour les sections)
- Des blocs de code avec coloration syntaxique du langage
- Une section "Points clés à retenir" à la fin
Champs de métadonnées (Frontmatter)
| Champ | Requis | Description |
|---|---|---|
description | Oui | Description brève affichée dans la liste des skills |
allowed-tools | Non | Outils que le skill peut utiliser (tableau) |
name | Non | Nom d’affichage (par défaut : nom du dossier) |
Exemple : Skill de recherche
---
description: "Recherche approfondie utilisant la recherche web et l'analyse"
allowed-tools: ["WebSearch", "WebFetch", "Read", "Write"]
---
Vous êtes un assistant de recherche. Lorsqu'on vous demande de rechercher un sujet :
1. **Phase de recherche**
- Utilisez WebSearch pour trouver des sources pertinentes
- Rassemblez au moins 5 sources faisant autorité
2. **Phase d'analyse**
- Lisez et résumez chaque source
- Identifiez les thèmes et insights clés
- Notez les informations contradictoires
3. **Phase de synthèse**
- Rédigez un résumé complet
- Incluez des citations pour toutes les affirmations
- Mettez en évidence les domaines nécessitant plus de recherche
## Format de sortie
```markdown
# Recherche : {Sujet}
## Résumé
{Aperçu en 2-3 paragraphes}
## Découvertes clés
- Découverte 1 [Source]
- Découverte 2 [Source]
## Sources
1. {Titre} - {URL}
## Créer des Agents
Les agents (subagents) sont des instances Claude spécialisées qui peuvent être générées via l'outil Task.
### Format de fichier Agent
Créez des agents sous forme de fichiers `.md` dans le répertoire `agents/` :
.claude/agents/ ├── code-reviewer.md ├── test-writer.md └── documentation.md
### Format Markdown de l'agent
```markdown
---
name: code-reviewer
description: "Examine le code pour la qualité, la sécurité et les bonnes pratiques"
tools: Read, Grep, Glob
model: sonnet
---
Vous êtes un expert en révision de code. Lors de l'examen du code :
1. **Vérification de sécurité**
- Recherchez les vulnérabilités d'injection
- Vérifiez les secrets codés en dur
- Vérifiez la validation des entrées
2. **Vérification de qualité**
- Examinez les conventions de nommage
- Vérifiez la duplication de code
- Évaluez la lisibilité
3. **Vérification de performance**
- Identifiez les goulots d'étranglement potentiels
- Vérifiez les opérations inutiles
- Examinez les requêtes de base de données
## Format de sortie
Fournissez des commentaires sous forme de :
```markdown
## Révision de code : {nom_fichier}
### Problèmes de sécurité
- [ ] Description du problème (sévérité : haute/moyenne/basse)
### Suggestions de qualité
- Suggestion avec exemple de code
### Notes de performance
- Observation et recommandation
### Champs de métadonnées
| Champ | Requis | Description |
|-------|----------|-------------|
| `name` | Non | Nom de l'agent (par défaut : nom du fichier) |
| `description` | Oui | Description brève pour la liste des agents |
| `tools` | Non | Liste séparée par virgules des outils autorisés |
| `model` | Non | Modèle à utiliser (sonnet, opus, haiku) |
### Exemple : Agent de rédaction de tests
```markdown
---
name: test-writer
description: "Rédige des tests unitaires et d'intégration complets"
tools: Read, Write, Bash, Glob
---
Vous êtes un spécialiste de la rédaction de tests. Lorsqu'on vous demande d'écrire des tests :
1. **Analyser le code**
- Lire le fichier source
- Identifier toutes les fonctions/méthodes publiques
- Noter les dépendances et cas limites
2. **Planifier les cas de test**
- Scénarios de chemin heureux
- Conditions d'erreur
- Cas limites
- Valeurs limites
3. **Écrire les tests**
- Utiliser le framework de test du projet
- Suivre les modèles de tests existants
- Inclure des noms de tests descriptifs
4. **Vérifier**
- Exécuter les tests
- S'assurer que tous passent
- Vérifier la couverture
## Normes de test
- Chaque fonction devrait avoir au moins 3 tests
- Les noms de tests doivent décrire le scénario
- Simuler les dépendances externes
- Utiliser des messages d'assertion descriptifs
Configurer les MCPs
Les MCPs (Model Context Protocol) étendent les capacités des agents avec des outils externes. Ils peuvent être configurés via des fichiers .mcp.json.
Emplacement de .mcp.json
Placez .mcp.json à la racine de votre space ou dépôt :
space/
├── .mcp.json # MCPs au niveau du Space
└── my-repo/
└── .mcp.json # MCPs au niveau du dépôt
Format .mcp.json
{
"mcpServers": {
"server-name": {
"command": "npx",
"args": ["-y", "@package/mcp-server"],
"env": {
"API_KEY": "your-key"
},
"timeout": 30000
}
}
}
Champs de configuration
| Champ | Requis | Description |
|---|---|---|
command | Oui | Commande à exécuter (ex: npx, pipx) |
args | Non | Tableau d’arguments |
env | Non | Variables d’environnement |
timeout | Non | Délai de démarrage en ms |
Exemple : MCP Google Analytics
{
"mcpServers": {
"google-analytics": {
"command": "pipx",
"args": ["run", "analytics-mcp"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/credentials.json",
"GOOGLE_PROJECT_ID": "my-project"
},
"timeout": 30000
}
}
}
Exemple : Plusieurs MCPs
{
"mcpServers": {
"sequential-thinking": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
},
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/allowed/path"]
},
"brave-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": {
"BRAVE_API_KEY": "your-brave-api-key"
}
}
}
}
MCPs SSE/HTTP
Pour les MCPs basés sur serveur :
{
"mcpServers": {
"remote-mcp": {
"type": "sse",
"url": "https://mcp.example.com/sse",
"headers": {
"Authorization": "Bearer token"
}
}
}
}
Consulter les éléments découverts
TeamDay fournit une interface pour consulter tous les skills, agents et MCPs découverts dans votre space.
Accéder à la vue de découverte
- Ouvrez votre space
- Allez dans l’onglet Claude Config (ou similaire)
- Consultez les onglets : Skills, Agents, MCPs
Comprendre l’affichage
Les éléments sont regroupés par source :
Section Space
- Éléments depuis
{space}/.claude/ - Badge : ✨ Space
- Priorité la plus élevée
Section Gérés
- Éléments depuis Firebase
- Badge : 📦 Firebase
- Configuré par l’utilisateur
Section Dépôts
- Éléments depuis les dépôts clonés
- Badge : 📂 {nom-dépôt}
- Préfixé avec le chemin du dépôt
Exemple de vue
┌─────────────────────────────────────────────────────────────────────┐
│ Claude Config │
├───────────┬─────────────────────────────────────────────────────────┤
│ [Skills] │ [Agents] │ [MCPs] │
├───────────┴──────────┴──────────────────────────────────────────────┤
│ │
│ SPACE │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ ✨ custom-analyzer [Space] 🎯 │ │
│ │ Analyse les modèles de code et suggère des améliorations │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
│ GÉRÉS │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 📦 blog-image-generation [Firebase] 🎯 │ │
│ │ Génère des images IA pour les articles de blog │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
│ DÉPÔTS │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 📂 teamday-cc/research [teamday-cc] 🎯 │ │
│ │ Recherche approfondie utilisant la recherche web │ │
│ │ /teamday-cc/.claude/skills/research/SKILL.md │ │
│ └─────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────┘
Rafraîchir la découverte
Cliquez sur le bouton Actualiser pour réanalyser les nouveaux éléments après :
- Cloner un nouveau dépôt
- Créer de nouveaux fichiers skill/agent
- Modifier
.mcp.json
Priorité et déduplication
Lorsque le même skill/agent/MCP existe dans plusieurs sources, TeamDay utilise une déduplication basée sur les priorités.
Ordre de priorité
- Space
.claude/- Priorité la plus élevée - Firebase - Priorité moyenne
- Dépôt
.claude/- Priorité la plus basse
Comment fonctionne la déduplication
Exemple : le skill "blog-writer" existe à plusieurs endroits
Firebase : blog-writer (assigné au personnage)
Space : blog-writer (créé par l'agent)
Dépôt teamday-cc : blog-writer (depuis le dépôt)
Résultat :
✓ blog-writer → Utilise la version Space (priorité la plus élevée)
✓ teamday-cc/blog-writer → Version du dépôt disponible avec préfixe
Conventions de nommage
- Éléments Space/Firebase : Utilisent le nom directement (ex:
blog-writer) - Éléments dépôt : Préfixés avec le chemin du dépôt (ex:
teamday-cc/blog-writer)
Cela garantit que les skills du dépôt ne remplacent pas accidentellement vos skills gérés.
Hash de contenu
TeamDay utilise le hachage de contenu pour identifier les éléments réellement dupliqués :
- Hash = SHA256(nom + description + prompt)
- Les éléments avec le même hash de différentes sources sont dédupliqués
- La version Space a la priorité
Bonnes pratiques
1. Utiliser les dépôts pour les skills partagés
Placez les skills réutilisables dans des dépôts Git :
# Créer un dépôt de skills
mkdir my-skills
cd my-skills
git init
mkdir -p .claude/skills/research
# Ajouter les fichiers SKILL.md
git add .
git commit -m "Add research skill"
git push origin main
Ensuite clonez dans n’importe quel space pour les utiliser.
2. Laisser les agents créer des skills
Les agents peuvent créer de nouveaux skills pendant l’exécution :
Utilisateur : "Créer un skill pour rédiger des notes de version"
Agent : [Crée .claude/skills/release-notes/SKILL.md]
Terminé ! Le skill release-notes est maintenant disponible.
Ceux-ci persistent dans le répertoire .claude/ du space.
3. Garder Firebase pour les identifiants
Utilisez les MCPs Firebase pour les outils nécessitant des identifiants :
- Tokens OAuth (Google Analytics)
- Clés API (Brave Search)
- Comptes de service (BigQuery)
Firebase stocke les identifiants de manière sécurisée.
4. Documenter vos skills
Ajoutez des descriptions claires et des exemples :
---
description: "Génère des rapports d'analyse hebdomadaires avec graphiques et insights"
---
# Générateur de rapport d'analyse
## Utilisation
Invoquez ce skill lorsque vous devez :
- Créer des rapports de performance hebdomadaires
- Analyser les tendances de trafic
- Générer des résumés exécutifs
## Exemple
"Générer le rapport d'analyse hebdomadaire pour la semaine dernière"
5. Contrôle de version avec Git
Gardez vos skills dans Git :
- Suivre les changements dans le temps
- Partager au sein de l’équipe
- Revenir en arrière si nécessaire
- Examiner les modifications de skills
6. Tester les skills avant déploiement
Testez d’abord dans un space de développement :
Utilisateur : "Tester le nouveau skill de recherche en recherchant 'Fonctionnalités TypeScript 5.0'"
Agent : [Utilise le skill de recherche]
[Fournit une recherche complète]
Utilisateur : "Parfait, commiter ce skill"
7. Utiliser les noms préfixés intentionnellement
Si vous voulez qu’un skill de dépôt remplace les autres :
- Copiez-le dans
.claude/skills/du space - Supprimez le préfixe
- Il devient priorité la plus élevée
8. Surveiller les configurations MCP
Vérifiez les fichiers .mcp.json pour :
- Chemins corrects
- Identifiants valides
- Délais appropriés
- Bonnes pratiques de sécurité
Dépannage
Skills n’apparaissent pas
Vérifier :
- Le fichier s’appelle
SKILL.md(sensible à la casse) - Situé dans
.claude/skills/{nom}/SKILL.md - Métadonnées YAML valides
- Cliquer sur Actualiser dans l’interface
Agents non découverts
Vérifier :
- Le fichier se termine par
.md - Situé dans
.claude/agents/ - A
descriptiondans les métadonnées - Syntaxe YAML valide
MCPs ne se chargent pas
Vérifier :
.mcp.jsonau niveau racine- Syntaxe JSON valide
- La commande est installée/disponible
- Les variables d’environnement sont définies correctement
Mauvaise version utilisée
Si la mauvaise version d’un skill est utilisée :
- Vérifier l’ordre de priorité
- Renommer ou supprimer les versions en conflit
- Utiliser des noms préfixés explicites
Prochaines étapes
- Guide des plugins MCP - Configurer les outils externes
- Guide des Spaces - Gestion de l’espace de travail
- Configuration des agents - Paramètres avancés
- Guide des missions - Automatisation planifiée