Questa pagina è tradotta dalla documentazione inglese. Comandi, identificatori ed esempi restano invariati. Runtime 7.24.4 · SDK 2.6.7. Testo inglese
Catalogo di skill e plugin
Stato: attivo Ambito: pubblico, stato attuale Ultima revisione: 2026-08-12 Responsabile: runtime di AX Code
Registro individuabile delle skill integrate e istruzioni per aggiungere skill di progetto.
Il menu predefinito / è un piano di controllo (/plan, /review, /debug, /status, /model). Le skill integrate più vecchie restano soltanto per l’agente (strumento skill). Il pacchetto di affidabilità del backend compare anche come comandi slash.
Skill integrate (distribuite sotto packages/ax-code/skills/)
| Skill | Scopo | Comando |
|---|---|---|
debug-n-fix |
Debug e poi correzione, con verifica | Usa /debug |
debug-only |
Indagine senza modifiche al codice | Solo agente |
improve-overall |
Miglioramenti ampi della qualità | Solo agente |
improve-security |
Miglioramenti incentrati sulla sicurezza | Solo agente |
mcp |
Guida alla configurazione di MCP | Usa /mcp |
run |
Avvia e osserva l’app | Solo agente |
simplify |
Rafforza il codice modificato di recente | Solo agente |
verify |
Rapporto di verifica del runtime | Solo agente |
verified-change |
Modifica solo dopo un segnale di fallimento, poi riesegui lo stesso controllo | /verified-change |
safe-db-migration |
Modifiche di schema expand, backfill e contract, con note di rollback | /safe-db-migration |
api-contract |
Evoluzione di API pubblica e di schema, prima in modo additivo | /api-contract |
incident-observability |
Diagnosi dell’incidente a partire dall’evidenza, prima di una patch | /incident-observability |
auth-boundaries |
Authn/authz, isolamento dei tenant, test negativi | /auth-boundaries |
queue-worker |
Modifiche idempotenti a code e worker, e consegna duplicata | /queue-worker |
ruby-on-rails |
Convenzioni Rails senza avviare il processo Rails | Solo agente |
Le skill usano SKILL.md con frontmatter YAML (name, description, paths facoltativo, allowed-tools).
Skill di progetto
Colloca le skill in uno qualsiasi di questi percorsi:
.ax-code/skill/<name>/SKILL.mdoppure.ax-code/skills/<name>/SKILL.md.agents/skills/<name>/SKILL.md(compatibilità Agents / Codex).claude/skills/<name>/SKILL.md(compatibilità Claude Code).opencode/skills/<name>/SKILL.md
Elenco e validazione:
ax-code # TUI skill dialog
# or use the skill tool from a session
Controlli di invocazione
AX Code legge questi controlli facoltativi quando individua una skill:
| Posizione | Campo | Effetto |
|---|---|---|
frontmatter di SKILL.md |
disable-model-invocation: true |
Conserva il comando esplicito /skill-name, ma esclude la skill dalla scoperta del modello e dai caricamenti diretti degli strumenti del modello. |
frontmatter di SKILL.md |
user-invocable: false |
Ometti la skill dai comandi slash; l’invocazione dal modello resta disponibile, salvo disabilitazione separata. |
agents/openai.yaml gemello |
policy.allow_implicit_invocation: false |
Richiedi l’invocazione slash esplicita, anche per le skill importate tramite .agents/skills. |
Usa i booleani YAML true e false. I controlli assenti conservano i valori predefiniti. Se più sorgenti sono in disaccordo, prevale la dichiarazione più restrittiva. Tipi di controllo non validi o una policy sidecar malformata disabilitano entrambe le modalità di invocazione e producono diagnostica di invocazione nell’inventario delle skill e nei log di runtime. Correggi i metadati prima di usare la skill. Il sidecar facoltativo deve essere più piccolo di 64 KiB; i delimitatori di documento YAML e gli alias non sono supportati in quel file.
Questi controlli governano l’invocazione della skill, in modo indipendente dai permessi già esistenti dell’agente. Un accenno in linguaggio naturale a una skill solo manuale non autorizza il modello a caricarla; invoca il suo comando slash. I allowed-tools dichiarati restano istruzioni di workflow e non concedono permessi.
Scoperta delimitata
All’inizio il modello riceve i riassunti delle skill, non le istruzioni complete. Ogni blocco di metadati di una skill nel prompt di sistema e nella descrizione dello strumento ha un budget di 8,000 caratteri. Le descrizioni vengono accorciate prima che le voci siano omesse; le raccomandazioni abbinate ai file hanno priorità quando l’elenco supera ancora quel budget. Un avviso di omissione spiega come recuperare altri riassunti. È un limite di caratteri, non un conteggio di token né una garanzia di prestazioni.
Lo strumento skill ha due modalità mutuamente esclusive:
{"name":"api-contract"}carica una skill attraverso il controllo di permesso già esistente.{"query":"database"}cerca nomi e descrizioni ammissibili senza caricare i corpi delle skill.{"query":"","offset":20}prosegue un elenco usando l’esattonextOffsetdel risultato precedente.
La ricerca è letterale e senza distinzione tra maiuscole e minuscole. Le query vuote elencano le skill ammissibili. Segui nextOffset finché è assente. Le skill solo manuali e quelle con permesso negato sono escluse dalla scoperta del modello. Le voci di metadati singole troppo grandi vengono saltate con un avviso. I nomi e la precedenza delle sorgenti restano invariati.
Plugin
Configura i plugin in ax-code.json:
{
"plugin": ["file:///absolute/path/to/plugin.js"]
}
I plugin implementano gli hook @ax-code/plugin (tool.execute.before, tool.execute.after, shell.env, auth e simili).
Durata dei callback
Le factory dei plugin ricevono lifecycle facoltativo nel loro input. lifecycle.signal interrompe l’esecuzione quando l’istanza viene rilasciata o il plugin viene ritirato. Registra timer, osservatori e sottoscrizioni con lifecycle.onDispose(cleanup). La funzione restituita annulla quella pulizia. Le registrazioni vengono eseguite al massimo una volta; una registrazione dopo il rilascio avvia subito la pulizia. I callback di pulizia partono in ordine inverso di registrazione, ciascuno con un budget di un secondo, e possono terminare in concorrenza.
Gli hook di trasformazione ricevono un terzo argomento facoltativo, { signal }; gli hook di configurazione e di evento lo ricevono come secondo argomento. Questo segnale annulla il lavoro mentre il callback è in attesa; usa lifecycle.signal per il lavoro di proprietà del plugin che dura oltre un singolo callback. Passa i segnali alle operazioni interrompibili. I callback di inizializzazione, configurazione, evento e trasformazione hanno una scadenza di 15 secondi. Un timeout ritira il plugin per quell’istanza e interrompe la sua vita. Le factory esistenti e gli hook di trasformazione a due argomenti continuano a funzionare. L’esecuzione degli strumenti personalizzati e l’autenticazione interattiva conservano i contratti di esecuzione già esistenti.
Gli input di trasformazione sono osservazioni in sola lettura di dati semplici. Modifica la bozza di output e attendi tutte le modifiche prima di restituire. Le mutazioni di output riuscite diventano visibili nell’ordine di registrazione; le modifiche fallite o tardive vengono scartate. Le modifiche al payload degli eventi non vengono mai pubblicate. Un rifiuto di permesso resta un rifiuto, e gli hook di permesso falliti o ritirati richiedono di chiedere conferma, a meno che un rifiuto esista già.
Array e oggetti semplici sono staccati dallo stato di runtime. Schemi, funzioni e istanze di classe conservano l’identità e vanno trattati come sola lettura. I plugin restano JavaScript fidato in esecuzione nel processo di runtime: l’annullamento è cooperativo e non può fermare cicli infiniti sincroni né annullare effetti esterni.
Pacchetti di hook
Vedi Hook per i cinque pacchetti ufficiali del ciclo di vita (format-after-edit, block-force-push, require-tests-on-stop, protect-env-files, log-bash-commands).
Harness di valutazione
Esegui la suite di gate del runtime agentico e la suite di policy dell’ensemble multi-modalità:
cd packages/ax-code
pnpm exec vitest run test/harness/agentic-runtime-eval.test.ts
pnpm exec vitest run test/harness/multi-mode-ensemble-eval.test.ts
Vedi anche Modalità di esecuzione per locale, cloud, hybrid, council e arena.