Salta al contenuto principale

13 - Agent Skills: Creare Capacità Modulari per Claude

Agent Skills: Creare capacità Modulari per Claude Le Agent Skills rappresentano uno dei meccanismi più potenti per estendere le capacità di Claude Code.

Cosa ne pensi di questo articolo?

13 - Agent Skills: Creare Capacità Modulari per Claude
ClaudeFoto:Shantanu KumarPexels

In Breve

Agent Skills: Creare capacità Modulari per Claude Le Agent Skills rappresentano uno dei meccanismi più potenti per estendere le capacità di Claude Code.

Agent Skills: Creare capacità Modulari per Claude

Le Agent Skills rappresentano uno dei meccanismi più potenti per estendere le capacità di Claude Code. Si tratta di moduli di competenza che aggiungono conoscenze specializzate e workflow predefiniti all'agente, permettendogli di eseguire task complessi che vanno ben oltre la semplice generazione di codice.

In questo tredicesimo articolo della serie, esploreremo l'architettura delle skill, le dieci categorie principali con esempi reali dalla community, e impareremo a creare skill personalizzate per i nostri workflow specifici. Le skill trasformano Claude Code da un assistente generico a un team di esperti specializzati a disposizione nel terminale.

Cosa Imparerai

  • Comprendere l'architettura e la struttura delle Agent Skills
  • Esplorare le 10 categorie principali di skill disponibili
  • Installare e configurare skill dalla community
  • Creare skill personalizzate step by step
  • Integrare le skill nel workflow di sviluppo quotidiano
  • Applicare best practice per il design di skill efficaci
  • Gestire dipendenze e conflitti tra skill multiple
  • Costruire librerie di skill riutilizzabili per il team

Panoramica della Serie Completa

#ArticoloFocus
1Claude come Partner TecnicoSetup e primi passi
2Contesto e Setup del ProgettoCLAUDE.md e configurazione
3Ideazione e RequisitiMVP e user personas
4Architettura Backend e FrontendSpring Boot e Angular
5Struttura del CodiceOrganizzazione e convenzioni
6Prompt Engineering AvanzatoTecniche avanzate
7Testing e qualitàStrategie e generazione test
8Documentazione ProfessionaleREADME, API, ADR
9Deploy e DevOpsDocker, CI/CD, monitoring
10Evoluzione e ManutenzioneRefactoring e scalabilità
11Integrazione Progetto RealeClaude Code in produzione
12Claude Code CLIComandi e configurazione
13Agent Skills (sei qui)capacità modulari
14Subagenti SpecializzatiAgenti con ruoli specifici
15Hooks e AutomazioneEvent-driven workflows
16Ralph Wiggum MethodSviluppo guidato da test
17BMAD MethodGestione progetti strutturata
18Orchestrazione Multi-AgentePipeline di agenti
19Collaborative WorkTeam e pair programming AI
20Sicurezza e Best PracticeHardening e compliance
21Monitoring e ObservabilityMetriche e debugging

1. Architettura delle Agent Skills

Una Agent Skill è un file Markdown posizionato nella directory .claude/skills/ del progetto. Ogni file descrive una competenza specifica che Claude può invocare quando il contesto della conversazione lo richiede. A differenza dei subagenti (che vedremo nel prossimo articolo), le skill non sono entità autonome ma estensioni di conoscenza che arricchiscono le capacità dell'agente principale.

Struttura della Directory

Struttura tipica delle skill in un progetto
.claude/
  skills/
    document-generator.md       # Skill per generazione documenti
    api-tester.md               # Skill per testing API
    database-migration.md       # Skill per migrazioni DB
    code-review-checklist.md    # Skill per code review
    performance-analyzer.md     # Skill per analisi performance
    security-audit.md           # Skill per audit di sicurezza
    csv-data-analyzer.md        # Skill per analisi dati CSV
    deployment-validator.md     # Skill per validazione deploy
  agents/                       # Subagenti (articolo 14)
  commands/                     # Custom slash commands
  settings.json                 # Configurazione progetto
  settings.local.json           # Configurazione locale

Anatomia di una Skill

Ogni file skill segue una struttura predefinita che Claude interpreta automaticamente. La struttura include il nome della skill, la descrizione delle sue capacità, le istruzioni operative e i vincoli di utilizzo.

.claude/skills/template-skill.md - Struttura base di una skill
# Nome della Skill

## Descrizione
Breve descrizione di cosa fa questa skill e quando viene attivata.

## capacità
- capacità 1: cosa sa fare
- capacità 2: cosa sa fare
- capacità N: cosa sa fare

## Istruzioni
Istruzioni dettagliate su come eseguire il task:
1. Passo 1
2. Passo 2
3. Passo N

