16
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

もう手作業に戻れない。IBM Bob で Liberty 開発を効率化する Skill アセットを公開しました

16
Last updated at Posted at 2026-03-24

この記事の内容を動画でまとめたものはこちらです。
https://video.ibm.com/recorded/134747842

2026/07/06 追記:
Bob v2.0へのアップデートに伴い、Commandsは非推奨の機能に変更されました。
CommandsはSkillsへ移行されるため、本記事の内容もSkills前提の記述に更新しています。

はじめに

WebSphere Liberty の開発では、起動しない原因の切り分け、server.xml の feature 整理、環境変数の棚卸し、DataSource の作成、REST API の経路確認など、日々さまざまな確認作業が発生します。
こうした作業は重要ですが、設定ファイル・ログ・ソースコード等を確認する必要があり、どうしても手間がかかりがちです。

こういった課題に対して、IBM Bob で Liberty 開発を支援する Skill アセットを公開しました。

IBM Bobとは?

IBM Bobは、開発者と一緒にコードベース上で作業し、高品質なソフトウェアをより迅速に構築するためのAIパートナーです。
単なるコード補完ツールではなく、設計・実装・レビュー・運用まで、開発ライフサイクル全体を支援します。

30日間の無料トライアルでは、IBM Bob の利用に必要なクレジット”Bobコイン”を、40Bobコイン分ご利用いただけます。
お申し込みはhttps://bob.ibm.com/trialから行えます。
Bobコインの追加が必要な場合は、https://bob.ibm.com/pricingから少額よりご購入いただけます。

IBM Bobでできること

  • 用途に応じたエージェントモードの活用
    Plan、Code、Advanced、Ask、Orchestrator などのモードを使い分けることで、タスクに最適な形で開発を進められます。さらに、業務要件に合わせたカスタムモードも作成可能です。

  • 自然言語での開発支援
    チャットとエディターを行き来することなく、自然言語で要件を伝えるだけで、文脈に沿った実装を生成できます。
    いわゆる Literate Coding により、開発体験をよりスムーズにします。

  • 高度なコードレビュー
    構文チェックだけでなく、ロジックの誤り実装が意図に沿っているかまで確認可能です。
    プルリクエスト前の品質向上に役立つ、最初の防衛線として機能します。

  • IDEだけでなくターミナルでも活用可能
    Bob Shellを使うことで、AIの支援をIDE内だけでなくターミナル環境でも利用できます。

  • IBMのエンタープライズ・エコシステムとの連携
    HashiCorp、Red Hat、Instana などのサービスへIDEから直接アクセスでき、アーキテクチャ、セキュリティ、モニタリングを含めたエンタープライズ開発を効率化します。

公式サイト:https://bob.ibm.com/

Skillsとは?

Skillsとは、IBM Bob に特定の作業手順や専門知識を追加するための仕組みです。

よく行う作業、たとえばレビュー依頼、構成チェック、トラブルシューティング、手順の定型化、チェックリスト実行などを Skill として定義しておくことで、Bob がプロジェクトの文脈に沿って作業を支援できるようになります。

チャット入力欄で / から始まるコマンドとして呼び出すこともできますし、 Bob 自身が Skill を実行することもできます。

便利なところ

  • 作業の自動化:複数ステップの依頼を Skill としてまとめられる
    • 例:セキュリティ観点レビュー、テスト前チェック、リリース前確認、構成診断など
  • チームで標準化:同じ Skill を使えば、確認観点や作業手順をそろえられる
    • 毎回同じ「前提・制約・観点」を Skill 側に埋め込めるため、コンテキストを固定しやすい
  • 自然言語で呼び出せる:Skill 名だけでなく、「このプロジェクトを診断して」のような依頼でも使いやすい
  • プロジェクト固有の知識を持たせやすい:Liberty や社内標準、運用ルールなどを Bob に渡しやすい

セットアップ

1. skills/ フォルダを配置する

以下のいずれかに、こちらのリポジトリskills/ フォルダを配置してください。

.bob/skills/          # プロジェクト固有
~/.bob/skills/        # グローバル
  • プロジェクト単位で使いたい場合は .bob/skills/
  • どのプロジェクトでも使いたい場合は ~/.bob/skills/

という使い分けがおすすめです。

2. Bob から Skill を呼び出す

Bob のチャットで、利用したい Skill 名または実行したい作業内容を入力します。

例:

liberty-doctor を実行して
この Liberty プロジェクトを診断して
server.xml の feature を最小化して
環境変数の参照を棚卸しして

Bob が利用可能な Skills を認識している場合、該当する Skill の内容に基づいて処理を実行します。
また、Bob のチャット欄で、例えば/liberty-doctor のようにスラッシュ付きでスキル名を入力することで、ユーザーが自分でSkillを呼び出すことも可能です。

Skills 一覧

liberty-doctor

Liberty プロジェクト全体を一発で健康診断する Skill です。
設定、ビルド、ログ、起動失敗の原因候補までまとめてチェックします。

使い方

liberty-doctor
liberty-doctor path/to/server.xml

または、自然言語で次のように依頼できます。

この Liberty プロジェクトを診断して
server.xml を指定して起動失敗の原因を調べて

主な機能

  • server.xml / configDropins など設定の散らばりを可視化
  • ビルドツール・プラグインの整合性チェック
  • ポート競合やバインド系トラブルの確認
  • よくある起動失敗原因の候補提示
  • feature 最小化が必要そうな場合は liberty-feature-min へ誘導

liberty-feature-min

generated-features.xml を生成・比較して、server.xml の feature を最小化するための Skill です。

使い方

