チュートリアル

スキルの作成と使用

Bob に再利用可能なスキルを教えて繰り返し使えるchangelog エントリワークフローを作成し、明示的に呼び出すか Bob に自動的に有効化させる。

スキルは、Bobに特化した繰り返し可能なワークフローを教える再利用可能な命令セットです。同じフォーマットルールやチェックリストをすべてのプロンプトで入力し直す代わりに、ワークフローを一度SKILL.mdファイルに定義するだけです。Bobはその後、スキルが適用される時はいつでも、あなたが直接呼び出すか、Bob が自動的に有効化するかに関わらず、その命令に従います。

このチュートリアルでは、Keep a Changelog形式を使用してCHANGELOG.mdファイルにエントリを追加するスキルを作成します(ファイルが存在しない場合は作成します)。スラッシュコマンドでスキルを明示的に呼び出し、次に2回目の変更を行って、スキルを名指しせずにBobにそれを記録するよう依頼して、BobがDescriptionに基づいて自動的にスキルを有効化するのを確認します。

前提条件

このチュートリアルを完了するには、以下が必要です:

  • まだ持っていない場合は、Galaxium Travelsデモコードをクローンしてください。
git clone https://github.com/IBM/galaxium-travels

changelogエントリスキルを作成する

チャットインターフェースを開く

ナビゲーションバーの横にあるBobアイコンをクリックしてBobチャットインターフェースを開くか、ショートカット Option + Command + B(macOS)または Ctrl + Alt + B(Windows)を使用します。

チャットインターフェースのモードセレクターを使用してAgentモードに切り替えます。AgentモードはBobがスキルを有効化しファイルを編集するために必要なツールアクセスを提供します。

Skills設定を開く

Bobでスキルを作成する方法は複数あります。ユーザーインターフェース(UI)を使用するか、Bobチャットで/create-skillコマンドを使ってガイド付きセットアップを行うことができます。

このチュートリアルでは、Bob設定のSkillsタブを使用してスキルを作成します。

  1. チャットインターフェースの下にあるBob Settingsをクリックします。
  2. 左サイドバーのSkillsをクリックします。
  3. **+**ボタンをクリックして新しいスキルを作成します。

設定を開く

スキルの詳細を入力する

スキル作成フォームに以下の値を入力します:

フィールド
Skill Namechangelog-entry
DescriptionAdds 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.
Allow Bob to use this skillオン
Scope & Locationgalaxium-travels

Skill Nameはスキルを直接呼び出すために入力するもので、例えば/changelog-entryです。Descriptionは、名前で呼び出さない場合にBobがリクエストにスキルが適用されるかどうかを判断するために読むものです。

Allow Bob to use this skillがオンの場合、プロンプトが必要とする時にBobは自分でスキルを使用できますし、明示的に呼び出すこともできます。Scope & Locationgalaxium-travelsに設定すると、スキルがプロジェクトの.bob/skills/ディレクトリに保存され、gitがコードと一緒にそれを追跡し、チームがアクセスできます。代わりに**Global (all workspaces)**を選択すると、スキルはリポジトリ外の~/.bob/skills/に保存されます。

Skill Instructionsテキストボックスに以下を入力します:

---
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.
user-invocable: true
---

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.

Createをクリックします。

Bobはスキルをgalaxium-travels/.bob/skills/changelog-entry/SKILL.mdに保存します。

スキルを直接呼び出す

スキルを名前で呼び出して、Bobが従う命令を確認します。

小さな変更を加える

記録するものを用意するために、Bobに小さくリスクの低い編集をするよう依頼します:

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

BobはREADME.mdを編集します。求められたら編集を承認してください。

スキルで変更を記録する

チャットインターフェースで/changelog-entryと入力してEnterを押すか、表示される/changelog-entryの候補をクリックします。次に以下のプロンプトを入力します:

Add a changelog entry for this change.

Bobはスキルツールの使用とファイルの編集の許可を求めるかもしれません。求められたら承認してください。Bobはchangelog-entryスキルを読み込み、プロジェクトにCHANGELOG.mdがないため作成し、スキルで定義されたフォーマットに従ったエントリを追加します。例えば:

## [Unreleased]

### Added

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

エントリを確認する

Bobにchangelogを見せるよう依頼します。

Show me CHANGELOG.md

エントリは前のステップでBobが生成したchangelogエントリと一致しています。

BobにスキルをAuto-activateさせる

チャットインターフェースの上にある**+**ボタンをクリックして新しいタスクウィンドウを開始します。

2回目の変更を加えて、スキルを名指しせずにBobに記録するよう依頼します。Allow Bob to use this skillをオンにしたままにしているので、Bobはスキルのdescriptionからそれが適用されることを認識し、自分で有効化することができます。

別の小さな変更を加える

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

求められたら編集を承認してください。

スキルを名指しせずにBobに変更を記録するよう依頼する

Update the changelog for this edit.

Bobはリクエストがchangelog-entryスキルのdescriptionに一致することを認識し、/changelog-entryを入力しなくても有効化します。求められたら、スキルとファイル編集の権限を承認してください。Bobは同じフォーマットで別のエントリを追加します。

エントリを確認する

Bobにchangelogを見せるよう依頼します。

Show me CHANGELOG.md

この設定がオンの場合、Bobはスキル(changelog-entryを含む)が適用されるときはいつでも、最初に確認せずに自動的に有効化します。

スキルを管理する

changelog-entryを作成したBob設定のSkillsタブは、現在およびグローバルワークスペースで使用可能なすべてのスキルを表示する場所でもあります。ワークスペースの読み込まれたスキルを確認し、スキルがプロジェクト(.bob/skills/)またはグローバル(~/.bob/skills/)の場所から来ているかを確認し、スキルを編集または削除するために使用します。

クリーンアップ

このチュートリアルで作成したファイルを削除するには:

  1. Bob SettingsSkillsをクリックし、changelog-entryスキルを削除します。
  2. 前提条件でクローンしたgalaxium-travelsディレクトリを削除します。これにより、CHANGELOG.mdとこのチュートリアルで行ったREADME.mdの編集も削除されます。

次のステップ

このチュートリアルでは、スキルを使えば/skill-nameでスキルを明示的に呼び出すか、Bobがdescriptionに基づいて自動的に有効化させるかに関わらず、ワークフローを一度定義してBobに一貫して適用させることができることを学びました。

カスタムモードの追加に進んで、カスタムモードがロール定義、動作命令、ツールアクセスを特定の仕事のための専門的なペルソナに組み合わせる方法を学んでください。

このトピックはいかがですか?