## Vincoli
- Non fare X
- Preferire Y rispetto a Z
- Formato output atteso

## Esempi
### Esempio 1: [Titolo]
Input: ...
Output: ...

### Esempio 2: [Titolo]
Input: ...
Output: ...

Come Claude Seleziona le Skill

Claude analizza il prompt dell'utente e il contesto della conversazione per determinare quali skill sono rilevanti. La selezione avviene in modo automatico basandosi sulla corrispondenza semantica tra la richiesta e le descrizioni delle skill disponibili. Non è necessario invocare esplicitamente una skill: basta formulare una richiesta che rientri nel suo dominio di competenza. Per invocare una skill specifica, è possibile usare il comando /skill nome-skill.

Ciclo di Vita di una Skill

Fasi del Ciclo di Vita

FaseDescrizioneAzione Claude
Discovery Claude scansiona .claude/skills/ all'avvio Carica i metadati di tutte le skill disponibili
Matching Analisi semantica del prompt utente Identifica le skill rilevanti per la richiesta
Loading Caricamento completo della skill selezionata Legge le istruzioni, i vincoli e gli esempi
Execution Applicazione delle istruzioni della skill Esegue il task seguendo le linee guida
Validation Verifica del risultato contro i vincoli Controlla che l'output rispetti i criteri definiti

2. Le 10 Categorie di Skill

La community ha sviluppato centinaia di skill organizzate in dieci categorie principali. Ogni categoria copre un dominio specifico e offre competenze pronte all'uso che possono essere adottate immediatamente nei propri progetti.

Categoria 1: Document Skills

Le Document Skills permettono a Claude di creare, modificare e convertire documenti in formati professionali. Queste skill trasformano Claude in un generatore di contenuti strutturati che produce output pronti per la distribuzione.

Skill Principali per Documenti

SkillFormatocapacità
docx-generator Microsoft Word (.docx) Genera documenti Word con stili, tabelle, immagini e indice automatico
pdf-creator PDF Crea PDF professionali con layout personalizzato, header/footer e watermark
pptx-builder PowerPoint (.pptx) Genera presentazioni con slide master, grafici e animazioni
xlsx-analyzer Excel (.xlsx) Crea fogli di calcolo con formule, pivot table e grafici
revealjs-presenter HTML (Reveal.js) Genera presentazioni web interattive con transizioni e codice live
.claude/skills/docx-generator.md - Esempio di Document Skill
# Document Generator (DOCX)

## Descrizione
Genera documenti Microsoft Word professionali a partire da contenuti
strutturati. Supporta stili personalizzati, tabelle, immagini inline,
intestazioni/pie' di pagina e indice automatico.

## capacità
- Creare documenti .docx da zero con template professionale
- Applicare stili di formattazione coerenti
- Inserire tabelle con dati strutturati
- Generare indice automatico dai titoli
- Inserire header e footer con numerazione pagine
- Supportare contenuto multilingue

## Istruzioni
1. Analizzare la struttura del contenuto richiesto
2. Creare lo script Node.js usando la libreria `docx`
3. Definire gli stili del documento (heading, body, table)
4. Costruire la struttura del documento sezione per sezione
5. Eseguire lo script per generare il file .docx
6. Verificare che il file sia stato creato correttamente

## Dipendenze
- npm: docx (per generazione .docx)
- npm: @types/docx (per TypeScript)

## Vincoli
- Usare sempre stili coerenti nel documento
- Includere numerazione pagine nel footer
- Formato data: DD/MM/YYYY per documenti italiani
- Dimensione massima consigliata: 50 pagine

Categoria 2: Development & Code Tools

Le skill di sviluppo estendono le capacità di coding di Claude con pattern avanzati, framework specifici e metodologie di lavoro strutturate. Queste skill sono particolarmente utili per mantenere coerenza e qualità nel codice prodotto.

Skill Principali per lo Sviluppo

SkillTecnologiacapacità
web-artifacts-builder HTML/CSS/JS Genera componenti web self-contained con HTML, CSS e JavaScript inline
tdd-workflow Multi-linguaggio Guida lo sviluppo Test-Driven: scrivi test prima, poi implementazione
git-worktrees Git Gestisce worktree Git per sviluppo parallelo su più branch
aws-cdk-builder AWS CDK Genera stack CDK con best practice per infrastruttura cloud
api-design-first OpenAPI Progetta API partendo dalla specifica OpenAPI, genera server e client
angular-component-gen Angular Genera componenti Angular standalone con signal, test e storybook
.claude/skills/tdd-workflow.md - Skill per Test-Driven Development
# TDD Workflow

## Descrizione
Guida lo sviluppo seguendo rigorosamente il ciclo Red-Green-Refactor
del Test-Driven Development. Ogni feature viene implementata partendo
dai test che descrivono il comportamento atteso.

