---
title: "Agent Skills: guida gli agenti AI come un software engineer senior"
date: "2026-06-11"
category: "Sviluppo Software"
tags: ["automazione", "coding agents", "intelligenza artificiale", "sviluppo software"]
author: "Giuseppe Carruezzo"
description: "Ottimizza i tuoi agenti di programmazione AI con Agent Skills: workflow metodologici, test e controllo qualità per uno sviluppo software professionale."
source: "https://ainsights.it/blog/agent-skills-guida-agenti-ai"
---

# Agent Skills: guida gli agenti AI come un software engineer senior

![Agent Skills: guida gli agenti AI come un software engineer senior](/blogai/backend/uploads/6a2a708403998.webp)

Gli agenti di programmazione basati su intelligenza artificiale (AI coding agents), ossia sistemi autonomi capaci di modificare codice e navigare repository, tendono per natura a scegliere la via più breve. Questo comportamento si traduce spesso nella rinuncia a test, specifiche e controlli di sicurezza. **Agent Skills** risolve questo problema strutturale fornendo un set di workflow standardizzati che costringono gli agenti AI a seguire la stessa disciplina metodologica tipica dei software engineer di livello senior.

-   **24** — Skill Totali (Workflow pronti all'uso per gli agenti AI)
-   **7** — Comandi Slash (Azioni rapide mappate sul ciclo di vita del software)
-   **4** — Personaggi Specialistici (Ruoli verticali configurati per audit mirati)

```mermaid
flowchart TD
  A[Idea /spec] --> B[Specifica /plan]
  B --> C[Codice /build]
  C --> D[Test /test]
  D --> E[QA /review]
  E --> F[Go Live /ship]
```

## I 7 comandi fondamentali del ciclo di vita

Il sistema mappa le attività quotidiane di sviluppo su sette comandi principali. Ogni comando attiva automaticamente le competenze necessarie alla fase corrente.

<table style="min-width: 75px;"><colgroup><col style="min-width: 25px;"><col style="min-width: 25px;"><col style="min-width: 25px;"></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Attività</p></th><th colspan="1" rowspan="1"><p>Comando</p></th><th colspan="1" rowspan="1"><p>Principio chiave</p></th></tr><tr><td colspan="1" rowspan="1"><p>Definire cosa sviluppare</p></td><td colspan="1" rowspan="1"><p><code>/spec</code></p></td><td colspan="1" rowspan="1"><p>Scrivere la specifica prima del codice</p></td></tr><tr><td colspan="1" rowspan="1"><p>Pianificare lo sviluppo</p></td><td colspan="1" rowspan="1"><p><code>/plan</code></p></td><td colspan="1" rowspan="1"><p>Scomporre in task atomici e ridotti</p></td></tr><tr><td colspan="1" rowspan="1"><p>Sviluppare in modo incrementale</p></td><td colspan="1" rowspan="1"><p><code>/build</code></p></td><td colspan="1" rowspan="1"><p>Implementare una "vertical slice" alla volta</p></td></tr><tr><td colspan="1" rowspan="1"><p>Dimostrare il funzionamento</p></td><td colspan="1" rowspan="1"><p><code>/test</code></p></td><td colspan="1" rowspan="1"><p>I test sono l'unica prova di validità</p></td></tr><tr><td colspan="1" rowspan="1"><p>Revisionare prima del merge</p></td><td colspan="1" rowspan="1"><p><code>/review</code></p></td><td colspan="1" rowspan="1"><p>Preservare e migliorare la salute del codice</p></td></tr><tr><td colspan="1" rowspan="1"><p>Semplificare la base codice</p></td><td colspan="1" rowspan="1"><p><code>/code-simplify</code></p></td><td colspan="1" rowspan="1"><p>La chiarezza prevale sull'astuzia algoritmica</p></td></tr><tr><td colspan="1" rowspan="1"><p>Rilasciare in produzione</p></td><td colspan="1" rowspan="1"><p><code>/ship</code></p></td><td colspan="1" rowspan="1"><p>Rilasci rapidi e frequenti sono più sicuri</p></td></tr></tbody></table>

Per ridurre i passaggi manuali dopo la stesura della specifica, il comando `/build auto` permette di generare il piano d'azione e implementare ogni singolo task in un unico ciclo approvato. L'utente valida il piano d'azione una sola volta, dopodiché l'agente esegue lo sviluppo in autonomia. Questo automatismo elimina la necessità di interventi umani _tra_ i singoli compiti, ma non aggira i controlli: ogni attività viene comunque testata e sottoposta a commit individuale, con arresti automatici in caso di errore o passaggi ad alto rischio.

Le skill si attivano anche in base al contesto operativo. Ad esempio, la progettazione di un endpoint REST attiva autonomamente le regole di `api-and-interface-design`, mentre la scrittura di componenti visivi richiama le direttive di `frontend-ui-engineering`.

### Pro

-   Automazione fluida tra fasi di pianificazione ed esecuzione
-   Applicazione rigorosa di standard qualitativi industriali
-   Integrazione nativa con i principali strumenti e IDE di mercato

### Contro

-   Curva di apprendimento iniziale per configurare correttamente i file delle regole
-   Consumo di token più elevato a causa del contesto strutturato richiesto

## Guida all'installazione rapida

## Come installare e configurare Agent Skills

1.  **Installazione su Claude Code**: Esegui all'interno del terminale il comando: \`/plugin marketplace add addyosmani/agent-skills\` seguito da \`/plugin install agent-skills@addy-agent-skills\`. Se riscontri errori di autenticazione SSH con GitHub, usa l'URL HTTPS completo per forzare la clonazione.
2.  **Configurazione per Cursor**: Copia il contenuto del file \`SKILL.md\` desiderato all'interno della cartella \`.cursor/rules/\` del tuo progetto, oppure fai riferimento all'intera directory \`skills/\`.
3.  **Integrazione con Antigravity CLI**: Aggiungi Agent Skills come plugin nativo digitando a terminale il comando: \`agy plugin install https://github.com/addyosmani/agent-skills.git\`.
4.  **Configurazione per Gemini CLI**: Usa il comando nativo di installazione delle competenze: \`gemini skills install https://github.com/addyosmani/agent-skills.git --path skills\` per consentire l'auto-scoperta dei flussi.

**Altre integrazioni (Windsurf, OpenCode, Copilot, Kiro)**

-   **Windsurf:** Integra le istruzioni delle skill all'interno del file di configurazione delle regole globali di Windsurf.
    
-   **OpenCode:** Sfrutta l'esecuzione guidata tramite il file `AGENTS.md` e l'apposito strumento di sistema `skill`.
    
-   **GitHub Copilot:** Usa le definizioni presenti nella cartella `agents/` come personas personalizzate e copia i contenuti delle skill in `.github/copilot-instructions.md`.
    
-   **Kiro IDE:** Salva i file delle skill sotto la cartella `.kiro/skills/` a livello di singolo progetto o a livello globale.
    

## La mappa completa delle 24 Skill

Le competenze sono suddivise in categorie logiche che coprono l'intero ciclo di vita dello sviluppo del software. Oltre alle 23 skill operative, il pacchetto include una meta-skill di coordinamento denominata `using-agent-skills`.

### Meta - Selezione delle competenze

<table style="min-width: 75px;"><colgroup><col style="min-width: 25px;"><col style="min-width: 25px;"><col style="min-width: 25px;"></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Skill</p></th><th colspan="1" rowspan="1"><p>Descrizione operativa</p></th><th colspan="1" rowspan="1"><p>Quando usarla</p></th></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow" href="/addyosmani/agent-skills/blob/main/skills/using-agent-skills/SKILL.md">using-agent-skills</a></p></td><td colspan="1" rowspan="1"><p>Mappa il lavoro in ingresso verso il workflow corretto e definisce le regole di esecuzione condivise.</p></td><td colspan="1" rowspan="1"><p>All'avvio di una sessione o per decidere quale competenza attivare.</p></td></tr></tbody></table>

### Define - Definizione dei requisiti

<table style="min-width: 75px;"><colgroup><col style="min-width: 25px;"><col style="min-width: 25px;"><col style="min-width: 25px;"></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Skill</p></th><th colspan="1" rowspan="1"><p>Descrizione operativa</p></th><th colspan="1" rowspan="1"><p>Quando usarla</p></th></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow" href="/addyosmani/agent-skills/blob/main/skills/interview-me/SKILL.md">interview-me</a></p></td><td colspan="1" rowspan="1"><p>Intervista l'utente ponendo una sola domanda alla volta per estrarre le reali necessità di business fino a raggiungere una confidenza del 95%.</p></td><td colspan="1" rowspan="1"><p>Quando la richiesta iniziale è vaga, ambigua o se l'utente richiede esplicitamente una sessione di brainstorming ("grill me").</p></td></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow" href="/addyosmani/agent-skills/blob/main/skills/idea-refine/SKILL.md">idea-refine</a></p></td><td colspan="1" rowspan="1"><p>Applica una metodologia strutturata di pensiero divergente e convergente per trasformare concetti grezzi in proposte tecniche concrete.</p></td><td colspan="1" rowspan="1"><p>In presenza di un'idea di massima che necessita di esplorazione e analisi di fattibilità.</p></td></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow" href="/addyosmani/agent-skills/blob/main/skills/spec-driven-development/SKILL.md">spec-driven-development</a></p></td><td colspan="1" rowspan="1"><p>Guida la stesura di un PRD (Product Requirements Document, il documento dei requisiti di prodotto) che definisce obiettivi, comandi, architettura, stile e vincoli prima di toccare il codice.</p></td><td colspan="1" rowspan="1"><p>All'avvio di ogni nuova funzionalità, progetto o rifattorizzazione importante.</p></td></tr></tbody></table>

### Plan - Scomposizione del lavoro

<table style="min-width: 75px;"><colgroup><col style="min-width: 25px;"><col style="min-width: 25px;"><col style="min-width: 25px;"></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Skill</p></th><th colspan="1" rowspan="1"><p>Descrizione operativa</p></th><th colspan="1" rowspan="1"><p>Quando usarla</p></th></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow" href="/addyosmani/agent-skills/blob/main/skills/planning-and-task-breakdown/SKILL.md">planning-and-task-breakdown</a></p></td><td colspan="1" rowspan="1"><p>Suddivide le specifiche in compiti atomici, sequenziali e facilmente verificabili, completi di criteri di accettazione.</p></td><td colspan="1" rowspan="1"><p>Una volta completata la specifica tecnica e prima di iniziare la fase di scrittura del codice.</p></td></tr></tbody></table>

### Build - Sviluppo e scrittura del codice

<table style="min-width: 75px;"><colgroup><col style="min-width: 25px;"><col style="min-width: 25px;"><col style="min-width: 25px;"></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Skill</p></th><th colspan="1" rowspan="1"><p>Descrizione operativa</p></th><th colspan="1" rowspan="1"><p>Quando usarla</p></th></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow" href="/addyosmani/agent-skills/blob/main/skills/incremental-implementation/SKILL.md">incremental-implementation</a></p></td><td colspan="1" rowspan="1"><p>Implementa fette verticali ridotte e autoconsistenti. Prevede l'uso di feature flag (interruttori logici per abilitare o disabilitare funzionalità a runtime) e rollback sicuri.</p></td><td colspan="1" rowspan="1"><p>Per qualsiasi modifica al codice che coinvolga più di un file contemporaneamente.</p></td></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow" href="/addyosmani/agent-skills/blob/main/skills/test-driven-development/SKILL.md">test-driven-development</a></p></td><td colspan="1" rowspan="1"><p>Applica il ciclo TDD (Test-Driven Development: scrittura del test, implementazione, rifattorizzazione). Gestisce la piramide dei test (80% unitari, 15% integrazione, 5% end-to-end) seguendo l'approccio DAMP (Descriptive and Meaningful Phrases) per privilegiare la leggibilità.</p></td><td colspan="1" rowspan="1"><p>Durante lo sviluppo di nuove logiche, la risoluzione di bug o modifiche ai comportamenti esistenti.</p></td></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow" href="/addyosmani/agent-skills/blob/main/skills/context-engineering/SKILL.md">context-engineering</a></p></td><td colspan="1" rowspan="1"><p>Fornisce agli agenti le informazioni giuste al momento giusto tramite file di regole, riduzione del rumore informativo nel contesto e integrazioni MCP (Model Context Protocol).</p></td><td colspan="1" rowspan="1"><p>All'inizio di una sessione, al cambio di task o quando la qualità delle risposte dell'agente degrada.</p></td></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow" href="/addyosmani/agent-skills/blob/main/skills/source-driven-development/SKILL.md">source-driven-development</a></p></td><td colspan="1" rowspan="1"><p>Fonda ogni decisione tecnica sulla documentazione ufficiale di librerie e framework, citando le fonti e segnalando i punti non verificati.</p></td><td colspan="1" rowspan="1"><p>Per assicurarsi che l'agente non allucini sintassi o API deprecate di framework esterni.</p></td></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow" href="/addyosmani/agent-skills/blob/main/skills/doubt-driven-development/SKILL.md">doubt-driven-development</a></p></td><td colspan="1" rowspan="1"><p>Sottopone a processo avversario e revisione critica ogni decisione non banale (flusso CLAIM → EXTRACT → DOUBT → RECONCILE → STOP), consentendo escalation a modelli superiori.</p></td><td colspan="1" rowspan="1"><p>In contesti critici (sicurezza, produzione, modifiche irreversibili) o quando si lavora su basi codice ereditate e non familiari.</p></td></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow" href="/addyosmani/agent-skills/blob/main/skills/frontend-ui-engineering/SKILL.md">frontend-ui-engineering</a></p></td><td colspan="1" rowspan="1"><p>Organizza l'architettura dei componenti visivi, i design system, la gestione dello stato, l'ottimizzazione dell'interfaccia e l'accessibilità WCAG 2,1 AA.</p></td><td colspan="1" rowspan="1"><p>Durante lo sviluppo o la modifica di elementi grafici e flussi utente sul browser.</p></td></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow" href="/addyosmani/agent-skills/blob/main/skills/api-and-interface-design/SKILL.md">api-and-interface-design</a></p></td><td colspan="1" rowspan="1"><p>Progettazione contrattuale delle interfacce. Previene violazioni della Legge di Hyrum (secondo cui ogni comportamento osservabile di un'API finirà per essere sfruttato da qualche client) e gestisce la validazione dei confini del sistema.</p></td><td colspan="1" rowspan="1"><p>Durante il disegno di API, endpoint, moduli interni o librerie condivise.</p></td></tr></tbody></table>

### Verify - Validazione e Debugging

<table style="min-width: 75px;"><colgroup><col style="min-width: 25px;"><col style="min-width: 25px;"><col style="min-width: 25px;"></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Skill</p></th><th colspan="1" rowspan="1"><p>Descrizione operativa</p></th><th colspan="1" rowspan="1"><p>Quando usarla</p></th></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow" href="/addyosmani/agent-skills/blob/main/skills/browser-testing-with-devtools/SKILL.md">browser-testing-with-devtools</a></p></td><td colspan="1" rowspan="1"><p>Sfrutta le API di Chrome DevTools via MCP per estrarre log, ispezionare il DOM, tracciare richieste di rete e analizzare i profili prestazionali.</p></td><td colspan="1" rowspan="1"><p>Durante lo sviluppo, il test e il debugging di applicazioni web lato client.</p></td></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow" href="/addyosmani/agent-skills/blob/main/skills/debugging-and-error-recovery/SKILL.md">debugging-and-error-recovery</a></p></td><td colspan="1" rowspan="1"><p>Triage strutturato in cinque fasi: riproduzione, localizzazione, isolamento, risoluzione e prevenzione. Applica la regola del blocco immediato della linea di sviluppo.</p></td><td colspan="1" rowspan="1"><p>In caso di test falliti, build interrotte o anomalie nel comportamento dell'applicazione.</p></td></tr></tbody></table>

### Review - Controllo qualità pre-integrazione

<table style="min-width: 75px;"><colgroup><col style="min-width: 25px;"><col style="min-width: 25px;"><col style="min-width: 25px;"></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Skill</p></th><th colspan="1" rowspan="1"><p>Descrizione operativa</p></th><th colspan="1" rowspan="1"><p>Quando usarla</p></th></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow" href="/addyosmani/agent-skills/blob/main/skills/code-review-and-quality/SKILL.md">code-review-and-quality</a></p></td><td colspan="1" rowspan="1"><p>Revisione formale su cinque assi qualitativi. Limita la dimensione delle modifiche a circa 100 righe per pull request e impone tag di gravità (Nit, Optional, FYI).</p></td><td colspan="1" rowspan="1"><p>Prima di effettuare il merge di qualsiasi contributo nel ramo principale.</p></td></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow" href="/addyosmani/agent-skills/blob/main/skills/code-simplification/SKILL.md">code-simplification</a></p></td><td colspan="1" rowspan="1"><p>Applica il principio della Staccionata di Chesterton (non rimuovere una regola o una riga di codice senza averne compreso la ratio originale) e la Regola delle 500 righe per ridurre la complessità cognitiva.</p></td><td colspan="1" rowspan="1"><p>Quando il codice funziona correttamente ma risulta eccessivamente complesso da leggere, manutenere o estendere.</p></td></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow" href="/addyosmani/agent-skills/blob/main/skills/security-and-hardening/SKILL.md">security-and-hardening</a></p></td><td colspan="1" rowspan="1"><p>Previene le vulnerabilità OWASP Top 10, verifica i flussi di autenticazione, gestisce le chiavi segrete ed effettua l'auditing delle dipendenze.</p></td><td colspan="1" rowspan="1"><p>In presenza di moduli che gestiscono dati utente, autenticazione, persistenza o integrazioni con l'esterno.</p></td></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow" href="/addyosmani/agent-skills/blob/main/skills/performance-optimization/SKILL.md">performance-optimization</a></p></td><td colspan="1" rowspan="1"><p>Ottimizzazione orientata alle metriche. Analizza i Core Web Vitals, i bundle applicativi ed esegue profiling preventivo per bloccare regressioni prestazionali.</p></td><td colspan="1" rowspan="1"><p>In presenza di requisiti di performance stringenti o in caso di sospetto degrado dei tempi di risposta.</p></td></tr></tbody></table>

### Ship - Rilascio e manutenzione

<table style="min-width: 75px;"><colgroup><col style="min-width: 25px;"><col style="min-width: 25px;"><col style="min-width: 25px;"></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Skill</p></th><th colspan="1" rowspan="1"><p>Descrizione operativa</p></th><th colspan="1" rowspan="1"><p>Quando usarla</p></th></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow" href="/addyosmani/agent-skills/blob/main/skills/git-workflow-and-versioning/SKILL.md">git-workflow-and-versioning</a></p></td><td colspan="1" rowspan="1"><p>Impone il Trunk-Based Development (integrazione continua su un unico ramo principale), commit atomici e l'uso dei commit come punti di ripristino rapidi.</p></td><td colspan="1" rowspan="1"><p>Costantemente, durante l'esecuzione di qualunque modifica al codice sorgente.</p></td></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow" href="/addyosmani/agent-skills/blob/main/skills/ci-cd-and-automation/SKILL.md">ci-cd-and-automation</a></p></td><td colspan="1" rowspan="1"><p>Implementa l'approccio "Shift Left" (anticipazione dei test nelle prime fasi dello sviluppo), pipeline di validazione automatica e cicli rapidi di feedback in caso di fallimento della build.</p></td><td colspan="1" rowspan="1"><p>Durante l'impostazione, manutenzione o aggiornamento dei server di integrazione e rilascio continuo.</p></td></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow" href="/addyosmani/agent-skills/blob/main/skills/deprecation-and-migration/SKILL.md">deprecation-and-migration</a></p></td><td colspan="1" rowspan="1"><p>Considera il codice esistente come una passività finanziaria (liability). Gestisce deprecazioni obbligatorie o consultive e la rimozione sistematica del codice morto.</p></td><td colspan="1" rowspan="1"><p>Durante la dismissione di vecchie API, la migrazione di utenti su nuovi sistemi o la rimozione di funzionalità obsolete.</p></td></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow" href="/addyosmani/agent-skills/blob/main/skills/documentation-and-adrs/SKILL.md">documentation-and-adrs</a></p></td><td colspan="1" rowspan="1"><p>Redige Architecture Decision Records (ADR, documenti per tracciare le decisioni architetturali significative), documentazione di API e standard di commenti interni concentrandosi sul *perché* e non sul *cosa*.</p></td><td colspan="1" rowspan="1"><p>Ogni volta che si compiono scelte strutturali importanti, modifiche di interfaccia o rilascio di nuove parti di sistema.</p></td></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow" href="/addyosmani/agent-skills/blob/main/skills/observability-and-instrumentation/SKILL.md">observability-and-instrumentation</a></p></td><td colspan="1" rowspan="1"><p>Configura log strutturati, metriche RED (Rate, Errors, Duration) e tracciamento distribuito tramite OpenTelemetry fin dalla fase di scrittura del codice.</p></td><td colspan="1" rowspan="1"><p>Durante l'aggiunta di telemetria o prima del rilascio in produzione di servizi critici.</p></td></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow" href="/addyosmani/agent-skills/blob/main/skills/shipping-and-launch/SKILL.md">shipping-and-launch</a></p></td><td colspan="1" rowspan="1"><p>Verifica checklist pre-lancio, cicli di vita delle feature flag, roll-out progressivi e procedure standardizzate di ripristino rapido (rollback).</p></td><td colspan="1" rowspan="1"><p>Nelle ore o nei giorni immediatamente precedenti al deployment in produzione.</p></td></tr></tbody></table>

## Personaggi specialistici e checklist di riferimento

Il repository non contiene solo file di competenza sequenziali, ma mette a disposizione dell'utente anche una serie di personaggi (Agent Personas) altamente verticali e delle risorse di consultazione rapida.

### Agent Personas configurati

-   **code-reviewer (**[**agents/code-reviewer.md**](/addyosmani/agent-skills/blob/main/agents/code-reviewer.md)**):** Agisce come un Senior Staff Engineer, valutando le modifiche secondo i cinque assi qualitativi tipici dei processi di ingegneria di Google.
    
-   **test-engineer (**[**agents/test-engineer.md**](/addyosmani/agent-skills/blob/main/agents/test-engineer.md)**):** Specialista di QA (Quality Assurance) focalizzato sull'analisi della copertura e sulla definizione delle strategie di test.
    
-   **security-auditor (**[**agents/security-auditor.md**](/addyosmani/agent-skills/blob/main/agents/security-auditor.md)**):** Ingegnere di sicurezza dedicato al threat modeling (modellazione delle minacce) e al rilevamento di vulnerabilità OWASP.
    
-   **web-performance-auditor (**[**agents/web-performance-auditor.md**](/addyosmani/agent-skills/blob/main/agents/web-performance-auditor.md)**):** Esegue audit automatici e analisi dei Core Web Vitals tramite il comando rapido `/webperf`.
    

### Checklist di riferimento

-   [references/testing-patterns.md](/addyosmani/agent-skills/blob/main/references/testing-patterns.md): Esempi pratici di mocking, unit test, test E2E e pattern architetturali per i test.
    
-   [references/security-checklist.md](/addyosmani/agent-skills/blob/main/references/security-checklist.md): Controlli pre-commit per header HTTP, CORS, gestione dei segreti e sanitizzazione degli input.
    
-   [references/performance-checklist.md](/addyosmani/agent-skills/blob/main/references/performance-checklist.md): Target quantitativi per i Core Web Vitals, checklist ottimizzazione frontend/backend e istruzioni di profilazione.
    
-   [references/accessibility-checklist.md](/addyosmani/agent-skills/blob/main/references/accessibility-checklist.md): Guida pratica per la navigazione da tastiera, compatibilità con screen reader, standard ARIA e test di usabilità inclusiva.
    

## Anatomia di una Skill e logica interna

Ogni file all'interno della cartella `skills/` è strutturato secondo uno standard fisso. Questo permette all'agente AI di comprendere immediatamente come comportarsi senza perdersi in lunghe descrizioni discorsive.

```plaintext
┌─────────────────────────────────────────────────┐
│  SKILL.md                                       │
│                                                 │
│  ┌─ Frontmatter ─────────────────────────────┐  │
│  │ name: nome-competenza-in-kebab-case       │  │
│  │ description: Guida gli agenti nel task... │  │
│  │              Utilizzare quando...         │  │
│  └───────────────────────────────────────────┘  │
│                                                 │
│  Overview         → Scopo della competenza     │
│  When to Use      → Condizioni di attivazione  │
│  Process          → Workflow passo-passo       │
│  Rationalizations → Scuse comuni dell\u0027agente    │
│  Red Flags        → Segnali di errore o fretta │
│  Verification     → Evidenze e test richiesti  │
└─────────────────────────────────────────────────┘
```

I quattro pilastri che sorreggono l'architettura di Agent Skills sono studiati per superare le limitazioni intrinseche dei modelli linguistici correnti:

1.  **Workflow prescrittivi invece di prosa descrittiva:** Le skill non sono testi teorici da leggere, ma veri e propri algoritmi di comportamento che l'agente deve eseguire passo dopo passo, con check-point e criteri di uscita rigidi.
    
2.  **Tabelle di anti-razionalizzazione:** Ogni skill contiene una sezione dedicata a smontare le "scuse" tipiche degli agenti AI (es. "Aggiungerò i test in un secondo momento" o "Questa modifica è troppo semplice per richiedere una specifica"). L'agente trova la sua stessa scusa confutata direttamente dalle istruzioni di sistema.
    
3.  **La verifica non è negoziabile:** Nessun task può considerarsi concluso con un semplice "sembra corretto". Il flusso termina solo quando l'agente produce prove tangibili del funzionamento (es. log di esecuzione dei test, output di build superati, riscontri a runtime).
    
4.  **Rivelazione progressiva del contesto:** Per evitare il sovraccarico di token (le unità di informazione elaborate dai modelli LLM) e mantenere alte le performance dell'agente, il file `SKILL.md` funge da punto d'ingresso leggero. Le checklist di dettaglio vengono caricate solo ed esclusivamente quando l'agente ne ha effettivo bisogno.
    

## Eredità e cultura ingegneristica

L'intero impianto teorico e pratico di Agent Skills eredita direttamente i principi della cultura ingegneristica di Google, ampiamente documentata nel celebre testo _"Software Engineering at Google"_ e nelle guide interne di sviluppo rilasciate dal colosso di Mountain View.

Nei flussi operativi proposti si ritrovano concetti fondamentali come la **Regola di Beyoncé** ("Se ti piaceva, allora avresti dovuto scriverci un test sopra"), lo sviluppo strettamente basato su modifiche atomiche e tracciabili, l'attenzione maniacale alla rimozione del codice obsoleto e l'approccio "Shift Left" volto a anticipare la sicurezza e i test di carico nelle primissime fasi di sviluppo dell'applicazione, molto prima del deployment finale.

## Punti chiave

-   Gli agenti di programmazione AI tendono a prendere scorciatoie che minano la qualità del software a lungo termine.
-   Agent Skills introduce workflow prescrittivi ed evidenze non negoziabili per forzare l'uso delle migliori pratiche industriali.
-   Le competenze integrano la cultura ingegneristica di Google, tra cui la regola di Beyoncé, la staccionata di Chesterton e la legge di Hyrum.
-   La scomposizione in fette verticali atomiche assicura commit puliti e riduce l'insorgenza di bug complessi da isolare.

### Il Verdetto della Redazione — 4.9/5

Agent Skills rappresenta una svolta fondamentale per chiunque utilizzi agenti AI nella scrittura di codice in produzione. Trasforma l'interazione con l'agente da un caotico ciclo di prompt-and-fix a un processo ingegneristico rigoroso, ripetibile e sicuro. Consigliato per team di sviluppo e singoli professionisti che puntano alla massima qualità strutturale del software.

## FAQ

### Posso usare queste skill con qualsiasi agente di programmazione?

Sì, i file delle skill sono scritti in formato Markdown standard. Sebbene siano ottimizzati per strumenti come Claude Code o Cursor, funzionano con qualunque agente in grado di accettare istruzioni di sistema o file di contesto.

### Che cos'è la regola di Beyoncé citata nelle skill di test?

È una regola non scritta nata in Google: se un comportamento del sistema è importante per il business o per la stabilità, deve esistere un test automatico a protezione dello stesso. Se non c'è un test, quel comportamento non è garantito.

### L'uso di queste skill rallenta lo sviluppo dell'agente?

Sì, ma solo in termini di tempo di elaborazione puro (token). Il leggero rallentamento iniziale viene ampiamente compensato dall'assenza di bug strutturali, regressioni o riscritture, che di solito richiedono molto più tempo per essere risolti manualmente.

## Fonti e riferimenti

1.  [Repository Ufficiale Agent Skills su GitHub](https://github.com/addyosmani/agent-skills)
2.  [Software Engineering at Google (SWE Book)](https://abseil.io/resources/swe-book)
3.  [Google Engineering Practices Guide](https://google.github.io/eng-practices/)

---

*Fonte: [https://ainsights.it/blog/agent-skills-guida-agenti-ai](https://ainsights.it/blog/agent-skills-guida-agenti-ai)*
