Tutoriales

Crear y usar skills

Crea un skill reutilizable que enseña a Bob un flujo de trabajo repetible para entradas de changelog, luego invócalo explícitamente y deja que Bob lo active automáticamente.

Un skill es un conjunto de instrucciones reutilizable que enseña a Bob un flujo de trabajo especializado y repetible. En lugar de volver a escribir las mismas reglas de formato o lista de verificación en cada prompt, defines el flujo de trabajo una vez en un archivo SKILL.md. Bob sigue esas instrucciones siempre que el skill aplique, ya sea que lo invoques directamente o que Bob lo active por sí solo.

En este tutorial, creas un skill que añade entradas a un archivo CHANGELOG.md usando el formato Keep a Changelog, creando el archivo si aún no existe. Invocas el skill explícitamente con un comando de barra, luego haces un segundo cambio y le pides a Bob que lo registre sin nombrar el skill, para ver cómo Bob lo activa automáticamente basándose en su descripción.

Requisitos previos

Para completar este tutorial, necesitas lo siguiente:

  • Si aún no lo tienes, clona el código de demostración Galaxium Travels.
git clone https://github.com/IBM/galaxium-travels

Crear un skill para entradas de changelog

Abrir la interfaz de chat

Abre la interfaz de chat de Bob haciendo clic en el icono de Bob junto a la barra de navegación, o usa el atajo Option + Command + B (macOS) o Ctrl + Alt + B (Windows).

Cambia al modo Agent usando el selector de modo en la interfaz de chat. El modo Agent le da a Bob el acceso a herramientas que necesita para activar skills y editar archivos.

Abrir la configuración de Skills

Hay varias formas de crear un skill en Bob. Puedes usar la interfaz de usuario (UI) o el comando /create-skill en el chat de Bob para una configuración guiada.

En este tutorial, usas la pestaña Skills en la configuración de Bob para crear un skill.

  1. Debajo de la interfaz de chat, haz clic en Bob Settings.
  2. Haz clic en Skills en la barra lateral izquierda.
  3. Haz clic en el botón + para crear un nuevo skill.

Abrir configuración

Completar los detalles del skill

Ingresa los siguientes valores en el formulario de creación de skills:

CampoValor
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 skillActivado
Scope & Locationgalaxium-travels

El Skill Name es lo que escribes para invocar el skill directamente, por ejemplo /changelog-entry. La Description es lo que Bob lee para decidir si el skill aplica a una solicitud cuando no lo invocas por nombre.

Cuando Allow Bob to use this skill está activado, Bob puede usar el skill por su cuenta cuando un prompt lo requiere, o puedes invocarlo explícitamente. Configurar Scope & Location como galaxium-travels guarda el skill en el directorio .bob/skills/ del proyecto, de modo que git lo rastrea junto con el código y tu equipo puede acceder a él. Elegir Global (all workspaces) en su lugar guardaría el skill fuera del repositorio en ~/.bob/skills/.

Ingresa lo siguiente en el cuadro de texto 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.

Haz clic en Create.

Bob guarda el skill en galaxium-travels/.bob/skills/changelog-entry/SKILL.md.

Invocar el skill directamente

Invoca el skill por nombre para que puedas ver las instrucciones que sigue Bob.

Hacer un pequeño cambio

Pídele a Bob que haga una edición pequeña y de bajo riesgo para tener algo que registrar:

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

Bob edita README.md. Aprueba la edición si se te solicita.

Registrar el cambio con el skill

En la interfaz de chat, escribe /changelog-entry y presiona Enter o haz clic en la sugerencia /changelog-entry que aparece. Luego, ingresa el siguiente prompt:

Add a changelog entry for this change.

Bob puede pedir permiso para usar herramientas del skill y editar archivos. Aprueba si se te solicita. Bob carga el skill changelog-entry, crea CHANGELOG.md ya que el proyecto no tiene uno, y añade una entrada que sigue el formato definido en el skill, similar a:

## [Unreleased]

### Added

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

Verificar la entrada

Pídele a Bob que te muestre el changelog.

Show me CHANGELOG.md

La entrada coincide con la entrada del changelog que Bob generó en el paso anterior.

Dejar que Bob active el skill automáticamente

Inicia una nueva ventana de tarea haciendo clic en el botón + sobre la interfaz de chat.

Haz un segundo cambio y pídele a Bob que lo registre sin mencionar el skill por nombre. Debido a que dejaste Allow Bob to use this skill activado, Bob puede reconocer a partir de la descripción del skill que aplica y activarlo por su cuenta.

Hacer otro pequeño cambio

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

Aprueba la edición si se te solicita.

Pedirle a Bob que registre el cambio, sin nombrar el skill

Update the changelog for this edit.

Bob reconoce que la solicitud coincide con la descripción del skill changelog-entry y lo activa sin que escribas /changelog-entry. Si se te solicita, aprueba los permisos del skill y de edición de archivos. Bob añade otra entrada en el mismo formato.

Verificar la entrada

Pídele a Bob que te muestre el changelog.

Show me CHANGELOG.md

Con esta configuración activada, Bob activa automáticamente los skills, incluido changelog-entry, siempre que apliquen, sin preguntar primero.

Gestionar tus skills

La pestaña Skills en la configuración de Bob, donde creaste changelog-entry, es también donde puedes ver todos los skills disponibles en el workspace actual y global. Úsala para revisar los skills cargados del workspace, confirmar si un skill proviene del proyecto (.bob/skills/) o de la ubicación global (~/.bob/skills/), y editar o eliminar un skill.

Limpiar

Para eliminar los archivos creados en este tutorial:

  1. En Bob Settings, haz clic en Skills y luego elimina el skill changelog-entry.
  2. Elimina el directorio galaxium-travels clonado en los requisitos previos. Esto también elimina CHANGELOG.md y las ediciones de README.md realizadas en este tutorial.

Próximos pasos

En este tutorial, aprendiste cómo los skills te permiten definir un flujo de trabajo una vez y hacer que Bob lo aplique de manera consistente, ya sea que invoques el skill explícitamente con /skill-name o dejes que Bob lo active automáticamente basándose en su descripción.

Avanza a Añadir un modo personalizado para aprender cómo los modos personalizados combinan una definición de rol, instrucciones de comportamiento y acceso a herramientas en una persona especializada para un trabajo específico.

¿Cómo es este tema?