はじめに
Bobを使っていると、「この作業、前にもやったな」という場面に遭遇することがあります。毎回同じ手順を説明するのは面倒ですよね。そんな時に便利なのがSkills機能です!
本記事では、BobのSkillsとは何か、どのように活用できるのかが、さくっとわかります。
この記事は、IBMBobと一緒に作成しています。
Skillsとは?
Skillsとは、簡単にいうと、
Bobが特定の種類の作業を一貫性のある反復可能な方法で実行するための「レシピ」
です。
Skillsを使用する5つのメリット
- 再利用性: ワークフローを一度定義し、複数の会話で使用できる
- 一貫性: 特定のタスクに対してBobが毎回同じアプローチに従う
- 専門化: コードレビュー、テスト、ドキュメントなどのドメイン固有の専門知識を作成
- チームコラボレーション: バージョン管理を通じてチーム全体で標準化されたワークフローを共有
- 柔軟性: チェックリスト、テンプレート、参照資料などのサポートファイルを含められる
SkillsはAdvancedモードでのみ使用できます
これにより、Bobがスキルベースのワークフローを効果的に実行するために必要なすべてのツールにアクセスできることが保証されます。
Skillsの仕組み
Skillを有効にすると、以下のことが起こります:
- BobはSkillの指示を受け取る
- Skillディレクトリ内のサポートファイルにアクセスできるようになる
- 定義されたワークフローに従ってタスクを完了
自動判断: Bobは、リクエストとSkillの説明に基づいて、Skillをいつ有効にするかを自動的に判断します。Skillsは重複したプロンプトを避けるために会話ごとに1回読み込まれます。
Skillの作成方法
基本設定
- プロジェクトルートの
.bob/skills/内にフォルダを作成- グローバルSkillsには
~/.bob/skills/を使用
- グローバルSkillsには
- そのフォルダ内に
SKILL.mdファイルを追加
フォルダ構造例
your-project/
└── .bob/
└── skills/
└── code-review/
└── SKILL.md
SKILL.mdのフォーマット
SKILL.mdファイルは、以下の構成で書きます。
---
name: code-review
description: バグ、セキュリティ問題、ベストプラクティスについてコードをレビューする
---
コードをレビューする際は、以下を確認してください:
- セキュリティの脆弱性
- パフォーマンスの問題
- API境界での欠落したエラー処理
- 未使用のインポートとデッドコード
各発見に対して重要度レベルを含む要約を提供してください。
一応書いていますが、Bobに指示したら作ってくれるので、SKILL.mdファイルとはこのようなものなんだなと把握しておくくらいでOKです。
Skillsの配置場所
Skillsは2つのレベルで定義できます:
| 場所 | スコープ | ユースケース |
|---|---|---|
<project>/.bob/skills/ |
プロジェクト固有 | このプロジェクトに固有のワークフロー |
~/.bob/skills/ |
グローバル | 個人または組織全体のワークフロー |
優先順位: 両方の場所に同じ名前のSkillが含まれている場合、プロジェクトレベルのSkillが優先されます。
効果的なSkillsを作成するコツ
1. 明確な説明を書く
Skillをいつ使用すべきかを明確に示す説明を書きます。Bobは、Skillの関連性を判断するためにこれらの説明に依存しています。
✅ 良い例: 「バグ、セキュリティ問題、ベストプラクティスについてコードをレビューする」
❌ 避けるべき例: 「コードレビューSkill」
2. 実行可能なステップで構造化
Bobが体系的に従うことができる明確で実行可能なステップとして指示を構造化します。<Steps>タグを活用しましょう。
3. シンプルに始める(一番大事⭐️⭐️⭐️)
最初から完璧を目指さず、基本的な指示から始めて、結果に基づいて改良していきましょう。日々触って改良していくことが大事です。私もやらなきゃ
Skillsの承認設定
デフォルトでは、BobはSkillを有効にする前に許可を求めます。これにより、専門的なワークフローがいつ適用されるかを制御できます。
承認プロンプトをスキップする方法
- Bob設定を開く
- Auto-Approveセクションに移動
- 「常にSkillsを許可する」を有効にする
この設定を有効にすると、Bobは適切な場合に許可を求めずに自動的にSkillsを有効にします。
今すぐ試せる!実用的なSkill例
まずは以下のSkillを作成して、Skillsの動作を体験してみましょう。
Git コミットメッセージ作成Skill
.bob/skills/commit-message/SKILL.mdを作成:
---
name: commit-message
description: 変更内容から適切なGitコミットメッセージを生成する
---
変更内容を分析して、適切なコミットメッセージを作成します:
<Steps>
<Step>
`git diff`で変更内容を確認
</Step>
<Step>
以下の形式でコミットメッセージを生成:
- 1行目: 変更の要約(50文字以内)
- 2行目: 空行
- 3行目以降: 変更の詳細説明
</Step>
<Step>
Conventional Commits形式(feat:, fix:, docs:など)を使用
</Step>
</Steps>
このSkillを作成したら、Bobに「コミットメッセージを作って」と伝えるだけで、変更内容に基づいた適切なコミットメッセージを生成してくれます。
c48444b docs: BobのSkills機能解説記事とサンプルSkillを追加
実際に、私の場合はこのようなコミットメッセージが作成されていました。
おわりに
BobのSkillsは、日々の作業を効率化し、チーム全体で標準化されたワークフローを共有できる強力な機能です。
これをみんなで使って磨いていけば、全体の生産性が上がるのだろうなと感じます。
まずは上記のコミットメッセージ作成Skillをぜひ試してみてください。
シンプルに始める!