Scarica AX Code · GratuitoDocumentazione

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.md oppure .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’esatto nextOffset del 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.