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

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-entry

Napisz 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.
EOF

Front 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 agent

Tryb 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.md

Zweryfikuj pierwszy wpis do changelogu

Poproś Boba o pokazanie changelogu:

Show me @CHANGELOG.md

Wpis 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:

/clear

Dokonaj 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.md

Changelog 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.md

Zarzą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ź /skills w 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.

Jak oceniasz ten temat?