Buat dan gunakan skill di Bob Shell

Buat skill yang dapat digunakan kembali yang mengajarkan Bob Shell alur kerja changelog-entry yang berulang, lalu aktifkan secara eksplisit dan biarkan Bob mengaktifkannya secara otomatis.

Skill Bob Shell IBM adalah set instruksi yang dapat digunakan kembali, disimpan dalam file SKILL.md, yang mengajarkan Bob alur kerja yang berulang. Dalam tutorial ini, kamu membangun skill changelog-entry yang menambahkan entri Keep a Changelog ke CHANGELOG.md, menjalankannya secara eksplisit dengan $changelog-entry, kemudian mengamati Bob mengaktifkannya secara otomatis ketika prompt cocok dengan deskripsi skill.

Skill menghemat waktu dari mengetik ulang aturan format atau checklist yang sama di setiap prompt. Kamu mendefinisikan alur kerja sekali, dan Bob mengikutinya setiap kali skill berlaku.

Prasyarat

Buat skill changelog-entry

Bob Shell memuat skill dari folder yang berisi file SKILL.md. Skill proyek disimpan di .bob/skills/ di root proyek, sehingga Git melacaknya bersama codebase dan timmu dapat menggunakannya. Skill global disimpan di ~/.bob/skills/ dan berlaku untuk semua proyekmu.

Buat folder skill

Pindah ke direktori root Galaxium Travels dan buat folder untuk skill:

cd galaxium-travels
mkdir -p .bob/skills/changelog-entry

Tulis file SKILL.md

Buat .bob/skills/changelog-entry/SKILL.md dengan konten berikut. Kamu dapat menggunakan editor teks apa pun, atau jalankan perintah seperti yang tertulis:

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

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 mendefinisikan dua field wajib:

  • name: Nama skill. Sesuaikan dengan nama folder, karena Bob Shell menggunakan nama folder untuk mereferensikan skill, misalnya $changelog-entry.
  • description: Yang dibaca Bob untuk memutuskan apakah skill berlaku untuk permintaan ketika kamu tidak mereferensikannya berdasarkan nama. Jika kamu menghilangkannya, Bob menggunakan baris pertama instruksi sebagai gantinya, jadi selalu tulis deskripsi yang jelas.

Semua yang berada di bawah penutup --- adalah set instruksi yang diikuti Bob saat skill diaktifkan.

Mulai Bob Shell

Mulai sesi interaktif dalam mode Agent dari direktori root Galaxium Travels:

bob chat --mode agent

Mode Agent memberikan Bob akses tool yang dibutuhkan untuk mengaktifkan skill dan mengedit file. Jika Bob Shell bertanya apakah kamu mempercayai folder tersebut, percayai folder tersebut agar Bob dapat memuat skill proyek.

Aktifkan skill secara langsung

Referensikan skill berdasarkan nama agar kamu dapat melihat instruksi yang diikuti Bob.

Edit README.md

Minta Bob untuk membuat pengeditan kecil yang berisiko rendah agar kamu memiliki sesuatu untuk dicatat:

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

Bob menampilkan perubahan yang diusulkan sebagai diff. Pilih Approve untuk menerapkan pengeditan.

Catat perubahan dengan skill

Ketik $ untuk membuka pemilih skill, lalu pilih changelog-entry. Bob Shell menyisipkan referensi skill ke promptmu:

$changelog-entry Add a changelog entry for this change.

Bob meminta izin untuk menggunakan skill dan mengedit file. Setujui setiap permintaan. Bob memuat skill changelog-entry dan membuat CHANGELOG.md, karena proyek belum memilikinya. Bob kemudian menambahkan entri seperti berikut:

## [Unreleased]

### Added

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

Verifikasi entri changelog pertama

Minta Bob untuk menampilkan changelog:

Show me @CHANGELOG.md

Entri tersebut cocok dengan entri changelog yang dihasilkan Bob di Catat perubahan dengan skill.

Biarkan Bob mengaktifkan skill secara otomatis

Buat perubahan kedua dan minta Bob untuk mencatatnya tanpa menyebut nama skill. Bob dapat mengenali dari deskripsi skill bahwa skill tersebut berlaku dan mengaktifkannya sendiri.

Hapus riwayat percakapan

Masukkan slash command /clear untuk mereset riwayat percakapan, agar Bob tidak memiliki memori referensi skill sebelumnya:

/clear

Buat pengeditan README.md kedua

Minta Bob untuk membuat pengeditan kedua:

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

Setujui pengeditan saat diminta.

Catat perubahan tanpa menyebut nama skill

Minta Bob untuk mencatat perubahan tanpa menyebut nama skill:

Add an entry to CHANGELOG.md in Keep a Changelog format.

Bob mengenali bahwa permintaan tersebut cocok dengan deskripsi skill changelog-entry dan mengaktifkannya tanpa referensi $changelog-entry. Setujui permintaan skill dan pengeditan file saat diminta. Bob menambahkan entri lain dalam format yang sama.

Verifikasi kedua entri changelog

Minta Bob untuk menampilkan changelog:

Show me @CHANGELOG.md

Changelog kini berisi dua entri di bawah ## [Unreleased], seperti berikut:

## [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

Kelola skillmu

Setiap skill adalah folder di disk, jadi kamu mengelola skill dengan tool file biasa:

  • Daftar skill: Lihat di .bob/skills/ untuk skill proyek dan ~/.bob/skills/ untuk skill global. Jika kedua lokasi berisi skill dengan nama yang sama, skill proyek yang diprioritaskan.
  • Edit skill: Edit file SKILL.md-nya. Kamu juga dapat menambahkan file pendukung, seperti template atau checklist, ke folder skill.
  • Referensikan skill: Ketik $ atau masukkan /skills di Bob Shell untuk menyisipkan referensi skill ke promptmu.

Pemecahan masalah

Skill tidak muncul di pemilih $

Konfirmasikan bahwa path file adalah .bob/skills/changelog-entry/SKILL.md, front matter menyertakan name dan description, dan folder dipercaya. Untuk detailnya, lihat Folder yang dipercaya. Nama folder skill harus berupa kebab-case huruf kecil, seperti changelog-entry. Bob melewati folder dengan nama yang tidak valid tanpa menampilkan error. Restart Bob Shell setelah kamu menambahkan skill.

Bob tidak mengaktifkan skill secara otomatis

Bob mencocokkan permintaan dengan description skill. Ubah frasa prompt untuk menggunakan kata-kata dari deskripsi, atau referensikan skill secara langsung dengan $changelog-entry.

Langkah berikutnya

Dalam tutorial ini, kamu telah mempelajari bagaimana skill memungkinkan kamu mendefinisikan alur kerja sekali dan membuat Bob menerapkannya secara konsisten. Kamu dapat mereferensikan skill secara eksplisit dengan $<nama-skill> atau membiarkan Bob mengaktifkannya secara otomatis berdasarkan deskripsinya.

Untuk menambahkan template dan file pendukung ke skill, lihat Skill.

Untuk membangun persona khusus dengan peran, instruksi, dan akses tool sendiri, lihat Mode kustom.

Bagaimana topik ini?