## capacità
- Scrivere test che definiscono il comportamento desiderato (Red)
- Implementare il minimo codice per far passare i test (Green)
- Refactoring del codice mantenendo tutti i test verdi (Refactor)
- Gestire test unitari, di integrazione e e2e
- Applicare test doubles (mock, stub, spy) dove necessario

## Istruzioni
### Fase Red
1. Analizzare il requisito e scomporlo in comportamenti testabili
2. Scrivere un test che descrive il comportamento atteso
3. Eseguire il test e verificare che FALLISCA
4. Se il test passa gia: il test non testa nulla di nuovo

### Fase Green
5. Scrivere il MINIMO codice necessario per far passare il test
6. Non ottimizzare, non aggiungere feature extra
7. Eseguire tutti i test e verificare che PASSINO tutti

### Fase Refactor
8. Rifattorizzare il codice eliminando duplicazione
9. Migliorare naming e struttura
10. Eseguire tutti i test dopo ogni modifica
11. I test devono rimanere VERDI dopo il refactoring

## Vincoli
- MAI scrivere codice di produzione senza un test che lo richiede
- Un test alla volta, una feature alla volta
- I test devono essere indipendenti tra loro
- Naming dei test: should_[comportamento]_when_[condizione]

Categoria 3: Data & Analysis

Le skill di analisi dati trasformano Claude in un data analyst capace di esplorare dataset, generare query complesse, produrre visualizzazioni e identificare anomalie nei dati.

Skill Principali per Dati e Analisi

SkillDominiocapacità
root-cause-tracing Debugging Analisi sistematica delle cause radice di bug complessi con diagramma causale
csv-data-summarizer Dataset CSV Analisi esplorativa, statistiche descrittive, correlazioni e anomalie
postgresql-query-builder PostgreSQL Genera query ottimizzate con indici, CTE, window function e explain plan
log-analyzer Log applicativi Parsing e analisi di log con pattern recognition e timeline degli eventi
metrics-dashboard Monitoring Genera configurazioni Grafana/Prometheus da requisiti business
.claude/skills/csv-data-summarizer.md
# CSV Data Summarizer

## Descrizione
Analizza file CSV per produrre report statistici completi con
visualizzazioni, correlazioni e identificazione di anomalie.

## capacità
- Caricare e parsare file CSV di qualsiasi dimensione
- Calcolare statistiche descrittive (media, mediana, moda, deviazione standard)
- Identificare valori mancanti, duplicati e outlier
- Generare correlazioni tra variabili numeriche
- Produrre visualizzazioni con grafici ASCII o script Python/matplotlib
- Creare report strutturati in formato Markdown

## Istruzioni
1. Leggere il file CSV e identificare le colonne
2. Classificare le colonne: numeriche, categoriche, date, testo
3. Per ogni colonna numerica:
   - Calcolare min, max, media, mediana, std dev
   - Identificare outlier (IQR method)
   - Verificare distribuzione
4. Per ogni colonna categorica:
   - Contare valori unici e frequenze
   - Identificare valori dominanti
5. Calcolare matrice di correlazione per colonne numeriche
6. Identificare pattern temporali (se presenti date)
7. Generare report con tutte le scoperte

## Formato Output
```markdown
# Report Analisi: [nome_file]
## Panoramica Dataset
- Righe: N, Colonne: M
- Valori mancanti: X%
## Statistiche per Colonna
[tabella per ogni colonna]
## Correlazioni Significative
[matrice e insights]
## Anomalie Rilevate
[lista anomalie con spiegazione]
```

Categoria 4: Scientific & Research

Le skill scientifiche portano competenze di dominio avanzate come bioinformatica, simulazione di materiali e analisi di dati di ricerca. Sono progettate per ricercatori e team tecnici che lavorano con dati scientifici.

Skill per Ambito Scientifico

SkillDominiocapacità
bioinformatics-pipeline Bioinformatica Analisi sequenze DNA/RNA, allineamento, annotazione genica
ml-experiment-tracker Machine Learning Tracking esperimenti ML con metriche, iperparametri e confronti
materials-simulation Scienza dei materiali Simulazione proprietà di materiali con modelli computazionali
statistical-analysis Statistica Test statistici, regressione, analisi di varianza e intervalli di confidenza

Categoria 5: Writing & Research

Le skill di scrittura e ricerca assistono nella creazione di contenuti tecnici di alta qualità, dall'estrazione di informazioni da fonti web alla stesura di articoli completi con citazioni e riferimenti.

Skill per Scrittura e Ricerca

