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’utilisationLien direct vers Exemple d’utilisation
src/mastra/skills.ts
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ètresLien direct vers 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<string, string>
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<string, unknown>
Métadonnées arbitraires associées au Skill.
Valeur renvoyéeLien direct vers Valeur renvoyée
Renvoie un objet InlineSkill qui implémente l’interface Skill :
interface InlineSkill extends Skill {
__inline: true
__referenceContents: Record<string, string>
}
Le Skill reçoit un chemin synthétique de la forme inline/<name>, par exemple inline/code-review.
ValidationLien direct vers Validation
createSkill() valide les entrées selon les mêmes règles que les Skills du système de fichiers :
nameest requis et doit être un slug validedescriptionest requisinstructionsest requis et ne doit pas être vide
Si la validation échoue, une Error est levée avec des informations sur les champs non valides.
// Throws: Invalid skill "": name is required
createSkill({ name: '', description: 'test', instructions: 'test' })