Dans le dépôt vm0-ai/vm0-skills, nous avons développé des dizaines de skills pour l'intégration avec diverses plateformes SaaS tierces. Ces skills permettent aux agents Claude Code et Codex d'interagir de façon fluide avec des services comme GitHub, Slack, Discord et bien d'autres.
Bien que ces intégrations soient extrêmement précieuses, elles présentent un défi de test important. Sans une infrastructure de test adéquate, nous ne pouvons pas vérifier de manière fiable si les skills fonctionnent comme prévu ni détecter les changements cassants lorsque les API tierces évoluent.
Pourquoi tester les skills d'agents IA tiers est difficile
Tester des intégrations tierces est intrinsèquement difficile. Chaque skill dépend d'API externes susceptibles de changer sans préavis, ce qui exige une vigilance constante pour maintenir la fiabilité. Les tests unitaires traditionnels sont souvent insuffisants, car ils ne peuvent pas reproduire le comportement réel des API, les flux d'authentification et les cas limites qui n'émergent qu'en production.
Sans tests complets, plusieurs problèmes critiques restent sans réponse :
- Vérification de la fonctionnalité : nous ne pouvons pas confirmer que les skills fonctionnent comme prévu dans des scénarios d'utilisation réels
- Détection des changements cassants : lorsque les API SaaS tierces évoluent, nous n'avons aucun moyen automatisé d'identifier les problèmes de compatibilité
- Validation de l'authentification : les flux OAuth, les mécanismes de rafraîchissement de jetons et les portées de permissions nécessitent une vérification continue
- Gestion des erreurs : nous devons garantir une dégradation gracieuse lorsque les services externes sont indisponibles
Cela engendre une charge de maintenance importante et de potentiels problèmes de fiabilité susceptibles d'affecter les flux de travail en production.
Utiliser des agents IA pour tester les skills d'agents IA dans des environnements réels
Puisque ces skills sont spécifiquement conçus pour les agents Claude Code et Codex, l'approche la plus naturelle et la plus efficace consiste à utiliser ces mêmes agents pour les tester. Cela crée un écosystème auto-validant dans lequel les outils se testent eux-mêmes dans leur environnement prévu.
VM0 fournit l'infrastructure cloud nécessaire pour exécuter les agents Claude Code et Codex de manière fiable, ce qui en fait une plateforme idéale pour mettre en œuvre cette stratégie de test.
Un flux de travail automatisé de bout en bout pour tester les skills d'agents IA
Le flux de travail complet pour le test automatisé des skills est décrit ci-dessous. Cet agent teste systématiquement chaque skill du dépôt, génère des rapports complets et avertit l'équipe via plusieurs canaux.
# Skills Tester Agent
## Overview
This agent performs automated testing of all skills in the vm0-skills repository.
## Critical Requirements
**MANDATORY: Complete All Tests Without Exception**
- No matter how long the task takes, it MUST be completed in full
- Continue until ALL items in `TODO.md` are tested - no early termination
- **NO skipping tasks** - every skill must be tested
- **NO selective testing** - do not cherry-pick which skills to test
- **Every example MUST have a result** - each example command in every skill's SKILL.md must be executed and recorded
- If a test fails, record the failure and continue to the next test
- Do not stop or pause until the entire test suite is complete
## Instructions
1. **Clone and Initialize**
- Clone the repo `vm0-ai/vm0-skills`
- Create a `TODO.md` file to track testing progress
2. **Generate Todo List**
- For each skill folder in the repo, add a todo item to `TODO.md`
3. **Test Each Skill**
- Create a sub-agent for each skill to test
- Each sub-agent should:
- Verify all required environment variables exist
- Test each example command in the skill's SKILL.md
- Write a temporary test result markdown file
- Record whether the test passed, and specifically note any shell command failures or jq parsing errors
4. **Summarize Results**
- Aggregate all test results into `result.md`
5. **Update README**
- Based on `result.md`, update the `README.md`
- Update or insert a skill list section with:
- Brief description of each skill's capabilities
- Test status (passed/failed)
6. **Commit and Push**
- Only commit `README.md`
- Push to the repository using `GITHUB_TOKEN` for authentication
7. **Report Issues**
- For skills with test failures, create a GitHub issue summarizing all problems
8. **Notify Slack**
- Post a message to Slack channel `#dev` with:
- Total number of skills
- Number of passed tests
- Number of failed tests
- Brief summary of issues
- Link to the GitHub issue (if created)
9. **Notify Discord**
- Post a message to the Discord `skills` channel with:
- Confirmation that routine testing is complete
- Number of skills that passed
- Total number of skills tested
Configurer l'agent avec vm0.yaml
Ensuite, il vous suffit de planifier VM0 pour exécuter ce flux de travail. Créez un fichier vm0.yaml pour décrire la configuration du conteneur de l'agent. Ce fichier précise quels skills l'agent nécessite, quelles variables d'environnement injecter et comment exécuter le flux de travail de test.
version: "1.0"
agents:
skills-tester:
image: skills-tester:latest
provider: claude-code
instructions: AGENTS.md
skills:
- https://github.com/vm0-ai/vm0-skills/tree/main/github
- https://github.com/vm0-ai/vm0-skills/tree/main/slack
- https://github.com/vm0-ai/vm0-skills/tree/main/discord
environment:
CLAUDE_CODE_OAUTH_TOKEN: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
DISCORD_BOT_TOKEN: ${{ secrets.DISCORD_BOT_TOKEN }}
# ... additional environment variables as needed
Pour le fichier de configuration complet, consultez vm0-skills/.vm0/vm0.yaml. Certaines variables d'environnement sont omises dans cet exemple par souci de concision.
Cette configuration d'agent inclut trois skills essentiels :
- Skill GitHub : pour les opérations sur le dépôt, la création d'issues et les mises à jour du README
- Skill Slack : pour publier les résultats des tests dans les canaux de l'équipe
- Skill Discord : pour les notifications à la communauté concernant l'achèvement des tests
Créer l'image Docker
Vous devrez également configurer une image Docker qui installe les dépendances nécessaires, notamment la CLI GitHub (gh) que l'agent utilise pour les opérations sur le dépôt.
Créez un Dockerfile :
FROM node:20-slim
RUN apt-get update && apt-get install -y \\
git \\
curl \\
python3 \\
python3-pip \\
python3-venv \\
jq \\
&& rm -rf /var/lib/apt/lists/*
RUN curl -fsSL <https://cli.github.com/packages/githubcli-archive-keyring.gpg> | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \\
&& chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg \\
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] <https://cli.github.com/packages> stable main" | tee /etc/apt/sources.list.d/github-cli.list > /dev/null \\
&& apt-get update \\
&& apt-get install -y gh \\
&& rm -rf /var/lib/apt/lists/*
RUN npm install -g @anthropic-ai/claude-code
Ce Dockerfile crée un conteneur léger avec :
- Node.js 20 : environnement d'exécution pour Claude Code
- Git : opérations de contrôle de version
- GitHub CLI : interactions simplifiées avec l'API GitHub
- Python 3 : pour exécuter les scripts de test des skills
- jq : analyse JSON dans les commandes shell
Assembler le système de test des skills IA
C'est tout ce dont vous avez besoin ! Avec ces trois fichiers en place : AGENTS.md, Dockerfile et vm0.yaml, vous disposez d'un système de test automatisé complet. Vous pouvez consulter l'implémentation complète sur vm0-skills/.vm0.
Exécutez les commandes suivantes dans le répertoire de votre projet pour construire et déployer l'agent :
$ vm0 image build -f Dockerfile --name skills-tester
$ vm0 compose vm0.yaml
La première commande construit l'image Docker avec toutes les dépendances nécessaires. La seconde commande enregistre la configuration de l'agent auprès de la plateforme VM0.
Exécuter le flux de travail
Vous pouvez désormais exécuter l'ensemble du flux de travail de test avec une seule commande :
$ vm0 run skills-tester "do the job"
L'agent va, de manière autonome :
- Cloner le dépôt vm0-skills
- Générer une liste de contrôle de test pour tous les skills
- Exécuter les tests pour chaque skill de manière systématique
- Compiler des résultats complets
- Mettre à jour le README du dépôt
- Créer des issues GitHub pour les échecs
- Envoyer des notifications à Slack et Discord
Déboguer étape par étape
Si vous souhaitez déboguer le flux de travail de manière incrémentale ou tester d'abord un seul skill, vous pouvez utiliser des invites ciblées :
$ vm0 run skills-tester "Only do the first step, using a single skill."
Une fois que l'agent a terminé la première étape, vous pouvez poursuivre la session à partir de l'identifiant de session fourni dans la sortie :
$ vm0 run continue SESSION_ID "Do the next step."
Cette approche interactive vous permet de :
- Vérifier chaque étape avant de continuer
- Inspecter les résultats intermédiaires
- Ajuster le flux de travail si nécessaire
- Déboguer les problèmes plus efficacement
Résultats et notifications
Une fois le flux de travail terminé, vous recevrez des notifications sur plusieurs canaux confirmant les résultats des tests.
Notification à la communauté Discord montrant le récapitulatif de l'achèvement des tests
Notification à l'équipe Slack avec les résultats détaillés des tests
Pour tout skill qui échoue aux tests, l'agent crée automatiquement une issue GitHub avec des détails complets sur l'échec. Voir Skill Test Failures - Issue #2 pour un exemple du format d'issue généré.
Principaux enseignements de l'automatisation du test des skills d'agents IA
La mise en œuvre de tests automatisés des skills avec les agents VM0 offre plusieurs avantages essentiels :
- Validation continue : détectez immédiatement les changements cassants des API tierces, avant qu'ils n'affectent la production
- Environnement de test réaliste : les agents testent les skills exactement dans le contexte où ils sont utilisés, éliminant l'écart entre le test et la production
- Aucun effort manuel : une fois configuré, le flux de travail de test s'exécute automatiquement selon une planification, sans intervention humaine
- Couverture complète : chaque skill est testé de manière systématique, garantissant que rien ne passe entre les mailles du filet
- Sensibilisation de l'équipe : les notifications multicanal tiennent tout le monde informé des résultats des tests et des problèmes
En tirant parti de l'infrastructure cloud de VM0 et des capacités d'agent de Claude, vous pouvez maintenir des intégrations fiables avec des services externes tout en minimisant la charge de maintenance continue. Cette approche transforme le test des skills, d'un processus manuel et sujet aux erreurs, en un système d'assurance qualité entièrement automatisé.
Démarrez avec VM0 dès aujourd'hui
Prêt à automatiser vos propres flux de travail avec des agents IA ? VM0 facilite le déploiement d'agents prêts pour la production en quelques minutes, et non en quelques semaines.
Ce que vous pouvez construire avec VM0
-
Pipelines de tests automatisés
Exécutez des tâches de test planifiées comme ce testeur de skills pour détecter tôt les changements cassants dans les API tierces.
-
Flux de travail de génération de contenu
Transformez des recherches, des notes ou des entrées brutes en articles de blog, en documentation ou en notes de version, sans copier-coller manuel.
-
Agents de traitement de données
Récupérez des données de plusieurs sources, nettoyez-les et acheminez-les en aval, tout en gérant explicitement les échecs et les nouvelles tentatives.
-
Automatisation du support client
Triez les demandes entrantes, rédigez des réponses et transmettez les cas limites à des humains lorsque c'est nécessaire.
-
Revue et analyse de code
Examinez les pull requests, signalez les problèmes potentiels et appliquez des règles de base avant qu'un humain ne regarde le code.
Rendez-vous sur vm0.ai pour créer votre compte gratuit et déployer votre premier agent dès aujourd'hui. Rejoignez notre communauté Discord pour échanger avec d'autres créateurs, partager vos flux de travail et obtenir l'aide de l'équipe.
Commencez à construire l'avenir des flux de travail automatisés.


