Vai al contenuto

Skill

Il catalogo delle skill dell'agente si importa con:

php artisan griglia:skills-import --file=skills.json   # oppure JSON su stdin: [{name, description, source, agents}, …]

Il modale del task lo mostra come accordion (con ricerca dal vivo); le skill che spunti per un task vengono stampate da griglia:check (skills to activate for this task: …) così l'agente le invoca. Nei piani generati, PlanBuilder assegna le skill pertinenti task per task, considerando solo il catalogo disponibile per l'agente predefinito del piano. Non devi scrivere il JSON a mano: il package porta con sé sync-skills.py, che legge le cartelle delle skill di Claude Code, Codex e Gemini sulla macchina dove gira l'agente e le importa.

php artisan vendor:publish --tag=griglia-scripts   # → scripts/ nel tuo progetto
python3 scripts/sync-skills.py                             # host: legge le cartelle e importa (--print per solo guardare)

Questi script girano sull'host, non nel container: leggono file che esistono solo lì (skill, credenziali degli agenti, transcript). Vedi gli script.

Un catalogo, più agenti

Il formato SKILL.md è portabile — frontmatter più istruzioni in markdown, niente legato a una CLI in particolare — ma una skill esiste solo per l'agente che se la trova sul disco: quello che sta in ~/.claude/skills è invisibile a Codex CLI, e le skill integrate di una CLI non si possono installare da nessuna parte. Ogni voce porta quindi agents, le chiavi (da griglia.agents) degli agenti che possono usarla, e il modale di un task propone solo le skill del suo agente più quelle senza alcun agents — condivise, o importate prima che questo campo esistesse. Una skill già spuntata resta visibile anche se il task cambia agente, così puoi toglierla.

sync-skills.py riempie il campo in base alla cartella da cui ha letto la skill: ~/.claude/skills, .claude/skills di progetto, plugin e skill integrate → claude; ~/.codex/skills e .codex/skills di progetto → codex; ~/.gemini/skillsgemini; la cartella condivisa ~/.agents/skills → nessun vincolo. La stessa skill trovata in due cartelle è disponibile per entrambi gli agenti.

Il JSON è un semplice elenco:

[
  { "name": "tdd", "description": "Test-driven development", "source": "user", "agents": ["claude"] },
  { "name": "code-review", "description": "Review a branch", "source": "plugin", "agents": ["claude", "codex"] },
  { "name": "commit-style", "description": "How we write commits", "source": "agents" }
]

Vedi anche

Griglia v0.92.0