Tutoriels

Créer et utiliser des skills

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

Un skill est un ensemble d'instructions réutilisable qui enseigne à Bob un workflow spécialisé et répétable. Au lieu de retaper les mêmes règles de formatage ou la même liste de contrôle dans chaque prompt, tu définis le workflow une seule fois dans un fichier SKILL.md. Bob suit ensuite ces instructions chaque fois que le skill s'applique, que tu l'invoques directement ou que Bob l'active de lui-même.

Dans ce tutoriel, tu crées un skill qui ajoute des entrées à un fichier CHANGELOG.md en utilisant le format Keep a Changelog, en créant le fichier s'il n'existe pas encore. Tu invoques le skill explicitement avec une commande slash, puis tu effectues un deuxième changement et demandes à Bob de le journaliser sans nommer le skill, pour voir Bob l'activer automatiquement en se basant sur sa description.

Prérequis

Pour compléter ce tutoriel, tu as besoin de :

  • Si tu ne l'as pas encore, clone le code de démonstration Galaxium Travels.
git clone https://github.com/IBM/galaxium-travels

Créer un skill pour les entrées de changelog

Ouvrir l'interface de chat

Ouvre l'interface de chat de Bob en cliquant sur l'icône Bob à côté de la barre de navigation, ou utilise le raccourci Option + Command + B (macOS) ou Ctrl + Alt + B (Windows).

Passe en mode Agent en utilisant le sélecteur de mode dans l'interface de chat. Le mode Agent donne à Bob l'accès aux outils dont il a besoin pour activer les skills et modifier les fichiers.

Ouvrir les paramètres Skills

Il existe plusieurs façons de créer un skill dans Bob. Tu peux utiliser l'interface utilisateur (UI), ou utiliser la commande /create-skill dans le chat Bob pour une configuration guidée.

Dans ce tutoriel, tu utilises l'onglet Skills dans les paramètres de Bob pour créer un skill.

  1. Sous l'interface de chat, clique sur Bob Settings.
  2. Clique sur Skills dans la barre latérale gauche.
  3. Clique sur le bouton + pour créer un nouveau skill.

Ouvrir les paramètres

Remplir les détails du skill

Entre les valeurs suivantes dans le formulaire de création de skill :

ChampValeur
Skill Namechangelog-entry
DescriptionAdds 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.
Allow Bob to use this skillActivé
Scope & Locationgalaxium-travels

Le Skill Name est ce que tu tapes pour invoquer le skill directement, par exemple /changelog-entry. La Description est ce que Bob lit pour décider si le skill s'applique à une requête quand tu ne l'invoques pas par son nom.

Quand Allow Bob to use this skill est activé, Bob peut utiliser le skill de lui-même quand un prompt le requiert, ou tu l'invoques explicitement. Définir Scope & Location sur galaxium-travels enregistre le skill dans le répertoire .bob/skills/ du projet, afin que git le suive avec le code et que ton équipe puisse y accéder. Choisir Global (all workspaces) à la place enregistrerait le skill en dehors du dépôt dans ~/.bob/skills/.

Entre ce qui suit dans la zone de texte Skill Instructions :

---
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.
user-invocable: true
---

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.

Clique sur Create.

Bob enregistre le skill dans galaxium-travels/.bob/skills/changelog-entry/SKILL.md.

Invoquer le skill directement

Invoque le skill par son nom pour voir les instructions que Bob suit.

Effectuer un petit changement

Demande à Bob d'effectuer une petite modification à faible risque pour avoir quelque chose à journaliser :

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

Bob modifie README.md. Approuve la modification si demandé.

Journaliser le changement avec le skill

Dans l'interface de chat, tape /changelog-entry et appuie sur Entrée ou clique sur la suggestion /changelog-entry qui apparaît. Ensuite, entre le prompt suivant :

Add a changelog entry for this change.

Bob peut demander la permission d'utiliser les outils du skill et de modifier des fichiers. Approuve si demandé. Bob charge le skill changelog-entry, crée CHANGELOG.md puisque le projet n'en a pas, et ajoute une entrée qui suit le format défini dans le skill, similaire à :

## [Unreleased]

### Added

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

Vérifier l'entrée

Demande à Bob de te montrer le changelog.

Show me CHANGELOG.md

L'entrée correspond à l'entrée de changelog que Bob a générée à l'étape précédente.

Laisser Bob activer le skill automatiquement

Démarre une nouvelle fenêtre de tâche en cliquant sur le bouton + au-dessus de l'interface de chat.

Effectue un deuxième changement et demande à Bob de le journaliser sans mentionner le skill par son nom. Puisque tu as laissé Allow Bob to use this skill activé, Bob peut reconnaître à partir de la description du skill qu'il s'applique et l'activer de lui-même.

Effectuer un autre petit changement

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

Approuve la modification si demandé.

Demander à Bob de journaliser le changement, sans nommer le skill

Update the changelog for this edit.

Bob reconnaît que la requête correspond à la description du skill changelog-entry et l'active sans que tu tapes /changelog-entry. Si demandé, approuve les permissions du skill et de modification de fichiers. Bob ajoute une autre entrée dans le même format.

Vérifier l'entrée

Demande à Bob de te montrer le changelog.

Show me CHANGELOG.md

Avec ce paramètre activé, Bob active automatiquement les skills, y compris changelog-entry, chaque fois qu'ils s'appliquent, sans demander d'abord.

Gérer tes skills

L'onglet Skills dans les paramètres de Bob, où tu as créé changelog-entry, est aussi l'endroit où tu vois tous les skills disponibles dans le workspace actuel et global. Utilise-le pour vérifier les skills chargés du workspace, confirmer si un skill vient du projet (.bob/skills/) ou de l'emplacement global (~/.bob/skills/), et modifier ou supprimer un skill.

Nettoyer

Pour supprimer les fichiers créés dans ce tutoriel :

  1. Dans Bob Settings, clique sur Skills, puis supprime le skill changelog-entry.
  2. Supprime le répertoire galaxium-travels cloné dans les prérequis. Cela supprime également CHANGELOG.md et les modifications de README.md effectuées dans ce tutoriel.

Prochaines étapes

Dans ce tutoriel, tu as appris comment les skills te permettent de définir un workflow une fois et de le faire appliquer de manière cohérente par Bob, que tu invoques le skill explicitement avec /skill-name ou que tu laisses Bob l'activer automatiquement en se basant sur sa description.

Passe à Ajouter un mode personnalisé pour apprendre comment les modes personnalisés combinent une définition de rôle, des instructions de comportement et un accès aux outils dans un persona spécialisé pour un travail spécifique.

Comment trouvez-vous ce sujet ?