> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # `createSkill()` Crée un Skill inline qui peut être transmis directement à la configuration `skills` d’un Agent, sans système de fichiers ni Workspace. L’objet renvoyé implémente l’interface `Skill` et fonctionne partout où un Skill découvert dans le système de fichiers peut être utilisé. ## Exemple d’utilisation ```typescript import { createSkill } from '@mastra/core/skills' const reviewSkill = createSkill({ name: 'code-review', description: 'Use when reviewing code changes.', instructions: ` When reviewing code: 1. Check for correctness 2. Check for style consistency 3. Look for potential bugs `, references: { 'checklist.md': '# Review Checklist\n- No unused imports\n- Error handling present', }, }) ``` ## Paramètres **name** (`string`): Nom unique du Skill. Utilisé comme identifiant lorsque les Agents activent le Skill. Doit être un slug valide, en minuscules et pouvant contenir des traits d’union. **description** (`string`): Courte description affichée à l’Agent dans le message système. Aide l’Agent à déterminer quand utiliser le Skill. **instructions** (`string`): Instructions complètes du Skill au format Markdown. Chargées dans la conversation lorsque l’Agent active le Skill. **references** (`Record`): Documents complémentaires que l’Agent peut lire avec le Tool skill\_read. Les clés sont les noms de fichiers et les valeurs correspondent au contenu des fichiers. **license** (`string`): Identifiant de licence SPDX du Skill. **compatibility** (`unknown`): Exigences de compatibilité. La spécification Agent Skills laisse ce format libre : il peut s’agir d’un tableau de chaînes, d’un objet ou de toute structure attendue par vos outils. **user-invocable** (`boolean`): Indique si les utilisateurs finaux peuvent appeler directement ce Skill. La valeur par défaut est undefined et laisse l’Agent décider. **metadata** (`Record`): Métadonnées arbitraires associées au Skill. ## Valeur renvoyée Renvoie un objet `InlineSkill` qui implémente l’interface `Skill` : ```typescript interface InlineSkill extends Skill { __inline: true __referenceContents: Record } ``` Le Skill reçoit un chemin synthétique de la forme `inline/`, par exemple `inline/code-review`. ## Validation `createSkill()` valide les entrées selon les mêmes règles que les Skills du système de fichiers : - `name` est requis et doit être un slug valide - `description` est requis - `instructions` est requis et ne doit pas être vide Si la validation échoue, une `Error` est levée avec des informations sur les champs non valides. ```typescript // Throws: Invalid skill "": name is required createSkill({ name: '', description: 'test', instructions: 'test' }) ``` ## Voir aussi - [Skills des Agents](https://mastra.zisheng.pro/fr/docs/agents/skills) - [Skills du Workspace](https://mastra.zisheng.pro/fr/docs/workspace/skills) - [Référence de `.getSkill()`](https://mastra.zisheng.pro/fr/reference/agents/getSkill) - [Référence de `.listSkills()`](https://mastra.zisheng.pro/fr/reference/agents/listSkills)