Creare e usare skill in Bob Shell
Crea una skill riutilizzabile che insegna a Bob Shell un workflow ripetibile per le voci del changelog, poi invocala esplicitamente e lascia che Bob la attivi automaticamente.
Le skill di Bob Shell di IBM sono set di istruzioni riutilizzabili, memorizzati in un file SKILL.md, che insegnano a Bob un workflow ripetibile. In questo tutorial crei una skill changelog-entry che aggiunge voci in formato Keep a Changelog a CHANGELOG.md, la esegui esplicitamente con $changelog-entry, poi osservi Bob attivarla automaticamente quando un prompt corrisponde alla descrizione della skill.
Le skill ti evitano di riscrivere le stesse regole di formattazione o checklist in ogni prompt. Definisci il workflow una volta, e Bob lo segue ogni volta che la skill si applica.
Prerequisiti
Bob Shell
Installa Bob Shell v2.x o versione successiva e accedi.
Git
Hai bisogno di Git per clonare il repository di esempio.
- Se non lo hai già, clona il codice demo Galaxium Travels.
git clone https://github.com/IBM/galaxium-travels - Pur non essendo obbligatorio, considera di completare prima Avviare un progetto con /init e AGENTS.md e Scrivere prompt efficaci per Bob Shell.
Creare una skill changelog-entry
Bob Shell carica le skill dalle cartelle che contengono un file SKILL.md. Le skill del progetto si trovano in .bob/skills/ nella radice del progetto, quindi Git le traccia insieme alla codebase e il tuo team può usarle. Le skill globali si trovano in ~/.bob/skills/ e si applicano a tutti i tuoi progetti.
Creare la cartella della skill
Passa alla directory radice di Galaxium Travels e crea una cartella per la skill:
cd galaxium-travels
mkdir -p .bob/skills/changelog-entryScrivere il file SKILL.md
Crea .bob/skills/changelog-entry/SKILL.md con il seguente contenuto. Puoi usare qualsiasi editor di testo, oppure eseguire il comando come scritto:
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.
EOFIl front matter definisce due campi obbligatori:
name: Il nome della skill. Deve corrispondere al nome della cartella, perché Bob Shell usa il nome della cartella per fare riferimento alla skill, ad esempio$changelog-entry.description: Ciò che Bob legge per decidere se la skill si applica a una richiesta quando non la si referenzia per nome. Se omesso, Bob usa la prima riga delle istruzioni, quindi scrivi sempre una descrizione chiara.
Tutto ciò che si trova dopo il delimitatore --- di chiusura è l'insieme delle istruzioni che Bob segue quando la skill viene attivata.
Avviare Bob Shell
Avvia una sessione interattiva in modalità Agent dalla directory radice di Galaxium Travels:
bob chat --mode agentLa modalità Agent dà a Bob l'accesso agli strumenti necessari per attivare skill e modificare file. Se Bob Shell chiede se ti fidi della cartella, fidati della cartella in modo che Bob possa caricare le skill del progetto.
Invocare la skill direttamente
Fai riferimento alla skill per nome in modo da vedere le istruzioni che Bob segue.
Modificare README.md
Chiedi a Bob di fare una piccola modifica a basso rischio in modo da avere qualcosa da registrare:
Add a one-line note to the end of the README.md that says "Powered by IBM Bob."Bob mostra la modifica proposta come diff. Seleziona Approve per applicare la modifica.
Registrare la modifica con la skill
Digita $ per aprire il selettore di skill, poi seleziona changelog-entry. Bob Shell inserisce il riferimento alla skill nel tuo prompt:
$changelog-entry Add a changelog entry for this change.Bob chiede il permesso di usare la skill e di modificare i file. Approva ogni richiesta. Bob carica la skill changelog-entry e crea CHANGELOG.md, poiché il progetto non ne ha uno. Bob aggiunge poi una voce simile alla seguente:
## [Unreleased]
### Added
- Add "Powered by IBM Bob." note to the end of README.mdVerificare la prima voce del changelog
Chiedi a Bob di mostrarti il changelog:
Show me @CHANGELOG.mdLa voce corrisponde a quella generata da Bob in Registrare la modifica con la skill.
Lasciare che Bob attivi la skill automaticamente
Fai una seconda modifica e chiedi a Bob di registrarla senza menzionare la skill per nome. Bob può riconoscere dalla descrizione della skill che si applica e attivarla da solo.
Cancellare la cronologia della conversazione
Inserisci lo slash command /clear per azzerare la cronologia della conversazione, in modo che Bob non abbia memoria del precedente riferimento alla skill:
/clearFare una seconda modifica a README.md
Chiedi a Bob di fare una seconda modifica:
Add a one-line comment above the main heading in README.md that says "Galaxium Travels".Approva la modifica quando richiesto.
Registrare la modifica senza nominare la skill
Chiedi a Bob di registrare la modifica senza nominare la skill:
Add an entry to CHANGELOG.md in Keep a Changelog format.Bob riconosce che la richiesta corrisponde alla descrizione della skill changelog-entry e la attiva senza un riferimento $changelog-entry. Approva le richieste della skill e di modifica dei file quando richiesto. Bob aggiunge un'altra voce nello stesso formato.
Verificare entrambe le voci del changelog
Chiedi a Bob di mostrarti il changelog:
Show me @CHANGELOG.mdIl changelog ora contiene due voci sotto ## [Unreleased], simili alle seguenti:
## [Unreleased]
### Added
- Add "Powered by IBM Bob." note to the end of README.md
- Add "Galaxium Travels" comment above the main heading in README.mdGestire le tue skill
Ogni skill è una cartella su disco, quindi gestisci le skill con i tuoi strumenti file abituali:
- Elencare le skill: Cerca in
.bob/skills/per le skill del progetto e~/.bob/skills/per le skill globali. Se entrambe le posizioni contengono una skill con lo stesso nome, la skill del progetto ha la precedenza. - Modificare una skill: Modifica il suo file
SKILL.md. Puoi anche aggiungere file di supporto, come template o checklist, alla cartella della skill. - Fare riferimento a una skill: Digita
$oppure inserisci/skillsin Bob Shell per inserire un riferimento alla skill nel tuo prompt.
Risoluzione dei problemi
La skill non appare nel selettore $
Verifica che il percorso del file sia .bob/skills/changelog-entry/SKILL.md, che il front matter includa name e description, e che la cartella sia affidabile. Per i dettagli, consulta Cartelle affidabili. Il nome della cartella della skill deve essere in formato kebab-case minuscolo, come changelog-entry. Bob ignora le cartelle con nomi non validi senza mostrare un errore. Riavvia Bob Shell dopo aver aggiunto una skill.
Bob non attiva la skill automaticamente
Bob abbina le richieste alla description della skill. Riformula il prompt usando parole presenti nella descrizione, oppure fai riferimento alla skill direttamente con $changelog-entry.
Passi successivi
In questo tutorial hai imparato come le skill ti permettono di definire un workflow una volta e avere Bob che lo applica in modo coerente. Puoi fare riferimento a una skill esplicitamente con $<nome-skill> oppure lasciare che Bob la attivi automaticamente in base alla sua descrizione.
Per aggiungere template e file di supporto a una skill, consulta Skill.
Per creare una persona specializzata con il proprio ruolo, istruzioni e accesso agli strumenti, consulta Modalità personalizzate.