Nel repository vm0-ai/vm0-skills abbiamo sviluppato decine di skill per l'integrazione con varie piattaforme SaaS di terze parti. Queste skill permettono agli agenti Claude Code e Codex di interagire senza problemi con servizi come GitHub, Slack, Discord e molti altri.
Per quanto queste integrazioni siano estremamente preziose, presentano una sfida significativa sul fronte dei test. Senza un'adeguata infrastruttura di testing, non possiamo verificare in modo affidabile se le skill funzionano come previsto o rilevare modifiche che ne compromettono il funzionamento quando le API di terze parti evolvono.
Perché testare le skill degli agenti AI di terze parti è difficile
Testare le integrazioni di terze parti è intrinsecamente complicato. Ogni skill dipende da API esterne che possono cambiare senza preavviso, richiedendo una vigilanza costante per mantenere l'affidabilità. I test unitari tradizionali spesso non bastano, perché non riescono a riprodurre il comportamento reale delle API, i flussi di autenticazione e i casi limite che emergono soltanto in ambienti di produzione.
Senza test completi, diversi problemi critici restano irrisolti:
- Verifica della funzionalità: non possiamo confermare che le skill funzionino come previsto negli scenari di utilizzo reali
- Rilevamento delle modifiche che compromettono il funzionamento: quando le API SaaS di terze parti evolvono, non disponiamo di alcun modo automatico per individuare i problemi di compatibilità
- Validazione dell'autenticazione: i flussi OAuth, i meccanismi di refresh dei token e gli ambiti dei permessi richiedono una verifica continua
- Gestione degli errori: dobbiamo garantire un degrado controllato quando i servizi esterni non sono disponibili
Tutto questo genera un notevole onere di manutenzione e potenziali problemi di affidabilità che potrebbero avere un impatto sui flussi di lavoro in produzione.
Usare gli agenti AI per testare le skill degli agenti AI in ambienti reali
Poiché queste skill sono progettate specificamente per gli agenti Claude Code e Codex, l'approccio più naturale ed efficace è usare proprio questi stessi agenti per testarle. Si crea così un ecosistema auto-validante in cui gli strumenti testano se stessi nell'ambiente per cui sono stati pensati.
VM0 fornisce l'infrastruttura cloud necessaria per eseguire in modo affidabile gli agenti Claude Code e Codex, rendendola una piattaforma ideale per implementare questa strategia di testing.
Un flusso di lavoro automatizzato end-to-end per testare le skill degli agenti AI
Di seguito è descritto il flusso di lavoro completo per il testing automatizzato delle skill. Questo agente testa sistematicamente ogni skill nel repository, genera report completi e avvisa il team attraverso più canali.
# 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
Configurare l'agente con vm0.yaml
A questo punto, ti basta pianificare l'esecuzione di questo flusso di lavoro su VM0. Crea un file vm0.yaml per descrivere la configurazione del container dell'agente. Questo file specifica quali skill servono all'agente, quali variabili d'ambiente iniettare e come eseguire il flusso di lavoro di testing.
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
Per il file di configurazione completo, consulta vm0-skills/.vm0/vm0.yaml. In questo esempio alcune variabili d'ambiente sono state omesse per brevità.
Questa configurazione dell'agente include tre skill essenziali:
- Skill GitHub: per le operazioni sul repository, la creazione di issue e gli aggiornamenti del README
- Skill Slack: per pubblicare i risultati dei test nei canali del team
- Skill Discord: per le notifiche alla community sul completamento dei test
Creare l'immagine Docker
Dovrai inoltre configurare un'immagine Docker che installi le dipendenze necessarie, in particolare la GitHub CLI (gh) che l'agente usa per le operazioni sul repository.
Crea un file 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
Questo Dockerfile crea un container leggero con:
- Node.js 20: ambiente di runtime per Claude Code
- Git: operazioni di controllo versione
- GitHub CLI: interazioni semplificate con le API di GitHub
- Python 3: per eseguire gli script di test delle skill
- jq: parsing del JSON nei comandi shell
Assemblare il sistema di testing delle skill AI
Questo è tutto ciò che serve! Una volta predisposti questi tre file, AGENTS.md, Dockerfile e vm0.yaml, disponi di un sistema di testing automatizzato completo. Puoi vedere l'implementazione completa su vm0-skills/.vm0.
Esegui i comandi seguenti nella directory del tuo progetto per compilare e distribuire l'agente:
$ vm0 image build -f Dockerfile --name skills-tester
$ vm0 compose vm0.yaml
Il primo comando compila l'immagine Docker con tutte le dipendenze necessarie. Il secondo comando registra la configurazione dell'agente sulla piattaforma VM0.
Eseguire il flusso di lavoro
Ora puoi eseguire l'intero flusso di lavoro di testing con un solo comando:
$ vm0 run skills-tester "do the job"
L'agente eseguirà in autonomia le seguenti operazioni:
- Clonare il repository vm0-skills
- Generare una checklist di testing per tutte le skill
- Eseguire i test per ciascuna skill in modo sistematico
- Compilare i risultati completi
- Aggiornare il README del repository
- Creare issue su GitHub per i fallimenti
- Inviare le notifiche a Slack e Discord
Debug passo dopo passo
Se vuoi eseguire il debug del flusso di lavoro in modo incrementale o testare prima una singola skill, puoi usare prompt mirati:
$ vm0 run skills-tester "Only do the first step, using a single skill."
Una volta che l'agente ha completato il primo passaggio, puoi proseguire la sessione utilizzando il session ID indicato nell'output:
$ vm0 run continue SESSION_ID "Do the next step."
Questo approccio interattivo ti permette di:
- Verificare ogni passaggio prima di procedere
- Ispezionare i risultati intermedi
- Adattare il flusso di lavoro se necessario
- Eseguire il debug dei problemi in modo più efficace
Risultati e notifiche
Al termine del flusso di lavoro, riceverai notifiche su più canali che confermano i risultati dei test.
Notifica alla community Discord con il riepilogo del completamento dei test
Notifica al team su Slack con i risultati dettagliati dei test
Per qualsiasi skill che non supera i test, l'agente crea automaticamente una issue su GitHub con i dettagli completi del fallimento. Vedi Skill Test Failures - Issue #2 per un esempio del formato della issue generata.
Lezioni chiave dall'automazione del testing delle skill degli agenti AI
Implementare il testing automatizzato delle skill con gli agenti VM0 offre diversi vantaggi fondamentali:
- Validazione continua: individua immediatamente le modifiche che compromettono il funzionamento provenienti dalle API di terze parti, prima che abbiano un impatto sulla produzione
- Ambiente di test realistico: gli agenti testano le skill nell'esatto contesto in cui vengono usate, eliminando il divario tra test e produzione
- Zero sforzo manuale: una volta configurato, il flusso di lavoro di testing viene eseguito automaticamente secondo una pianificazione, senza alcun intervento umano
- Copertura completa: ogni skill viene testata sistematicamente, garantendo che nulla sfugga
- Consapevolezza del team: le notifiche multicanale tengono tutti informati sui risultati dei test e sui problemi
Sfruttando l'infrastruttura cloud di VM0 e le capacità degli agenti di Claude, puoi mantenere integrazioni affidabili con i servizi esterni riducendo al minimo l'onere di manutenzione continuo. Questo approccio trasforma il testing delle skill da un processo manuale e soggetto a errori in un sistema di assicurazione qualità completamente automatizzato.
Inizia a usare VM0 oggi stesso
Pronto ad automatizzare i tuoi flussi di lavoro con gli agenti AI? VM0 rende semplice distribuire agenti pronti per la produzione in pochi minuti, non settimane.
Cosa puoi costruire con VM0
-
Pipeline di testing automatizzate
Esegui job di test pianificati come questo skill tester per individuare in anticipo le modifiche che compromettono il funzionamento nelle API di terze parti.
-
Flussi di lavoro per la generazione di contenuti
Trasforma ricerche, appunti o input grezzi in articoli di blog, documentazione o note di rilascio senza copia-incolla manuale.
-
Agenti per l'elaborazione dei dati
Recupera dati da più fonti, ripuliscili e spostali a valle, gestendo in modo esplicito errori e nuovi tentativi.
-
Automazione dell'assistenza clienti
Smista le richieste in arrivo, redigi le risposte e affida i casi limite agli operatori umani quando serve.
-
Code review e analisi
Esamina le pull request, segnala i potenziali problemi e applica le regole di base prima che una persona guardi il codice.
Visita vm0.ai per creare il tuo account gratuito e distribuire il tuo primo agente oggi stesso. Unisciti alla nostra community Discord per entrare in contatto con altri builder, condividere i tuoi flussi di lavoro e ricevere aiuto dal team.
Inizia a costruire il futuro dei flussi di lavoro automatizzati.


