Bob Shell'de Skill Oluşturma ve Kullanma

Bob Shell'e tekrarlanabilir bir changelog-entry iş akışı öğreten yeniden kullanılabilir bir skill oluştur, ardından onu açıkça çağır ve Bob'un otomatik olarak etkinleştirmesini izle.

IBM Bob Shell skill'leri, Bob'a tekrarlanabilir bir iş akışı öğreten ve SKILL.md dosyasında saklanan yeniden kullanılabilir talimat setleridir. Bu eğitimde, CHANGELOG.md dosyasına Keep a Changelog girdileri ekleyen bir changelog-entry skill'i oluşturuyorsun, $changelog-entry ile açıkça çalıştırıyorsun, ardından bir prompt skill'in açıklamasıyla eşleştiğinde Bob'un onu otomatik olarak etkinleştirmesini izliyorsun.

Skill'ler, her prompt'ta aynı biçimlendirme kurallarını veya kontrol listesini yeniden yazmaktan seni kurtarır. İş akışını bir kez tanımlarsın ve Bob, skill geçerli olduğunda onu takip eder.

Ön koşullar

Changelog-entry skill'i oluşturma

Bob Shell, SKILL.md dosyası içeren klasörlerden skill'leri yükler. Proje skill'leri proje kökündeki .bob/skills/ dizininde bulunur; bu sayede Git onları kod tabanıyla birlikte izler ve ekibiniz bunları kullanabilir. Global skill'ler ~/.bob/skills/ konumunda bulunur ve tüm projelerinize uygulanır.

Skill klasörünü oluştur

Galaxium Travels kök dizinine geç ve skill için bir klasör oluştur:

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

SKILL.md dosyasını yaz

.bob/skills/changelog-entry/SKILL.md dosyasını aşağıdaki içerikle oluştur. İstediğin metin düzenleyiciyi kullanabilir ya da komutu olduğu gibi çalıştırabilirsin:

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

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 iki zorunlu alanı tanımlar:

  • name: Skill adı. Bob Shell, skill'i referans vermek için klasör adını kullandığından klasör adıyla eşleştir; örneğin $changelog-entry.
  • description: Bob'un bir isteğin geçerli olup olmadığına karar vermek için okuduğu açıklama. Bunu atlarsanız Bob bunun yerine talimatların ilk satırını kullanır; bu nedenle her zaman açık bir açıklama yaz.

Kapanış --- işaretinin altındaki her şey, skill etkinleştirildiğinde Bob'un izlediği talimat setidir.

Bob Shell'i başlat

Galaxium Travels kök dizininden Agent modunda etkileşimli bir oturum başlat:

bob chat --mode agent

Agent modu, Bob'a skill'leri etkinleştirmek ve dosyaları düzenlemek için gerekli araç erişimini sağlar. Bob Shell klasöre güvenip güvenmediğini sorarsa, Bob'un projenin skill'lerini yükleyebilmesi için klasöre güven.

Skill'i doğrudan çağırma

Bob'un izlediği talimatları görebilmek için skill'i adıyla referans al.

README.md'yi düzenle

Kaydedecek bir şeyin olması için Bob'dan küçük, düşük riskli bir düzenleme yapmasını iste:

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

Bob, önerilen değişikliği diff olarak gösterir. Düzenlemeyi uygulamak için Approve'ı seç.

Değişikliği skill ile kaydet

$ yazarak skill seçiciyi aç, ardından changelog-entry'yi seç. Bob Shell, skill referansını prompt'ına ekler:

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

Bob, skill ve dosyaları kullanma izni ister. Her isteği onayla. Bob changelog-entry skill'ini yükler ve projenin hiç CHANGELOG.md dosyası olmadığından oluşturur. Ardından aşağıdakine benzer bir girdi ekler:

## [Unreleased]

### Added

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

İlk changelog girdisini doğrula

Bob'dan changelog dosyasını göstermesini iste:

Show me @CHANGELOG.md

Girdi, Değişikliği skill ile kaydet adımında Bob'un oluşturduğu changelog girdisiyle eşleşir.

Bob'un skill'i otomatik olarak etkinleştirmesini sağlama

İkinci bir değişiklik yap ve skill'i adıyla belirtmeden Bob'dan bunu kaydetmesini iste. Bob, skill'in açıklamasından geçerli olduğunu anlayabilir ve kendi başına etkinleştirebilir.

Konuşma geçmişini temizle

Bob'un önceki skill referansını hatırlamaması için konuşma geçmişini sıfırlamak üzere /clear slash komutunu gir:

/clear

İkinci README.md düzenlemesini yap

Bob'dan ikinci bir düzenleme yapmasını iste:

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

İstendiğinde düzenlemeyi onayla.

Skill'i adlandırmadan değişikliği kaydet

Bob'dan skill'i adlandırmadan değişikliği kaydetmesini iste:

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

Bob, isteğin changelog-entry skill'inin açıklamasıyla eşleştiğini tanır ve $changelog-entry referansı olmadan etkinleştirir. İstendiğinde skill ve dosya düzenleme isteklerini onayla. Bob aynı formatta başka bir girdi ekler.

Her iki changelog girdisini doğrula

Bob'dan changelog dosyasını göstermesini iste:

Show me @CHANGELOG.md

Changelog artık ## [Unreleased] altında aşağıdakine benzer iki girdi içerir:

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

Skill'lerini yönet

Her skill diskte bir klasördür, dolayısıyla skill'leri alışılageldik dosya araçlarınla yönetirsin:

  • Skill'leri listele: Proje skill'leri için .bob/skills/ ve global skill'ler için ~/.bob/skills/ konumlarına bak. Her iki konumda da aynı adda bir skill varsa proje skill'i öncelik kazanır.
  • Skill'i düzenle: SKILL.md dosyasını düzenle. Ayrıca şablonlar veya kontrol listeleri gibi destekleyici dosyaları da skill klasörüne ekleyebilirsin.
  • Skill'i referans al: Bob Shell'de bir skill referansını prompt'ına eklemek için $ yaz veya /skills gir.

Sorun giderme

Skill $ seçicide görünmüyor

Dosya yolunun .bob/skills/changelog-entry/SKILL.md olduğunu, front matter'ın name ve description içerdiğini ve klasörün güvenilir olduğunu doğrula. Ayrıntılar için bkz. Güvenilen klasörler. Skill klasörü adı changelog-entry gibi küçük harf kebab-case biçiminde olmalıdır. Bob, geçersiz adlara sahip klasörleri hata göstermeden atlar. Skill ekledikten sonra Bob Shell'i yeniden başlat.

Bob skill'i otomatik olarak etkinleştirmiyor

Bob, istekleri skill'in description alanıyla eşleştirir. Prompt'ı açıklamadaki kelimeleri kullanacak şekilde yeniden ifade et ya da skill'i $changelog-entry ile doğrudan referans al.

Sonraki adımlar

Bu eğitimde, skill'lerin bir iş akışını bir kez tanımlamana ve Bob'un tutarlı şekilde uygulamasına nasıl olanak tanıdığını öğrendin. Bir skill'i $<skill-adı> ile açıkça referans alabilir ya da Bob'un açıklamasına göre otomatik olarak etkinleştirmesine izin verebilirsin.

Skill'e şablon ve destekleyici dosyalar eklemek için bkz. Skill'ler.

Kendi rolü, talimatları ve araç erişimi olan özelleştirilmiş bir persona oluşturmak için bkz. Özel modlar.

Bu konu nasıl?