Le attività di ingegneria più complesse spesso richiedono più di semplici buoni prompt. Possono richiedere script di riferimento, modelli, checklist e altri file di supporto. Le skill consentono di raggruppare tutto questo in cartelle che Cascade può invocare (leggere e utilizzare).
Le skill sono un ottimo modo per insegnare a Cascade a eseguire flussi di lavoro articolati in più passaggi in modo coerente.
Cascade usa la progressive disclosure: per impostazione predefinita, al modello vengono mostrati solo name e description della skill. Il contenuto completo di SKILL.md e i file di supporto vengono caricati solo quando Cascade decide di invocare la skill (o quando la citi con @). In questo modo, la finestra di contesto resta snella anche con molte skill definite.
Per maggiori dettagli sulla specifica delle Skills, visita agentskills.io.
Tramite la UI (più semplice)
- Apri il pannello Cascade
- Fai clic sui tre puntini in alto a destra del pannello per aprire il menu di personalizzazione
- Fai clic sulla sezione
Skills
- Fai clic su
+ Workspace per creare una skill del workspace (specifica del progetto) oppure su + Global per creare una skill globale
- Assegna un nome alla skill (solo lettere minuscole, numeri e trattini)
Skill del workspace (specifica del progetto):
- Crea una directory:
.windsurf/skills/<skill-name>/
- Aggiungi un file
SKILL.md con frontmatter YAML
Skill globale (disponibile in tutti i workspace):
- Crea una directory:
~/.codeium/windsurf/skills/<skill-name>/
- Aggiungi un file
SKILL.md con frontmatter YAML
Ogni skill richiede un file SKILL.md con frontmatter YAML che contiene i metadati della skill:
---
name: deploy-to-production
description: Guida il processo di distribuzione in produzione con controlli di sicurezza
---
## Lista di controllo pre-distribuzione
1. Esegui tutti i test
2. Controlla le modifiche non salvate
3. Verifica le variabili d'ambiente
## Fasi di distribuzione
Segui questi passaggi per distribuire in modo sicuro...
[Fai riferimento ai file di supporto in questa directory secondo necessità]
Campi obbligatori del frontmatter
- name: Identificatore univoco della skill (visualizzato nella UI e usato per le menzioni con @)
- description: Breve descrizione mostrata al modello per aiutarlo a decidere quando invocare la skill
Esempi di nomi validi: deploy-to-staging, code-review, setup-dev-environment
Aggiungere risorse di supporto
Colloca eventuali file di supporto nella cartella della skill, accanto a SKILL.md. Questi file saranno disponibili per Cascade quando la skill viene invocata:
.windsurf/skills/deploy-to-production/
├── SKILL.md
├── deployment-checklist.md
├── rollback-procedure.md
└── config-template.yaml
Quando la tua richiesta corrisponde alla descrizione di una skill, Cascade invoca automaticamente la skill e usa le relative istruzioni e risorse per completare l’attività. Questo è il modo più comune in cui vengono usate le skill: ti basta descrivere ciò che vuoi fare e Cascade individua quali skill sono pertinenti.
Il campo description nel frontmatter della tua skill è fondamentale: aiuta Cascade a capire quando invocare la skill. Scrivi descrizioni che spieghino chiaramente cosa fa la skill e quando va usata.
Puoi sempre attivare esplicitamente una skill digitando @skill-name nel campo di input di Cascade. Questo è utile quando vuoi assicurarti che venga usata una skill specifica o quando vuoi invocare una skill che potrebbe non essere attivata automaticamente dalla tua richiesta.
| Ambito | Posizione | Disponibilità |
|---|
| Workspace | .windsurf/skills/ | Solo nel workspace corrente. Incluso nei commit della tua repo. |
| Globale | ~/.codeium/windsurf/skills/ | Tutti i workspace sulla tua macchina. Non incluso nei commit. |
| Sistema (Enterprise) | Specifico del sistema operativo (vedi sotto) | Tutti i workspace, distribuito dall’IT. Sola lettura. |
Per la compatibilità tra agenti, Devin Desktop rileva anche le skill in .agents/skills/ e ~/.agents/skills/. Se hai abilitato la lettura della configurazione di Claude Code, vengono analizzate anche .claude/skills/ e ~/.claude/skills/.
Skill di sistema (Enterprise)
Le organizzazioni Enterprise possono distribuire skill disponibili in tutti i workspace e non modificabili dagli utenti finali:
| OS | Path |
|---|
| macOS | /Library/Application Support/Windsurf/skills/ |
| Linux/WSL | /etc/windsurf/skills/ |
| Windows | C:\ProgramData\Windsurf\skills\ |
Ogni skill è una sottodirectory che contiene un file SKILL.md, proprio come le skill del workspace.
Flusso di lavoro di distribuzione
Crea una skill con script di distribuzione, configurazioni di ambiente e procedure di rollback:
.windsurf/skills/deploy-staging/
├── SKILL.md
├── pre-deploy-checks.sh
├── environment-template.env
└── rollback-steps.md
Linee guida per la revisione del codice
Includi guide di stile, checklist di sicurezza e modelli per la revisione:
.windsurf/skills/code-review/
├── SKILL.md
├── style-guide.md
├── security-checklist.md
└── review-template.md
Raggruppa i template di test, i requisiti di copertura e le configurazioni CI/CD:
.windsurf/skills/run-tests/
├── SKILL.md
├── test-template.py
├── coverage-config.json
└── ci-workflow.yaml
-
Scrivi descrizioni chiare: La descrizione aiuta Cascade a decidere quando invocare la skill. Sii specifico su cosa fa la skill e su quando dovrebbe essere utilizzata.
-
Includi risorse pertinenti: Template, checklist ed esempi rendono le skill più utili. Pensa a quali file potrebbero aiutare qualcuno a completare l’attività.
-
Usa nomi descrittivi:
deploy-to-staging è meglio di deploy1. I nomi devono indicare chiaramente cosa fa la skill.
Skills vs Regole vs Flussi di lavoro
Tutti e tre personalizzano Cascade, ma differiscono per struttura, invocazione e costo del contesto:
| Skills | Regole | Flussi di lavoro |
|---|
| Scopo | Procedure in più passaggi con file di supporto | Linee guida comportamentali (“come comportarsi”) | Template di prompt per attività ripetibili |
| Struttura | Cartella con SKILL.md + eventuali file di risorse | Singolo file .md con frontmatter | Singolo file .md |
| Invocazione | Decide il modello (disclosure progressiva) oppure @mention | always_on / glob / model_decision / manual | Solo manuale tramite /slash-command |
| Nel prompt di sistema? | No — solo nome + descrizione fino all’invocazione | Dipende dalla modalità di attivazione | No — elencati come comandi disponibili |
| Ideale per | Distribuzioni, procedure di revisione del codice, procedure di testing che richiedono script/template | Stile di codice, convenzioni di progetto, vincoli | Runbook una tantum che attivi esplicitamente |
Regola pratica: se Cascade deve selezionarlo automaticamente e sono necessari file di supporto, usa una Skill. Se è un breve vincolo comportamentale, usa una Regola. Se vuoi sempre attivarlo tu, usa un Flusso di lavoro.
Se Skills non è ciò che stai cercando, dai un’occhiata a queste altre funzionalità di Cascade:
- Flussi di lavoro - Automatizza le attività ripetitive con flussi di lavoro markdown riutilizzabili richiamati tramite slash command
- AGENTS.md - Definisci istruzioni valide a livello di directory che si applicano automaticamente in base alla posizione del file
- Memories & Regole - Mantieni il contesto tra le conversazioni con memorie generate automaticamente e regole definite dall’utente