Vai al contenuto principale
Skills insegna all’agente come e quando usare gli strumenti. Ogni skill è una directory che contiene un file SKILL.md con frontmatter YAML e istruzioni markdown. OpenClaw carica le Skills da più radici in un ordine di precedenza definito.

Crea la tua prima skill

1

Crea la directory della skill

Le Skills risiedono nella cartella skills/ del tuo workspace. Crea una directory per la tua nuova skill:
mkdir -p ~/.openclaw/workspace/skills/hello-world
Puoi raggruppare le skill in sottocartelle per organizzarle: la skill viene comunque denominata dal frontmatter di SKILL.md, non dal percorso della cartella:
mkdir -p ~/.openclaw/workspace/skills/personal/hello-world
# skill name is still "hello-world", invoked as /hello-world
2

Scrivi SKILL.md

Crea SKILL.md all’interno della directory. Il frontmatter definisce i metadati; il corpo fornisce istruzioni all’agente.
---
name: hello-world
description: A simple skill that prints a greeting.
---

# Hello World

When the user asks for a greeting, use the `exec` tool to run:

```bash
echo "Hello from your custom skill!"

Regole di denominazione:
- Usa lettere minuscole, cifre e trattini per `name`.
- Mantieni allineati il nome della directory e il `name` del frontmatter.
- `description` viene mostrata all'agente e nella scoperta dei comandi slash:
  mantienila su una riga e sotto i 160 caratteri.

</Step>

<Step title="Verifica che la skill sia stata caricata">
```bash
openclaw skills list
OpenClaw osserva per impostazione predefinita i file SKILL.md sotto le radici delle Skills. Se il watcher è disabilitato o stai continuando una sessione esistente, avviane una nuova in modo che l’agente riceva l’elenco aggiornato:
# From chat — archive current session and start fresh
/new

# Or restart the gateway
openclaw gateway restart
3

Testala

Invia un messaggio che dovrebbe attivare la skill:
openclaw agent --message "give me a greeting"
Oppure apri una chat e chiedi direttamente all’agente. Usa /skill hello-world per invocarla esplicitamente per nome.

Riferimento di SKILL.md

Campi obbligatori

CampoDescrizione
nameSlug univoco con lettere minuscole, cifre e trattini
descriptionDescrizione su una riga mostrata all’agente e nell’output di scoperta

Chiavi frontmatter opzionali

CampoPredefinitoDescrizione
user-invocabletrueEspone la skill come comando slash utente
disable-model-invocationfalseEsclude la skill dal prompt di sistema dell’agente (funziona comunque tramite /skill)
command-dispatchImposta su tool per instradare il comando slash direttamente a uno strumento, bypassando il modello
command-toolNome dello strumento da invocare quando è impostato command-dispatch: tool
command-arg-moderawPer il dispatch allo strumento, inoltra allo strumento la stringa di argomenti grezza
homepageURL mostrato come “Sito web” nell’interfaccia Skills di macOS
Per i campi di gating (requires.bins, requires.env, ecc.) vedi Skills — Gating.

Uso di {baseDir}

Usa {baseDir} nel corpo della skill per fare riferimento ai file all’interno della directory della skill senza codificare percorsi fissi:
Run the helper script at `{baseDir}/scripts/run.sh`.

Aggiunta dell’attivazione condizionale

Applica un gate alla tua skill in modo che venga caricata solo quando le sue dipendenze sono disponibili:
---
name: gemini-search
description: Search using Gemini CLI.
metadata: { "openclaw": { "requires": { "bins": ["gemini"] }, "primaryEnv": "GEMINI_API_KEY" } }
---
ChiaveDescrizione
requires.binsTutti i binari devono esistere in PATH
requires.anyBinsAlmeno un binario deve esistere in PATH
requires.envOgni variabile env deve esistere nel processo o nella configurazione
requires.configOgni percorso openclaw.json deve essere truthy
osFiltro piattaforma: ["darwin"], ["linux"], ["win32"]
alwaysImposta true per saltare tutti i gate e includere sempre la skill
Riferimento completo: Skills — Gating.
Collega una chiave API a una voce skill in openclaw.json:
{
  skills: {
    entries: {
      "gemini-search": {
        enabled: true,
        apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" },
      },
    },
  },
}
La chiave viene iniettata nel processo host solo per quel turno dell’agente. Non raggiunge la sandbox: vedi variabili env sandboxed.

Proponi tramite Skill Workshop

Per skill redatte dall’agente o quando vuoi una revisione dell’operatore prima che una skill diventi attiva, usa le proposte di Skill Workshop invece di scrivere direttamente SKILL.md.
# Propose a brand-new skill
openclaw skills workshop propose-create \
  --name "hello-world" \
  --description "A simple skill that prints a greeting." \
  --proposal ./PROPOSAL.md

# Propose an update to an existing skill
openclaw skills workshop propose-update hello-world \
  --proposal ./PROPOSAL.md \
  --description "Updated greeting skill"
Usa --proposal-dir quando la proposta include file di supporto:
openclaw skills workshop propose-create \
  --name "hello-world" \
  --description "A simple skill that prints a greeting." \
  --proposal-dir ./hello-world-proposal/
La directory deve contenere PROPOSAL.md. I file di supporto possono andare in assets/, examples/, references/, scripts/ o templates/. Dopo la revisione:
openclaw skills workshop inspect <proposal-id>
openclaw skills workshop apply <proposal-id>
Vedi Skill Workshop per il ciclo di vita completo della proposta.

Pubblicazione su ClawHub

1

Assicurati che il tuo SKILL.md sia completo

Verifica che name, description e tutti i campi di gating metadata.openclaw siano impostati. Aggiungi un URL homepage se hai una pagina di progetto.
2

Installa la skill ClawHub

La skill ClawHub documenta la forma attuale del comando di pubblicazione e i metadati richiesti:
openclaw skills install @openclaw/clawhub-publish
3

Pubblica

clawhub publish
Vedi ClawHub — Pubblicazione per il flusso completo.

Best practice

  • Sii conciso — istruisci il modello su cosa fare, non su come essere un’AI.
  • Sicurezza prima di tutto — se la tua skill usa exec, assicurati che i prompt non consentano l’iniezione arbitraria di comandi da input non attendibile.
  • Testa in locale — usa openclaw agent --message "..." prima di condividere.
  • Usa ClawHub — sfoglia le skill della community su clawhub.ai prima di creare qualcosa da zero.

Correlati

Riferimento Skills

Ordine di caricamento, gating, allowlist e formato SKILL.md.

Skill Workshop

Coda di proposte per skill redatte dall’agente.

Configurazione Skills

Schema di configurazione skills.* completo.

ClawHub

Sfoglia e pubblica skill nel registro pubblico.

Creazione di plugin

I Plugin possono distribuire skill insieme agli strumenti che documentano.