Crear y usar skills en Bob Shell
Crea un skill reutilizable que le enseñe a Bob Shell un flujo de trabajo repetible de entrada de changelog, luego invócalo explícitamente y deja que Bob lo active automáticamente.
Los skills de Bob Shell de IBM son conjuntos de instrucciones reutilizables, almacenados en un archivo SKILL.md, que le enseñan a Bob un flujo de trabajo repetible. En este tutorial, creas un skill changelog-entry que añade entradas con formato Keep a Changelog a CHANGELOG.md, lo ejecutas explícitamente con $changelog-entry, y luego observas cómo Bob lo activa automáticamente cuando un prompt coincide con la descripción del skill.
Los skills te evitan tener que volver a escribir las mismas reglas de formato o checklists en cada prompt. Defines el flujo de trabajo una vez y Bob lo sigue siempre que el skill sea aplicable.
Prerrequisitos
Bob Shell
Instala Bob Shell v2.x o posterior e inicia sesión.
Git
Necesitas Git para clonar el repositorio de ejemplo.
- Si aún no lo tienes, clona el código de demostración de Galaxium Travels.
git clone https://github.com/IBM/galaxium-travels - Aunque no es obligatorio, considera completar primero Iniciar un proyecto con /init y AGENTS.md y Escribir prompts efectivos para Bob Shell.
Crear un skill changelog-entry
Bob Shell carga skills desde carpetas que contienen un archivo SKILL.md. Los skills del proyecto residen en .bob/skills/ en la raíz del proyecto, por lo que Git los rastrea junto con la base de código y tu equipo puede utilizarlos. Los skills globales residen en ~/.bob/skills/ y se aplican a todos tus proyectos.
Crear la carpeta del skill
Cambia al directorio raíz de Galaxium Travels y crea una carpeta para el skill:
cd galaxium-travels
mkdir -p .bob/skills/changelog-entryEscribir el archivo SKILL.md
Crea .bob/skills/changelog-entry/SKILL.md con el siguiente contenido. Puedes usar cualquier editor de texto o ejecutar el comando tal como está escrito:
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.
EOFEl front matter define dos campos obligatorios:
name: El nombre del skill. Hazlo coincidir con el nombre de la carpeta, porque Bob Shell usa el nombre de la carpeta para referenciar el skill, por ejemplo$changelog-entry.description: Lo que Bob lee para decidir si el skill se aplica a una solicitud cuando no lo referencias por su nombre. Si lo omites, Bob usa la primera línea de las instrucciones en su lugar, así que escribe siempre una descripción clara.
Todo lo que está debajo del --- de cierre es el conjunto de instrucciones que Bob sigue cuando el skill se activa.
Iniciar Bob Shell
Inicia una sesión interactiva en el modo Agent desde el directorio raíz de Galaxium Travels:
bob chat --mode agentEl modo Agent le da a Bob el acceso a herramientas necesario para activar skills y editar archivos. Si Bob Shell te pregunta si confías en la carpeta, confía en la carpeta para que Bob pueda cargar los skills del proyecto.
Invocar el skill directamente
Haz referencia al skill por su nombre para que puedas ver las instrucciones que sigue Bob.
Editar README.md
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 muestra el cambio propuesto como un diff. Selecciona Approve para aplicar la edición.
Registrar el cambio con el skill
Escribe $ para abrir el selector de skills y luego selecciona changelog-entry. Bob Shell inserta la referencia al skill en tu prompt:
$changelog-entry Add a changelog entry for this change.Bob te pedirá permiso para usar el skill y para editar archivos. Aprueba cada solicitud. Bob carga el skill changelog-entry y crea CHANGELOG.md, ya que el proyecto no tiene ninguno. Luego, Bob añade una entrada similar a la siguiente:
## [Unreleased]
### Added
- Add "Powered by IBM Bob." note to the end of README.mdVerificar la primera entrada del changelog
Pídele a Bob que te muestre el changelog:
Show me @CHANGELOG.mdLa entrada coincide con la entrada del changelog que Bob generó en Registrar el cambio con el skill.
Dejar que Bob active el skill automáticamente
Realiza un segundo cambio y pídele a Bob que lo registre sin mencionar el skill por su nombre. Bob puede reconocer a partir de la descripción del skill que este es aplicable y activarlo por su cuenta.
Limpiar el historial de conversación
Introduce el slash command /clear para restablecer el historial de conversación, de modo que Bob no recuerde la referencia anterior al skill:
/clearRealizar una segunda edición en README.md
Pídele a Bob que realice una segunda edición:
Add a one-line comment above the main heading in README.md that says "Galaxium Travels".Aprueba la edición cuando se te solicite.
Registrar el cambio sin nombrar el skill
Pídele a Bob que registre el cambio sin nombrar el skill:
Add an entry to CHANGELOG.md in Keep a Changelog format.Bob reconoce que la solicitud coincide con la descripción del skill changelog-entry y lo activa sin una referencia $changelog-entry. Aprueba las solicitudes de permisos de skill y de edición de archivos cuando se te solicite. Bob añade otra entrada con el mismo formato.
Verificar ambas entradas del changelog
Pídele a Bob que te muestre el changelog:
Show me @CHANGELOG.mdEl changelog ahora contiene dos entradas bajo ## [Unreleased], similares a las siguientes:
## [Unreleased]
### Added
- Add "Powered by IBM Bob." note to the end of README.md
- Add "Galaxium Travels" comment above the main heading in README.mdGestionar tus skills
Cada skill es una carpeta en disco, por lo que gestionas los skills con tus herramientas de archivos habituales:
- Listar skills: Busca en
.bob/skills/para skills del proyecto y en~/.bob/skills/para skills globales. Si ambas ubicaciones contienen un skill con el mismo nombre, el skill del proyecto tiene prioridad. - Editar un skill: Edita su archivo
SKILL.md. También puedes añadir archivos de soporte, como plantillas o checklists, a la carpeta del skill. - Referenciar un skill: Escribe
$o introduce/skillsen Bob Shell para insertar una referencia a un skill en tu prompt.
Solución de problemas
El skill no aparece en el selector $
Confirma que la ruta del archivo sea .bob/skills/changelog-entry/SKILL.md, que el front matter incluya name y description, y que la carpeta sea de confianza. Para más detalles, consulta Carpetas de confianza. El nombre de la carpeta del skill debe estar en kebab-case en minúsculas, como changelog-entry. Bob omite carpetas con nombres no válidos sin mostrar un error. Reinicia Bob Shell después de añadir un skill.
Bob no activa el skill automáticamente
Bob compara las solicitudes con la description del skill. Reformula el prompt para usar palabras de la descripción o haz referencia al skill directamente con $changelog-entry.
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. Puedes referenciar un skill explícitamente con $<nombre-del-skill> o dejar que Bob lo active automáticamente según su descripción.
Para añadir plantillas y archivos de soporte a un skill, consulta Skills.
Para construir una persona especializada con su propio rol, instrucciones y acceso a herramientas, consulta Modos personalizados.