Créer et utiliser des skills dans Bob Shell

Crée un skill réutilisable qui enseigne à Bob Shell un workflow répétable d'entrée de changelog, puis invoque-le explicitement et laisse Bob l'activer automatiquement.

Les skills Bob Shell d'IBM sont des ensembles d'instructions réutilisables, stockés dans un fichier SKILL.md, qui enseignent à Bob un workflow répétable. Dans ce tutoriel, tu construis un skill changelog-entry qui ajoute des entrées Keep a Changelog à CHANGELOG.md, tu l'exécutes explicitement avec $changelog-entry, puis tu regardes Bob l'activer automatiquement quand un prompt correspond à la description du skill.

Les skills t'évitent de retaper les mêmes règles de formatage ou listes de contrôle dans chaque prompt. Tu définis le workflow une fois, et Bob le suit chaque fois que le skill s'applique.

Prérequis

Créer un skill changelog-entry

Bob Shell charge les skills depuis des dossiers qui contiennent un fichier SKILL.md. Les skills de projet se trouvent dans .bob/skills/ à la racine du projet, de sorte que Git les suit avec la base de code et ton équipe peut les utiliser. Les skills globaux se trouvent dans ~/.bob/skills/ et s'appliquent à tous tes projets.

Créer le dossier du skill

Accède au répertoire racine de Galaxium Travels et crée un dossier pour le skill :

cd galaxium-travels
mkdir -p .bob/skills/changelog-entry

Écrire le fichier SKILL.md

Crée .bob/skills/changelog-entry/SKILL.md avec le contenu suivant. Tu peux utiliser n'importe quel éditeur de texte, ou exécuter la commande telle quelle :

cat > .bob/skills/changelog-entry/SKILL.md <<'EOF'
---
name: changelog-entry
description: Adds an entry to CHANGELOG.md using the Keep a Changelog format, creating the file if it does not exist, so change history stays consistent and release-ready.
---

Add an entry to CHANGELOG.md using the Keep a Changelog format (https://keepachangelog.com/).

- If CHANGELOG.md does not exist, create it at the project root with this structure before adding an entry:

  # Changelog

  All notable changes to this project are documented in this file.
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).

  ## [Unreleased]

- Add new entries under the `## [Unreleased]` section, under one of these subheadings: `### Added`, `### Changed`, `### Fixed`, `### Removed`. Create the subheading if it is not already present under `## [Unreleased]`.
- Write each entry as a single bullet point in the imperative mood ("Add", not "Added"), starting with a capital letter, with no trailing period.
- Base the entry on the actual diff, not on the wording of the request. Run `git diff` to review what changed before writing the entry.
- Only edit CHANGELOG.md. Do not stage or commit the change.
EOF

Le front matter définit deux champs obligatoires :

  • name : Le nom du skill. Fais-le correspondre au nom du dossier, car Bob Shell utilise le nom du dossier pour référencer le skill, par exemple $changelog-entry.
  • description : Ce que Bob lit pour décider si le skill s'applique à une demande quand tu ne le références pas par son nom. Si tu l'omets, Bob utilise la première ligne des instructions à la place — écris donc toujours une description claire.

Tout ce qui se trouve sous le --- de fermeture est l'ensemble des instructions que Bob suit quand le skill s'active.

Démarrer Bob Shell

Démarre une session interactive en mode Agent depuis le répertoire racine de Galaxium Travels :

bob chat --mode agent

Le mode Agent donne à Bob l'accès aux outils dont il a besoin pour activer les skills et modifier des fichiers. Si Bob Shell demande si tu fais confiance au dossier, fais-lui confiance pour que Bob puisse charger les skills du projet.

Invoquer le skill directement

Référence le skill par son nom pour pouvoir voir les instructions que Bob suit.

Modifier README.md

Demande à Bob de faire une petite modification peu risquée pour avoir quelque chose à enregistrer :

Add a one-line note to the end of the README.md that says "Powered by IBM Bob."

Bob affiche le changement proposé sous forme de diff. Sélectionne Approve pour appliquer la modification.

Enregistrer le changement avec le skill

