Tworzenie i używanie skilli w Bob Shell
Utwórz wielokrotnie używalny skill uczący Bob Shell powtarzalnego przepływu pracy changelog-entry, a następnie wywołaj go jawnie i pozwól Bobowi aktywować go automatycznie.
Skille Bob Shell to wielokrotnie używalne zestawy instrukcji przechowywane w pliku SKILL.md, które uczą Boba powtarzalnego przepływu pracy. W tym samouczku budujesz skill changelog-entry dodający wpisy w formacie Keep a Changelog do CHANGELOG.md, uruchamiasz go jawnie za pomocą $changelog-entry, a następnie obserwujesz, jak Bob aktywuje go automatycznie, gdy prompt pasuje do opisu skilla.
Skille oszczędzają ci przepisywania tych samych reguł formatowania lub list kontrolnych w każdym prompcie. Definiujesz przepływ pracy raz, a Bob stosuje go za każdym razem, gdy skill ma zastosowanie.
Wymagania wstępne
Bob Shell
Zainstaluj Bob Shell w wersji 2.x lub nowszej i zaloguj się.
Git
Potrzebujesz Git do sklonowania przykładowego repozytorium.
- Jeśli jeszcze tego nie zrobiłeś, sklonuj demo kod Galaxium Travels.
git clone https://github.com/IBM/galaxium-travels - Choć nie jest to wymagane, rozważ wcześniejsze ukończenie Rozpocznij projekt z /init i AGENTS.md i Pisanie skutecznych promptów dla Bob Shell.
Utwórz skill changelog-entry
Bob Shell ładuje skille z folderów zawierających plik SKILL.md. Skille projektu znajdują się w .bob/skills/ w katalogu głównym projektu, więc Git śledzi je razem z bazą kodu, a twój zespół może z nich korzystać. Skille globalne znajdują się w ~/.bob/skills/ i dotyczą wszystkich twoich projektów.
Utwórz folder skilla
Przejdź do katalogu głównego Galaxium Travels i utwórz folder dla skilla:
cd galaxium-travels
mkdir -p .bob/skills/changelog-entryNapisz plik SKILL.md
Utwórz .bob/skills/changelog-entry/SKILL.md z następującą zawartością. Możesz użyć dowolnego edytora tekstu lub uruchomić polecenie w podanej formie:
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.
locale: pl
---
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.
EOFFront matter definiuje dwa wymagane pola:
name: Nazwa skilla. Dopasuj ją do nazwy folderu, ponieważ Bob Shell używa nazwy folderu do odwoływania się do skilla, na przykład$changelog-entry.description: To, co Bob czyta, aby zdecydować, czy skill dotyczy żądania, gdy nie odwołujesz się do niego po nazwie. Jeśli go pominiesz, Bob użyje pierwszej linii instrukcji zamiast tego, więc zawsze pisz wyraźny opis.
Wszystko poniżej zamykającego --- to zestaw instrukcji, które Bob stosuje po aktywacji skilla.
Uruchom Bob Shell
Uruchom sesję interaktywną w trybie Agent z katalogu głównego Galaxium Travels:
bob chat --mode agentTryb Agent daje Bobowi dostęp do narzędzi potrzebnych do aktywowania skilli i edytowania plików. Jeśli Bob Shell zapyta, czy ufasz folderowi, zaufaj folderowi, aby Bob mógł załadować skille projektu.
Wywołaj skill bezpośrednio
Odwołaj się do skilla po nazwie, aby zobaczyć instrukcje, które Bob stosuje.
Edytuj README.md
Poproś Boba o dokonanie małej, bezpiecznej edycji, abyś miał coś do zalogowania:
Add a one-line note to the end of the README.md that says "Powered by IBM Bob."Bob pokazuje proponowaną zmianę jako diff. Wybierz Approve, aby zastosować edycję.
Zaloguj zmianę za pomocą skilla
Wpisz $, aby otworzyć selektor skilli, a następnie wybierz changelog-entry. Bob Shell wstawia odwołanie do skilla do twojego promptu:
$changelog-entry Add a changelog entry for this change.Bob prosi o pozwolenie na użycie skilla i edytowanie plików. Zatwierdź każde żądanie. Bob ładuje skill changelog-entry i tworzy CHANGELOG.md, ponieważ projekt go nie posiada. Bob następnie dodaje wpis podobny do następującego:
## [Unreleased]
### Added
- Add "Powered by IBM Bob." note to the end of README.mdZweryfikuj pierwszy wpis do changelogu
Poproś Boba o pokazanie changelogu:
Show me @CHANGELOG.mdWpis odpowiada wpisowi do changelogu wygenerowanemu przez Boba w Zaloguj zmianę za pomocą skilla.
Pozwól Bobowi aktywować skill automatycznie
Dokonaj drugiej zmiany i poproś Boba o jej zalogowanie bez podawania nazwy skilla. Bob może rozpoznać z opisu skilla, że ma zastosowanie, i aktywować go samodzielnie.
Wyczyść historię rozmowy
Wprowadź polecenie ukośnikowe /clear, aby zresetować historię rozmowy, tak żeby Bob nie pamiętał poprzedniego odwołania do skilla:
/clearDokonaj drugiej edycji README.md
Poproś Boba o dokonanie drugiej edycji:
Add a one-line comment above the main heading in README.md that says "Galaxium Travels".Zatwierdź edycję, gdy zostaniesz o to poproszony.
Zaloguj zmianę bez podawania nazwy skilla
Poproś Boba o zalogowanie zmiany bez podawania nazwy skilla:
Add an entry to CHANGELOG.md in Keep a Changelog format.Bob rozpoznaje, że żądanie pasuje do opisu skilla changelog-entry i aktywuje go bez odwołania $changelog-entry. Zatwierdź żądania skilla i edycji pliku, gdy zostaniesz o to poproszony. Bob dodaje kolejny wpis w tym samym formacie.
Zweryfikuj oba wpisy do changelogu
Poproś Boba o pokazanie changelogu:
Show me @CHANGELOG.mdChangelog zawiera teraz dwa wpisy w sekcji ## [Unreleased], podobne do następujących:
## [Unreleased]
### Added
- Add "Powered by IBM Bob." note to the end of README.md
- Add "Galaxium Travels" comment above the main heading in README.mdZarządzaj swoimi skillami
Każdy skill to folder na dysku, więc zarządzasz skillami za pomocą zwykłych narzędzi do plików:
- Listuj skille: Zajrzyj do
.bob/skills/dla skilli projektu i~/.bob/skills/dla skilli globalnych. Jeśli oba miejsca zawierają skill o tej samej nazwie, skill projektu ma pierwszeństwo. - Edytuj skill: Edytuj jego plik
SKILL.md. Możesz też dodawać pliki pomocnicze, takie jak szablony lub listy kontrolne, do folderu skilla. - Odwołaj się do skilla: Wpisz
$lub wprowadź/skillsw Bob Shell, aby wstawić odwołanie do skilla do swojego promptu.
Rozwiązywanie problemów
Skill nie pojawia się w selektorze $
Potwierdź, że ścieżka pliku to .bob/skills/changelog-entry/SKILL.md, front matter zawiera name i description, a folder jest zaufany. Szczegóły znajdziesz w Zaufane foldery. Nazwa folderu skilla musi być w formacie lowercase kebab-case, na przykład changelog-entry. Bob pomija foldery z nieprawidłowymi nazwami bez pokazywania błędu. Uruchom ponownie Bob Shell po dodaniu skilla.
Bob nie aktywuje skilla automatycznie
Bob dopasowuje żądania do description skilla. Przepisz prompt, używając słów z opisu, lub odwołaj się do skilla bezpośrednio za pomocą $changelog-entry.
Następne kroki
W tym samouczku nauczyłeś się, jak skille pozwalają definiować przepływ pracy raz i mieć pewność, że Bob stosuje go konsekwentnie. Możesz odwołać się do skilla jawnie za pomocą $<nazwa-skilla> lub pozwolić Bobowi aktywować go automatycznie na podstawie jego opisu.
Aby dodać szablony i pliki pomocnicze do skilla, zapoznaj się z Skille.
Aby zbudować wyspecjalizowaną personę z własną rolą, instrukcjami i dostępem do narzędzi, zapoznaj się z Niestandardowe tryby.