Obtenir AX Code · GratuitDocumentation

Cette page est traduite de la documentation anglaise. Les commandes, identifiants et exemples sont inchangés. Runtime 7.24.4 · SDK 2.6.7. Source anglaise

Catalogue des skills et plugins

Statut : Actif Portée : public, état actuel Dernière revue : 2026-08-12 Responsable : runtime AX Code

Registre découvrable des skills intégrés et de la façon d’ajouter des skills de projet.

Le menu par défaut / est un plan de contrôle (/plan, /review, /debug, /status, /model). Les skills intégrés plus anciens restent réservés à l’agent (outil skill). Le paquet de fiabilité du moteur est aussi listé comme commandes slash.

Skills intégrés (livrés sous packages/ax-code/skills/)

Skill Rôle Commande
debug-n-fix Déboguer puis corriger avec vérification Utiliser /debug
debug-only Investigation sans modification de code Réservé à l’agent
improve-overall Améliorations de qualité larges Réservé à l’agent
improve-security Améliorations centrées sur la sécurité Réservé à l’agent
mcp Conseils de configuration MCP Utiliser /mcp
run Lancer et observer l’application Réservé à l’agent
simplify Resserrer le code récemment modifié Réservé à l’agent
verify Rapport de vérification d’exécution Réservé à l’agent
verified-change Modifier seulement après un signal d’échec, puis relancer le même contrôle /verified-change
safe-db-migration Changements de schéma d’expansion, de remplissage ou de contraction, avec notes de retour arrière /safe-db-migration
api-contract Évolution d’API publique ou de schéma, d’abord additive /api-contract
incident-observability Diagnostic d’incident d’abord par les preuves, avant un correctif /incident-observability
auth-boundaries Authentification et autorisation, isolation des locataires, tests négatifs /auth-boundaries
queue-worker Changements idempotents de file ou de travailleur, et livraison en double /queue-worker
ruby-on-rails Conventions Rails sans démarrer le processus Rails Réservé à l’agent

Les skills utilisent SKILL.md avec un frontmatter YAML (name, description, paths facultatif, allowed-tools).

Skills de projet

Placez les skills sous l’un de ces emplacements :

  • .ax-code/skill/<name>/SKILL.md ou .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

Lister et valider :

ax-code            # TUI skill dialog
# or use the skill tool from a session

Contrôles d'invocation

AX Code lit ces contrôles facultatifs lors de la découverte d’un skill :

Emplacement Champ Effet
frontmatter SKILL.md disable-model-invocation: true Conserve la commande explicite /skill-name, mais exclut le skill de la découverte par le modèle et des chargements directs par l’outil du modèle.
frontmatter SKILL.md user-invocable: false Omet le skill des commandes slash ; l’invocation par le modèle reste disponible sauf désactivation séparée.
agents/openai.yaml voisin policy.allow_implicit_invocation: false Exige une invocation slash explicite, y compris pour les skills importés via .agents/skills.

Utilisez les booléens YAML true et false. Les contrôles absents conservent les valeurs par défaut. Si plusieurs sources divergent, une déclaration restrictive l’emporte. Des types de contrôle invalides ou une politique sidecar mal formée désactivent les deux modes d’invocation et produisent des diagnostics d’invocation dans l’inventaire des skills et les journaux d’exécution. Corrigez les métadonnées avant d’utiliser le skill. Le sidecar facultatif doit faire moins de 64 KiB ; les délimiteurs de document YAML et les alias n’y sont pas pris en charge.

Ces contrôles régissent l’invocation des skills, indépendamment des permissions d’agent existantes. Une mention en langage naturel d’un skill réservé au manuel n’autorise pas le modèle à le charger ; invoquez sa commande slash. Les allowed-tools déclarés restent des instructions de flux de travail et n’accordent pas de permissions.

Découverte bornée