SkillFunzionecapacità
article-extractor Estrazione contenuti Estrae e struttura contenuti da URL web, PDF e documenti
content-research-writer Ricerca e scrittura Ricerca approfondita su un argomento e produzione di contenuti originali
technical-blog-writer Blog tecnico Stesura di articoli tecnici con codice, diagrammi e spiegazioni chiare
changelog-generator Release notes Genera changelog da commit Git con categorizzazione automatica
.claude/skills/changelog-generator.md
# Changelog Generator

## Descrizione
Genera changelog professionali a partire dalla storia dei commit Git.
Categorizza automaticamente le modifiche seguendo Conventional Commits.

## capacità
- Analizzare commit tra due tag/versioni
- Categorizzare: feat, fix, docs, refactor, perf, test, chore
- Generare formato Keep a Changelog
- Linkare commit e issue/PR correlati
- Rilevare breaking changes
- Supportare versionamento semantico (SemVer)

## Istruzioni
1. Identificare l'intervallo di commit (ultimo tag -> HEAD)
2. Parsare ogni messaggio di commit per tipo e scope
3. Raggruppare per categoria
4. Ordinare per importanza (breaking > feat > fix > others)
5. Generare il documento CHANGELOG.md
6. Suggerire la nuova versione SemVer

## Formato Output
```markdown
# Changelog

## [1.2.0] - 2026-02-14

### Breaking Changes
- **auth:** Rimossa compatibilità con token v1

### Features
- **user:** Aggiunto form di modifica profilo (#123)
- **notif:** Sistema notifiche push (#145)

### Bug Fixes
- **cart:** Corretto calcolo totale con sconti (#167)

### Performance
- **api:** Cache su endpoint /products (-40% latenza)
```

Categoria 6: Learning & Knowledge

Le skill di apprendimento trasformano Claude in un sistema di gestione della conoscenza che può organizzare, collegare e presentare informazioni in modo strutturato e incrementale.

Skill per Apprendimento e Conoscenza

SkillFunzionecapacità
tapestry Knowledge Graph Crea reti di documenti interconnessi con link bidirezionali e navigazione
ship-learn-next Apprendimento iterativo Ciclo Ship-Learn-Improve: rilascia, analizza feedback, migliora
concept-mapper Mappe concettuali Genera mappe concettuali da testi e documentazione tecnica
learning-path-builder Percorsi formativi Crea percorsi di apprendimento personalizzati con risorse e milestone

Categoria 7: Media & Content

Le skill multimediali permettono a Claude di lavorare con contenuti video, audio e formati di pubblicazione digitale, estendendo le sue capacità oltre il solo testo.

Skill per Media e Contenuti

SkillFormatocapacità
youtube-transcript YouTube Estrae trascrizioni da video YouTube, genera riassunti e note strutturate
video-downloader Video Download di video da piattaforme supportate con selezione qualità
epub-converter EPUB Converte contenuti Markdown o HTML in formato EPUB per e-reader
podcast-notes Audio Genera note strutturate da trascrizioni di podcast con timestamp
diagram-generator Mermaid/PlantUML Genera diagrammi tecnici da descrizioni in linguaggio naturale
.claude/skills/diagram-generator.md
# Diagram Generator

## Descrizione
Genera diagrammi tecnici in formato Mermaid o PlantUML
a partire da descrizioni in linguaggio naturale o analisi del codice.

## capacità
- Diagrammi di sequenza da flussi di codice
- Diagrammi di classe da modelli di dominio
- Diagrammi ER da schema database
- Diagrammi di stato da macchine a stati
- Diagrammi di flusso da logica di business
- Diagrammi di architettura C4

## Istruzioni
1. Analizzare la richiesta o il codice sorgente
2. Identificare il tipo di diagramma più appropriato
3. Estrarre entità, relazioni e flussi
4. Generare il codice Mermaid/PlantUML
5. Salvare in un file .md o .puml
6. Se possibile, generare un preview ASCII

## Formato Mermaid
```mermaid
sequenceDiagram
    participant U as User
    participant A as API
    participant DB as Database
    U->>A: POST /login
    A->>DB: SELECT user
    DB-->>A: User data
    A-->>U: JWT Token
```

## Vincoli
- Preferire Mermaid per semplicità
- Usare PlantUML per diagrammi complessi
- Includere sempre legenda se il diagramma ha più di 5 entità
- Massimo 20 entità per diagramma (dividere se necessario)

Categoria 8: Health & Life Sciences

Le skill per le scienze della vita assistono professionisti sanitari e ricercatori nell'analisi di dati medici, nella lettura di report clinici e nella ricerca biomedica. Queste skill operano sempre con l'avvertenza che non sostituiscono il parere medico professionale.

Skill per Scienze della Vita