Tape $ pour ouvrir le sélecteur de skills, puis sélectionne changelog-entry. Bob Shell insère la référence du skill dans ton prompt :

$changelog-entry Add a changelog entry for this change.

Bob demande la permission d'utiliser le skill et de modifier des fichiers. Approuve chaque demande. Bob charge le skill changelog-entry et crée CHANGELOG.md, car le projet n'en a pas. Bob ajoute ensuite une entrée similaire à la suivante :

## [Unreleased]

### Added

- Add "Powered by IBM Bob." note to the end of README.md

Vérifier la première entrée du changelog

Demande à Bob de te montrer le changelog :

Show me @CHANGELOG.md

L'entrée correspond à l'entrée du changelog que Bob a générée dans Enregistrer le changement avec le skill.

Laisser Bob activer le skill automatiquement

Fais une deuxième modification et demande à Bob de l'enregistrer sans mentionner le skill par son nom. Bob peut reconnaître à partir de la description du skill qu'il s'applique et l'activer de lui-même.

Effacer l'historique de la conversation

Saisis la commande slash /clear pour réinitialiser l'historique de la conversation, afin que Bob n'ait aucun souvenir de la référence au skill précédent :

/clear

Faire une deuxième modification de README.md

Demande à Bob de faire une deuxième modification :

Add a one-line comment above the main heading in README.md that says "Galaxium Travels".

Approuve la modification quand on te le demande.

Enregistrer le changement sans nommer le skill

Demande à Bob d'enregistrer le changement sans nommer le skill :

Add an entry to CHANGELOG.md in Keep a Changelog format.

Bob reconnaît que la demande correspond à la description du skill changelog-entry et l'active sans référence $changelog-entry. Approuve les demandes de skill et de modification de fichiers quand on te le demande. Bob ajoute une autre entrée dans le même format.

Vérifier les deux entrées du changelog

Demande à Bob de te montrer le changelog :

Show me @CHANGELOG.md

Le changelog contient maintenant deux entrées sous ## [Unreleased], similaires à ce qui suit :

## [Unreleased]

### Added

- Add "Powered by IBM Bob." note to the end of README.md
- Add "Galaxium Travels" comment above the main heading in README.md

Gérer tes skills

Chaque skill est un dossier sur le disque, donc tu gères les skills avec tes outils de fichiers habituels :

  • Lister les skills : Regarde dans .bob/skills/ pour les skills de projet et ~/.bob/skills/ pour les skills globaux. Si les deux emplacements contiennent un skill avec le même nom, le skill de projet a la priorité.
  • Modifier un skill : Modifie son fichier SKILL.md. Tu peux aussi ajouter des fichiers de support, comme des templates ou des listes de contrôle, dans le dossier du skill.
  • Référencer un skill : Tape $ ou saisis /skills dans Bob Shell pour insérer une référence de skill dans ton prompt.

Dépannage

Le skill n'apparaît pas dans le sélecteur $

Confirme que le chemin du fichier est .bob/skills/changelog-entry/SKILL.md, que le front matter inclut name et description, et que le dossier est de confiance. Pour les détails, consulte Dossiers de confiance. Le nom du dossier du skill doit être en kebab-case minuscules, comme changelog-entry. Bob ignore les dossiers avec des noms invalides sans afficher d'erreur. Redémarre Bob Shell après avoir ajouté un skill.

Bob n'active pas le skill automatiquement

Bob fait correspondre les demandes avec la description du skill. Reformule le prompt pour utiliser des mots de la description, ou référence le skill directement avec $changelog-entry.

Prochaines étapes

Dans ce tutoriel, tu as appris comment les skills te permettent de définir un workflow une fois et de faire en sorte que Bob l'applique de manière cohérente. Tu peux référencer un skill explicitement avec $<skill-name> ou laisser Bob l'activer automatiquement en fonction de sa description.

Pour ajouter des templates et des fichiers de support à un skill, consulte Skills.

Pour créer une persona spécialisée avec son propre rôle, ses instructions et son accès aux outils, consulte Modes personnalisés.

Comment trouvez-vous ce sujet ?