| 💾 Saved. d722711 k33g 9h ago | 1 | # Comment ajouter un skill |
| 2 | |
| 3 | Ce guide montre comment donner à l'agent une nouvelle procédure en markdown que le modèle peut charger avec `read_skill`. Il suppose que vous savez quelle tâche la procédure doit couvrir. |
| 4 | |
| 5 | ## Étapes |
| 6 | |
| 7 | 1. Créez le skill dans le répertoire des skills (`skills/` par défaut, voir `skillsDir`), dans l'une des deux dispositions : un fichier à plat `skills/<nom>.md`, ou un répertoire par skill `skills/<nom>/SKILL.md` (la disposition des exemples livrés). Les deux peuvent se mélanger ; tout autre fichier dans le répertoire d'un skill est ignoré. |
| 8 | |
| 9 | ```bash |
| 10 | cat > skills/go-test.md <<'EOF2' |
| 11 | --- |
| 12 | name: go-test |
| 13 | description: run the Go tests of the current module and report failures |
| 14 | --- |
| 15 | # Run the Go tests |
| 16 | |
| 17 | Run `go test ./...` with your `bash` tool, then report the failing packages, if any. |
| 18 | EOF2 |
| 19 | ``` |
| 20 | |
| 21 | 2. Donnez-lui un `name:` et une `description:` d'une ligne dans l'en-tête. La description est ce que le modèle lit dans la description de l'outil `read_skill` pour choisir un skill ; sans elle, il choisit à l'aveugle. |
| 22 | |
| 23 | 3. Relancez `mm`. Le catalogue est construit une fois au démarrage. Le compteur `skills: N` de la bannière augmente de un, et `read_skill` apparaît dans la liste `tools:` s'il en était absent. |
| 24 | |
| 25 | 4. Demandez la tâche dans le terminal. Le prompt système d'`agent.yaml` dit au modèle d'appeler `read_skill` d'abord pour toute demande qui correspond au catalogue ; une ligne `📖 read_skill: go-test` confirme qu'il l'a fait. |
| 26 | |
| 27 | ## Variantes |
| 28 | |
| 29 | - **Un autre répertoire.** Fixez `skillsDir` dans le YAML. Dans le terminal, un chemin relatif est résolu depuis le répertoire d'où vous lancez `mm`, donc un `mm` installé et lancé dans un projet charge les skills de ce projet ; en mode ACP avec un fichier de configuration, il est résolu à côté de ce fichier. La bannière affiche `[warning: no skills found in <chemin absolu> …]` quand le répertoire résolu ne donne rien. |
| 30 | - **Aucun skill.** Laissez le répertoire vide ou absent : `read_skill` n'est alors pas déclaré, et le modèle ne le voit jamais. |
| 31 | - **Les exemples livrés.** Le dépôt livre `skills/greetings/SKILL.md`, `skills/vulcan-salute/SKILL.md` et `skills/what-time-is-it/SKILL.md`. Lancez `mm` depuis la racine du dépôt et la bannière affiche `skills: 3`. |
| 32 | |
| 33 | ## Voir aussi |
| 34 | |
| 35 | - Les champs acceptés dans l'en-tête : [format d'un fichier de skill](../reference/skill-format.md) |
| 36 | - Ce que `read_skill` renvoie au modèle : [outils intégrés](../reference/tools.md) |