SkillDominiocapacità
claude-ally-health Report medici Analizza report medici, evidenzia valori anomali e suggerisce follow-up
clinical-trial-analyzer Trial clinici Analisi di protocolli e risultati di trial clinici con sintesi strutturata
pharma-interaction-checker Farmacologia Verifica interazioni tra farmaci basandosi su database pubblici

Disclaimer Importante

Le skill di ambito sanitario sono strumenti di supporto e non sostituiscono in alcun modo il parere di un professionista medico. Ogni analisi prodotta deve essere verificata da personale qualificato prima di qualsiasi decisione clinica. Claude Code non è un dispositivo medico certificato.

Categoria 9: Collaboration & PM

Le skill di collaborazione e project management integrano Claude con strumenti di gestione del lavoro come Linear, Jira e sistemi di analytics per riunioni. Permettono di automatizzare la gestione di task, sprint e reportistica.

Skill per Collaborazione e PM

SkillStrumentocapacità
linear-integration Linear Crea e gestisce issue, cicli e progetti su Linear via API
jira-workflow Jira Sincronizza task, aggiorna stati e genera report sprint su Jira
meeting-analytics Meeting notes Analizza note di riunione, estrae action item e assegna responsabilità
sprint-planner Agile Pianifica sprint basandosi su velocity, capacità e priorità del backlog
standup-reporter Daily standup Genera report di standup da commit, PR e task completati nelle ultime 24h
.claude/skills/meeting-analytics.md
# Meeting Analytics

## Descrizione
Analizza note di riunione per estrarre decisioni, action item,
rischi e metriche di partecipazione. Genera report strutturati
e traccia il follow-up delle azioni nel tempo.

## capacità
- Parsare note di riunione in formato libero
- Estrarre decisioni prese e rationale
- Identificare action item con responsabile e deadline
- Rilevare rischi e impedimenti menzionati
- Calcolare metriche di partecipazione
- Generare email di follow-up con riassunto
- Tracciare azioni aperte tra riunioni successive

## Formato Output
```markdown
# Meeting Report - [Data]

## Partecipanti
[Lista con ruolo]

## Decisioni
1. [Decisione] - Motivazione: [perchè]
2. ...

## Action Items
| # | Azione | Responsabile | Deadline | Stato |
|---|--------|-------------|----------|-------|
| 1 | ...    | @nome       | GG/MM    | Open  |

## Rischi Identificati
- [Rischio] - Impatto: [alto/medio/basso]

## Prossima Riunione
- Data: [suggerita]
- Agenda: [punti proposti]
```

Categoria 10: Security & Web Testing

Le skill di sicurezza equipaggiano Claude con competenze di penetration testing, vulnerability assessment e security audit. Queste skill seguono standard riconosciuti come OWASP e producono report conformi ai requisiti di compliance.

Skill per Sicurezza e Testing

SkillStandardcapacità
owasp-checklist OWASP Top 10 Verifica sistematica delle OWASP Top 10 vulnerabilità su applicazioni web
ffuf-fuzzer Web fuzzing Configura ed esegue sessioni di fuzzing con FFUF per scoperta endpoint e parametri
secure-env-manager Secrets management Gestione sicura di variabili d'ambiente, rotazione segreti e vault integration
dependency-auditor CVE database Audit completo delle dipendenze con identificazione CVE e suggerimenti fix
api-security-tester OWASP API Security Test di sicurezza specifici per API REST e GraphQL
.claude/skills/owasp-checklist.md
# OWASP Security Checklist

## Descrizione
Verifica sistematica della sicurezza dell'applicazione web
contro le OWASP Top 10 vulnerabilità. Produce un report
di audit con severity, evidenze e raccomandazioni.

## Checklist OWASP Top 10
1. A01 - Broken Access Control
2. A02 - Cryptographic Failures
3. A03 - Injection (SQL, NoSQL, OS, LDAP)
4. A04 - Insecure Design
5. A05 - Security Misconfiguration
6. A06 - Vulnerable and Outdated Components
7. A07 - Identification and Authentication Failures
8. A08 - Software and Data Integrity Failures
9. A09 - Security Logging and Monitoring Failures
10. A10 - Server-Side Request Forgery (SSRF)

## Istruzioni per Ogni Voce
1. Identificare i file e gli endpoint rilevanti
2. Analizzare il codice per pattern vulnerabili
3. Classificare la severity: Critical/High/Medium/Low/Info
4. Documentare l'evidenza con riferimento al codice
5. Proporre la remediation con codice di esempio
6. Stimare l'effort di correzione

## Formato Report
| # | Vulnerabilità | Severity | File | Stato |
|---|--------------|----------|------|-------|
| A01 | Access Control | ... | ... | ... |

3. Creare Skill Personalizzate Step by Step

Creare skill personalizzate è il modo migliore per adattare Claude Code alle esigenze specifiche del proprio progetto e del proprio team. Vediamo il processo completo dalla progettazione al testing.