liberty-feature-min
liberty-feature-min path/to/server.xml
liberty-feature-min path/to/server.xml --force

または、自然言語で次のように依頼できます。

server.xml の feature を最小化して
generated-features.xml と server.xml の差分を見て
不要そうな Liberty feature を整理して

主な機能

  • generated-features.xml の自動生成(Maven / Gradle 対応)
  • server.xml との feature 差分分析
  • 削除候補・維持候補の分類
  • 段階的に減らすためのプラン提示
  • 動作確認用チェックリストの生成

liberty-env-vars-audit

Liberty 構成内の ${...} 変数参照を棚卸しする Skill です。
未定義、タイポ疑い、環境差分などを見つけやすくします。

使い方

liberty-env-vars-audit
liberty-env-vars-audit path/to/server.xml

または、自然言語で次のように依頼できます。

Liberty の環境変数参照を棚卸しして
server.xml 内の未定義変数を確認して
環境ごとの変数差分を見て

主な機能

  • ${...} 形式の変数参照を一覧化
  • 未定義変数・タイポ疑いの検出
  • local / dev / stg / prod 間の差分可視化
  • 秘匿値の直書き検出(値はマスク)
  • .env / server.env のテンプレート提案

liberty-feature-add

必要な機能に応じて Liberty feature と依存関係を追加する Skill です。
JPA や CDI、REST Client などを追加したいときに使えます。

使い方

liberty-feature-add JPA
liberty-feature-add REST Client
liberty-feature-add CDI

または、自然言語で次のように依頼できます。

このアプリに JPA を追加して
REST Client を使うために必要な feature を追加して
CDI を有効化して

主な機能

  • Java EE / Jakarta EE 世代の自動判定
  • 適切な Liberty feature の選択と追加
  • pom.xml / build.gradle への依存関係追加
  • 必要に応じて最小サンプルコードを提示
  • 検証チェックリストの生成

liberty-datasource-create

DataSource 設定をまとめて作成する Skill です。
JDBC ドライバー追加から Liberty 設定、接続確認までを支援します。

使い方

liberty-datasource-create postgres localhost:5432 mydb user env:DB_PASSWORD
liberty-datasource-create mysql db.example.com mydb user prompt
liberty-datasource-create oracle host:1521 service user env:ORACLE_PASSWORD

または、自然言語で次のように依頼できます。

PostgreSQL 用の DataSource を作成して
MySQL に接続する Liberty 設定を追加して
DB_PASSWORD 環境変数を使って DataSource を構成して

引数

  • <dbType>: postgres / mysql / mariadb / db2 / oracle / mssql
  • <host[:port]>: ホスト名とポート(省略時はデフォルトポート)
  • <dbName>: データベース名
  • <user>: ユーザー名
  • <password>: パスワード
    • env:VAR … 環境変数を参照
    • prompt … 対話入力

主な機能

  • JDBC ドライバーの pom.xml 追加
  • server.xml への library / jdbcDriver / dataSource 追加
  • 接続チェックの自動実行
  • 環境変数参照の利用を推奨

liberty-endpoint-map

JAX-RS リソースを走査して REST エンドポイント一覧を作る Skill です。
404 / 405 の原因を探したいときにも便利です。

使い方

liberty-endpoint-map
liberty-endpoint-map src/

または、自然言語で次のように依頼できます。

REST エンドポイント一覧を作って
JAX-RS の @Path を走査して
404 の原因になりそうな設定を確認して

主な機能

  • @Path アノテーションの検出
  • HTTP メソッド / パス / セキュリティ情報の一覧化
  • contextRoot / applicationPath の自動判定
  • curl / httpie のサンプル生成
  • 404 / 405 の原因候補提示

トラブルシューティング

Bob が Skill を認識しない、または期待どおりに実行しない場合

Bob が Skill の内容に基づいて処理せず、通常のチャットとして応答してしまう場合は、以下を確認してください。

1. skills/ フォルダの配置場所を確認する

次のいずれかに配置されていることを確認します。

.bob/skills/
~/.bob/skills/

プロジェクト固有で利用したい場合は .bob/skills/、複数プロジェクトで共通利用したい場合は ~/.bob/skills/ に配置します。

2. Bob のモードを確認する

Plan モードの場合、Bob が Skill の意図を実行するのではなく、作業内容を計画・説明する方向に寄ることがあります。

その場合は、Bob のモードを Agent に切り替えてから実行してください。

例:

liberty-doctor を実行して
この Liberty プロジェクトを診断して

使い始めるときのポイント

最初は、liberty-doctor のような現状把握系から試すのがおすすめです。

こちらのリポジトリの README にもあるように、各アセットの詳細な使い方や引数は skills/ ディレクトリ配下の Markdown ファイルにまとまっています。
まずは README で全体像をつかみ、必要な Skill の定義を個別に見にいく流れが分かりやすいです。

おわりに

Liberty 開発では、設定・ログ・ソースコード・ビルド定義をまたいで確認したい場面が多くあります。
そのたびに手作業で見ていくのは大変ですが、Bob の Skills として観点をまとめておくと、確認の入口をそろえやすくなり、作業の抜け漏れも減らしやすくなると感じました。

今回紹介した 6 つのアセットだけでも、起動診断、feature 整理、環境変数棚卸し、機能追加、DataSource 作成、REST API 可視化までかなり幅広くカバーできます。
さらに、今後は第2弾、第3弾として追加の Skills を作成していく予定です。

Liberty を使っている方や、IBM Bob を日々の開発にもっと活かしたい方は、ぜひ一度試してみてください。

参考リンク

16
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?