Le modèle reçoit d’abord des résumés de skills, pas les instructions complètes. Chaque bloc de métadonnées de skill dans l’invite système et la description d’outil a un budget de 8,000 caractères. Les descriptions sont raccourcies avant que des entrées soient omises ; les recommandations appariées aux fichiers ont la priorité lorsque la liste dépasse encore ce budget. Un avis d’omission explique comment récupérer d’autres résumés. C’est une limite de caractères, pas un compte de jetons ni une garantie de performance.

L’outil skill a deux modes mutuellement exclusifs :

  • {"name":"api-contract"} charge un skill à travers le contrôle de permission existant.
  • {"query":"database"} cherche les noms et descriptions éligibles sans charger les corps des skills.
  • {"query":"","offset":20} poursuit une liste en utilisant le nextOffset exact du résultat précédent.

La recherche est littérale et insensible à la casse. Les requêtes vides listent les skills éligibles. Suivez nextOffset jusqu’à son absence. Les skills réservés au manuel et ceux dont la permission est refusée sont exclus de la découverte par le modèle. Les entrées de métadonnées individuelles trop grandes sont ignorées avec un avis. Les noms et la préséance des sources restent inchangés.

Plugins

Configurez les plugins dans ax-code.json :

{
  "plugin": ["file:///absolute/path/to/plugin.js"]
}

Les plugins mettent en œuvre des hooks @ax-code/plugin (tool.execute.before, tool.execute.after, shell.env, authentification, etc.).

Durée de vie des rappels

Les fabriques de plugins reçoivent un lifecycle facultatif dans leur entrée. lifecycle.signal s’abandonne lorsque l’instance est détruite ou que le plugin est retiré. Enregistrez les minuteurs, les observateurs et les abonnements avec lifecycle.onDispose(cleanup). La fonction renvoyée désenregistre ce nettoyage. Les enregistrements s’exécutent au plus une fois ; enregistrer après la destruction lance le nettoyage immédiatement. Les rappels de nettoyage démarrent dans l’ordre inverse d’enregistrement, chacun avec un budget d’une seconde, et peuvent se terminer en concurrence.

Les hooks de transformation reçoivent un troisième argument facultatif, { signal } ; les hooks de configuration et d’événement le reçoivent comme deuxième argument. Ce signal annule le travail pendant que le rappel est en attente ; utilisez lifecycle.signal pour le travail possédé par le plugin au-delà d’un seul rappel. Passez les signaux aux opérations annulables. Les rappels d’initialisation, de configuration, d’événement et de transformation ont une échéance de 15 secondes. Un dépassement retire le plugin pour cette instance et abandonne sa durée de vie. Les fabriques existantes et les hooks de transformation à deux arguments continuent de fonctionner. L’exécution d’outils personnalisés et l’authentification interactive conservent leurs contrats d’exécution existants.

Les entrées de transformation sont des observations en lecture seule de données simples. Mutez le brouillon de sortie et attendez tous les changements avant de retourner. Les mutations de sortie réussies deviennent visibles dans l’ordre d’enregistrement ; les changements échoués ou tardifs sont écartés. Les changements de charge d’événement ne sont jamais publiés. Un refus de permission reste un refus, et les hooks de permission échoués ou retirés exigent une demande, sauf si un refus existe déjà.

Les tableaux et les objets simples sont détachés de l’état d’exécution. Les schémas, les fonctions et les instances de classe conservent leur identité et doivent être traités comme étant en lecture seule. Les plugins restent du JavaScript de confiance qui s’exécute dans le processus du runtime : l’annulation est coopérative et ne peut ni arrêter des boucles infinies synchrones ni défaire des effets externes.

Paquets de hooks

Voir Hooks pour les cinq paquets officiels du cycle de vie (format-after-edit, block-force-push, require-tests-on-stop, protect-env-files, log-bash-commands).

Harnais d'évaluation

Exécutez la suite de porte du runtime agentique et la suite de politique d’ensemble multi-mode :

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

Voir aussi Modes d’exécution pour local, cloud, hybride, conseil et arène.