Step 1: Identificare l'Esigenza

Prima di creare una skill, è fondamentale identificare un pattern ripetitivo nel workflow che può essere standardizzato. Le migliori skill nascono da task che vengono eseguiti frequentemente, hanno regole chiare e producono output prevedibili.

Criteri per una Buona Skill

  • Ripetitivita: Il task viene eseguito più volte alla settimana
  • Regole chiare: Esistono step definiti e prevedibili
  • Output strutturato: Il risultato ha un formato coerente
  • Dominio definito: La skill copre un ambito specifico e delimitato
  • Valore aggiunto: L'automazione risparmia tempo significativo

Step 2: Progettare la Skill

Esempio pratico: Skill per Angular Component Generator
# Angular Standalone Component Generator

## Descrizione
Genera componenti Angular standalone seguendo le convenzioni
del progetto. Crea il file component.ts, il template HTML,
il foglio di stile CSS e il file di test .spec.ts.

## capacità
- Generare componenti standalone con signal per state management
- Creare template con design system del progetto
- Generare stili seguendo le convenzioni CSS/SCSS del progetto
- Scrivere test unitari con TestBed e ComponentFixture
- Applicare OnPush change detection
- Integrare con il router se richiesto

## Convenzioni del Progetto
- File naming: kebab-case (user-profile.component.ts)
- Selector prefix: app- (app-user-profile)
- State management: Angular Signals (non RxJS per stato locale)
- Change detection: OnPush
- Stili: CSS scoped al componente
- Test: Jasmine + TestBed

## Template Componente
```typescript
import { Component, signal, input, output } from '@angular/core';

@Component({
  standalone: true,
  selector: 'app-[nome]',
  templateUrl: './[nome].component.html',
  styleUrls: ['./[nome].component.css'],
  changeDetection: ChangeDetectionStrategy.OnPush,
  imports: []
})
export class [Nome]Component {
  // Input signals
  // State signals
  // Output events
  // Methods
}
```

## Template Test
```typescript
describe('[Nome]Component', () => {
  let component: [Nome]Component;
  let fixture: ComponentFixture<[Nome]Component>;

  beforeEach(async () => {
    await TestBed.configureTestingModule({
      imports: [[Nome]Component]
    }).compileComponents();

    fixture = TestBed.createComponent([Nome]Component);
    component = fixture.componentInstance;
    fixture.detectChanges();
  });

  it('should create', () => {
    expect(component).toBeTruthy();
  });
});
```

## Vincoli
- Usare SEMPRE standalone: true
- NON usare ngModule
- Preferire signal() a BehaviorSubject per stato locale
- Includere almeno 3 test nel file .spec.ts
- Documentare ogni input/output con commento JSDoc

Step 3: Testare la Skill

Dopo aver creato il file della skill, è essenziale testarlo con diversi prompt per verificare che Claude la invochi correttamente e produca risultati coerenti.

Test della skill con prompt diversi
# Test 1: Richiesta diretta
> Crea un componente UserProfile con campo nome ed email

# Verifica:
# - Ha creato user-profile.component.ts con standalone: true?
# - Ha usato signal() per lo stato?
# - Ha generato il file .spec.ts con almeno 3 test?

# Test 2: Richiesta con routing
> Genera un componente Dashboard che sia una route lazy-loaded

# Verifica:
# - Ha configurato il routing correttamente?
# - Ha applicato OnPush change detection?

# Test 3: Richiesta complessa
> Crea un componente ProductList con paginazione, filtri e ordinamento

# Verifica:
# - Ha gestito lo stato con signal?
# - Ha separato la logica in metodi chiari?
# - I test coprono i casi edge?

Step 4: Iterare e Migliorare

Le skill migliori sono quelle che evolvono nel tempo. Dopo i primi test, e comune dover aggiungere vincoli mancanti, chiarire istruzioni ambigue e aggiungere esempi per casi specifici.

Checklist di Miglioramento

  • Il nome della skill descrive chiaramente la sua funzione?
  • Le istruzioni sono sufficientemente dettagliate?
  • I vincoli coprono tutti gli edge case incontrati?
  • Gli esempi rappresentano i casi d'uso più comuni?
  • Il formato di output è coerente e utile?
  • La skill gestisce correttamente gli errori?
  • La documentazione è chiara per i nuovi membri del team?

4. Integrazione delle Skill nel Workflow

Le skill raggiungono il loro massimo potenziale quando vengono integrate organicamente nel workflow di sviluppo quotidiano del team. Ecco i pattern di integrazione più efficaci.

Pattern 1: Skill Chain (Catena di Skill)

Combinare più skill in sequenza per task complessi. Ad esempio, per una nuova feature si può usare: api-design-first per definire l'API, poi tdd-workflow per i test, poi angular-component-gen per il frontend.

Esempio di skill chain per una feature completa
# Passo 1: Progettazione API
> Progetta l'API per il modulo notifiche push
> Endpoint: GET /notifications, POST /notifications/subscribe,
> DELETE /notifications/{id}

# La skill api-design-first genera la specifica OpenAPI

# Passo 2: Test first
> Genera i test per il NotificationService seguendo TDD
> Basa i test sulla specifica API appena generata

# La skill tdd-workflow genera i test (fase Red)

# Passo 3: Implementazione
> Implementa il NotificationService per far passare i test

# La skill tdd-workflow guida l'implementazione (fase Green)

# Passo 4: Frontend
> Crea il componente NotificationPanel per visualizzare le notifiche

# La skill angular-component-gen crea il componente

# Passo 5: Documentazione
> Genera la documentazione per il modulo notifiche

# La skill changelog-generator o docx-generator documenta tutto

Pattern 2: Skill Gate (Skill come Quality Gate)

Usare le skill come checkpoint di qualità prima di operazioni critiche. Ad esempio, eseguire owasp-checklist prima di ogni merge in main, o dependency-auditor prima di ogni rilascio.

Pattern 3: Skill Library (Libreria di Skill del Team)

Condividere le skill nel repository del progetto permette a tutti i membri del team di beneficiarne. La directory .claude/skills/ committata nel repository diventa una libreria di competenze condivise del team.

Organizzazione skill per un team enterprise
.claude/
  skills/
    # Skill di sviluppo
    dev/
      angular-component-gen.md
      spring-service-gen.md
      api-design-first.md
      tdd-workflow.md

    # Skill di qualità
    quality/
      code-review-checklist.md
      owasp-checklist.md
      dependency-auditor.md
      performance-analyzer.md

    # Skill di documentazione
    docs/
      docx-generator.md
      changelog-generator.md
      adr-writer.md

    # Skill di analisi
    analysis/
      csv-data-summarizer.md
      log-analyzer.md
      root-cause-tracing.md

    # Skill di project management
    pm/
      meeting-analytics.md
      sprint-planner.md
      standup-reporter.md

5. Best Practice per il Design di Skill

Dopo aver lavorato con decine di skill, emergono pattern chiari su cosa rende una skill efficace. Ecco le best practice consolidate dalla community.

Best Practice per le Skill

PrincipioDescrizioneEsempio
Single Responsibility Ogni skill fa una cosa sola e la fa bene Separare "generate tests" da "run tests"
Explicit Instructions Istruzioni chiare e non ambigue "Usa Jasmine per i test" non "Usa un framework di test"
Concrete Examples Almeno 2-3 esempi con input e output atteso Template di codice completi, non pseudo-codice
Clear Constraints Vincoli espliciti su cosa NON fare "NON usare ngModule, solo standalone: true"
Output Format Formato di output definito e coerente Template Markdown, struttura file, naming
Error Handling Gestione dei casi limite e errori "Se il file esiste gia, chiedi conferma prima di sovrascrivere"
Dependency Declaration Dichiarare le dipendenze esterne "Richiede: npm docx, @types/docx"
Versioning Includere la versione della skill nel file "Versione: 1.2.0 - Ultimo aggiornamento: 2026-02-14"

Anti-Pattern da Evitare

Errori Comuni nella Creazione di Skill

  • Skill troppo generiche: "Genera codice" è troppo vago - specificare il linguaggio, il framework, le convenzioni
  • Istruzioni vaghe: "Scrivi buon codice" non dice nulla - definire metriche di qualità concrete
  • Mancanza di esempi: Senza esempi concreti, Claude interpreta le istruzioni in modo imprevedibile
  • Vincoli contraddittori: "Usa TypeScript strict" e "Non usare type annotations" si contraddicono
  • Skill monolitiche: Una skill che fa tutto (genera, testa, documenta, deploya) e ingestibile
  • Nessun formato output: Senza un formato definito, ogni esecuzione produce risultati diversi
  • Ignorare le dipendenze: Se la skill richiede npm package, dichiararlo esplicitamente

6. Gestione Avanzata delle Skill

Composizione di Skill

Le skill possono essere composte tra loro creando workflow complessi. Il segreto è progettare ogni skill con input e output compatibili, in modo che l'output di una possa alimentare l'input della successiva.

.claude/skills/full-feature-pipeline.md - Skill composta
# Full Feature Pipeline

## Descrizione
Orchestrazione completa per la creazione di una nuova feature,
dalla specifica API al deploy. Combina le skill: api-design-first,
tdd-workflow, angular-component-gen, e changelog-generator.

## Pipeline
### Fase 1: Design (api-design-first)
- Input: Requisiti della feature in linguaggio naturale
- Output: Specifica OpenAPI completa
- Gate: Approvazione della specifica da parte dell'utente

### Fase 2: Backend (tdd-workflow)
- Input: Specifica OpenAPI dalla Fase 1
- Output: Service + Controller + Test con copertura 80%+
- Gate: Tutti i test passano

### Fase 3: Frontend (angular-component-gen)
- Input: API endpoints dalla Fase 1 + modelli dati
- Output: Componenti Angular standalone con test
- Gate: Build senza errori + test passano

### Fase 4: Documentazione (changelog-generator)
- Input: Tutti i file creati/modificati nelle fasi precedenti
- Output: Entry changelog + aggiornamento README
- Gate: Review della documentazione

## Vincoli
- Ogni fase richiede approvazione prima di procedere
- Se una fase fallisce, tornare alla fase precedente
- Mantenere git commit separati per ogni fase

Versionamento delle Skill

Le skill evolvono con il progetto. E' buona pratica includere un header di versione in ogni skill e mantenere un changelog delle modifiche.

Header di versionamento per una skill
# Angular Component Generator
> Versione: 2.1.0 | Ultimo aggiornamento: 2026-02-14
> Changelog:
> - 2.1.0: Aggiunto supporto per lazy-loaded routes
> - 2.0.0: Migrazione da ngModule a standalone
> - 1.3.0: Aggiunto template per form reattivi
> - 1.2.0: Aggiunto OnPush change detection
> - 1.1.0: Aggiunto supporto signal()
> - 1.0.0: Rilascio iniziale

## Descrizione
...

Testing Automatico delle Skill

Per garantire che le skill continuino a funzionare correttamente nel tempo, e possibile creare script di test automatizzati che verificano l'output delle skill contro aspettative predefinite.

scripts/test-skills.sh - Test automatico delle skill
#!/bin/bash
# Test automatico delle skill di Claude Code

echo "=== Testing Agent Skills ==="

# Test 1: Angular Component Generator
echo "Testing: Angular Component Generator..."
OUTPUT=$(claude --print "Crea un componente TestWidget con un input 'title' di tipo string" \
  --output-format json --max-iterations 5 2>&1)

if echo "$OUTPUT" | grep -q "standalone: true"; then
  echo "  PASS: standalone component generated"
else
  echo "  FAIL: standalone not found in output"
fi

if echo "$OUTPUT" | grep -q "signal\|input()"; then
  echo "  PASS: signal/input used"
else
  echo "  FAIL: signal/input not found"
fi

# Test 2: TDD Workflow
echo "Testing: TDD Workflow..."
OUTPUT=$(claude --print "Scrivi i test per una funzione calculateDiscount(price, percentage)" \
  --output-format json --max-iterations 5 2>&1)

if echo "$OUTPUT" | grep -q "describe\|it("; then
  echo "  PASS: test structure generated"
else
  echo "  FAIL: test structure not found"
fi

echo "=== Test Complete ==="

Conclusione

Le Agent Skills trasformano Claude Code da un assistente generico a un ecosistema di competenze specializzate che si adattano al progetto e al team. Le dieci categorie di skill - dalla generazione di documenti alla sicurezza, dall'analisi dati al project management - coprono l'intero spettro delle esigenze di sviluppo software.

Punti Chiave

  • Le skill sono file Markdown in .claude/skills/: Semplici da creare, versionare e condividere nel team
  • 10 categorie coprono ogni esigenza: Documenti, sviluppo, dati, ricerca, scrittura, apprendimento, media, salute, PM, sicurezza
  • Design con Single Responsibility: Ogni skill fa una cosa sola e la fa bene
  • Esempi concreti sono fondamentali: Claude interpreta meglio le skill con template e output attesi
  • Composizione per workflow complessi: Skill chain, skill gate e full feature pipeline
  • Iterazione continua: Le skill migliori evolvono con il progetto e il feedback del team
  • Condivisione nel repository: Le skill committate diventano una libreria di conoscenza del team

Nel prossimo articolo esploreremo i Subagenti Specializzati: agenti autonomi con ruoli specifici che operano in modo indipendente all'interno di Claude Code. Vedremo come creare esperti di linguaggio, DevOps specialist e security auditor che lavorano in sinergia con l'agente principale.

Prova Questi Strumenti

Strumenti gratuiti correlati a questo argomento.

Commenti

Caricamento commenti...

Accedi per commentare

Discuti questo articolo nella community

Unisciti al gruppo Telegram per discutere con altri sviluppatori, fare domande e condividere le tue esperienze.

Ti è piaciuto questo articolo?

Esplora altri contenuti sul blog o scopri i miei progetti