Agent Skillsで複数処理を一括実行 - 業界標準で実現する自律型CI/CDパイプライン構築
⚠️ 重要な注意事項
Agent SkillsはBob IDEの公式機能ではありません。本記事の実装は同僚の検証により動作確認済みですが、Bob IDEの公式サポート対象外です。
- 動作保証: なし(但し動作確認済み)
- 推奨環境: Agent Skills対応の30+製品(Cursor、VS Code、GitHub Copilot等)
- Bob IDE使用時: 十分な動作確認を実施してください
- 代替案: 公式サポートが必要な場合はカスタムモード型をご検討ください
筆者の見解: Agent SkillsはBob IDEのGA(一般提供)と共に公式サポートされる可能性が高いと考えています。そのため、筆者はカスタムモード型ではなく、Agent Skills型を採用する方針で検討を進めています。
📝 TL;DR(要約)
この記事では、Agent Skillsを使って複数の処理を順次実行する方法を実践的に解説します。
この記事で分かること
- Agent Skillsで複数処理を一括実行する方法
- 業界標準(30+製品対応)の実装方法
- 実際に動くコードとその使い方
- Bob IDEでの動作確認結果
実装のポイント
- ✅
SKILL.mdでメインワークフローを定義 - ✅
references/*.mdで各ステップの詳細を定義 - ✅
.bob/rules/bob_skills.mdでスキルを登録 - ✅ スラッシュコマンドで処理を起動
- ✅ 5つのステップを順次実行してCI/CDパイプラインを構築
他の実装方式との違い
| 項目 | MCPサーバー型 | カスタムモード型 | Agent Skills型 |
|---|---|---|---|
| セットアップ | Node.js + TypeScript | マークダウンファイルのみ | マークダウンファイルのみ |
| 実装場所 | 外部サーバー | プロジェクト内(.bob/) |
プロジェクト内(.bob/skills/) |
| 対応製品 | MCP対応製品 | Bob IDEのみ | 30+製品 |
| 業界標準 | MCP標準 | Bob IDE独自 | Agent Skills標準 |
| 配布方法 | npm公開 | Gitリポジトリ | Gitリポジトリ |
| 学習コスト | 高(TypeScript必須) | 低(マークダウンのみ) | 低(マークダウンのみ) |
動作環境
- Bob IDE(VS Code拡張機能)または Agent Skills対応製品
- マークダウンファイルのみ(追加の依存関係なし)
所要時間
- セットアップ: 約10分
- 動作確認: 約3分
1. Agent Skillsとは
1.1 Agent Skillsの概要
Agent Skillsは、業界標準のスキル定義フォーマットであり、30以上のCoding Agentが対応しています。
対応製品(一部):
- 主要IDE: Cursor, VS Code, Claude Code
- AI Assistant: GitHub Copilot, Gemini CLI, OpenAI Codex
- 開発ツール: OpenCode, OpenHands, Mux, Autohand Code CLI
- エンタープライズ: Databricks, Factory, Spring AI
- その他25製品以上
1.2 Agent Skillsの標準ディレクトリ構成
my-skill/
├── SKILL.md # 必須: メタデータ + 指示内容
├── scripts/ # 任意: 実行可能なコード(Python, Bash, JS等)
├── references/ # 任意: 追加ドキュメント
└── assets/ # 任意: テンプレート、画像、データファイル等
1.3 実行フロー
重要なポイント:
- ✅ SKILL.mdで全体の処理順序を定義
- ✅ references/配下で各ステップの詳細を定義
- ✅ AIが自動的に順次実行(ユーザー介入不要)
- ✅ エラー時の自動リトライも可能
2. 複数処理を一括実行する仕組み
2.1 自律実行の原則
Agent Skillsで複数処理を一括実行するには、SKILL.mdで処理順序を明確に定義します。
## 実行フロー
以下のステップを順次実行します:
1. **環境確認** (`references/step5-check-environment.md`)
2. **パターン選択** (`references/step6-select-pattern.md`)
3. **IaC生成** (`references/step7-generate-iac.md`)
4. **Git登録** (`references/step8-commit-to-git.md`)
5. **デプロイ実行** (`references/step9-deploy-iac.md`)
Coding AgentのLLMがこの定義に従って、各ステップを自動的に順次実行します。
2.2 今回実装する5つのステップ
| ステップ | 処理内容 | 使用ツール |
|---|---|---|
| 5 | 実行環境の確認 | execute_command |
| 6 | 黄金パターンの選択 | read_file |
| 7 | IaCコードの生成 |
read_file, write_to_file
|
| 8 | Gitへの登録 | execute_command |
| 9 | IaCコードのデプロイ | execute_command |
3. 実装手順(コピペで動く)
3.1 プロジェクト構造の作成
# プロジェクトディレクトリを作成
mkdir my-auto-deploy-project
cd my-auto-deploy-project
# 必要なディレクトリを作成
mkdir -p .bob/skills/autonomous-pipeline-deploy/references
mkdir -p .bob/commands
mkdir -p .bob/rules
3.2 SKILL.mdの作成
.bob/skills/autonomous-pipeline-deploy/SKILL.mdを作成します。
# 自律型パイプラインデプロイ
## 概要
このスキルは、CI/CDパイプラインを自動的に構築・デプロイします。
ステップ5-9を順次実行します。
## 前提条件
- 要件定義書が作成されていること
- 実行環境にアクセス可能であること
## 実行フロー
以下のステップを順次実行します:
### 1. 環境確認(ステップ5)
**参照**: `references/step5-check-environment.md`
実行環境の情報を収集し、クラウドプロバイダーを特定します。
**入力:**
- 要件定義書
**出力:**
- 環境情報(クラウドプロバイダー、リージョン等)
### 2. パターン選択(ステップ6)
**参照**: `references/step6-select-pattern.md`
要件定義書と環境情報から最適な黄金パターンを選択します。
**入力:**
- 要件定義書
- ステップ5の環境情報
**出力:**
- 選択されたパターン名
- パターン選択理由
### 3. IaC生成(ステップ7)
**参照**: `references/step7-generate-iac.md`
選択したパターンに基づいてIaCコードを生成します。
**入力:**
- ステップ6で選択されたパターン
**出力:**
- 生成されたIaCコード
### 4. Git登録(ステップ8)
**参照**: `references/step8-commit-to-git.md`
生成したコードをGitリポジトリに登録します。
**入力:**
- ステップ7で生成されたIaCコード
**出力:**
- Gitコミット完了
- コミットハッシュ
### 5. デプロイ実行(ステップ9)
**参照**: `references/step9-deploy-iac.md`
IaCコードを実行環境にデプロイします。
**入力:**
- ステップ8でコミットされたIaCコード
**出力:**
- デプロイ完了
- デプロイ結果
## エラーハンドリング
各ステップでエラーが発生した場合:
1. エラー内容を分析
2. 自動修正を試行
3. 修正できない場合はユーザーに報告
## 使用方法
```bash
# スキルの実行
/pipeline requirements.md
### 3.3 各ステップの詳細定義
#### 3.3.1 step5-check-environment.md
`.bob/skills/autonomous-pipeline-deploy/references/step5-check-environment.md`を作成します。
```markdown
# ステップ5: 実行環境の確認
## 目的
実行環境の情報を収集し、クラウドプロバイダーを特定します。
## 実行手順
### 1. 要件定義書の読み込み
要件定義書を読み込み、以下の情報を抽出します。
### 2. 情報の抽出
以下の情報を抽出します:
#### 必須情報
- **クラウドプロバイダー**: AWS / Azure / GCP
- **リージョン**: デプロイ先リージョン
- **アカウント構成**: シングルアカウント / マルチアカウント
#### 任意情報
- ネットワーク構成
- セキュリティ設定
- 既存リソース情報
### 3. 出力
次のステップで使用する環境情報を出力:
```bash
echo "=== Step 5: 実行環境の確認 ==="
echo "クラウドプロバイダー: AWS"
echo "リージョン: us-east-1"
echo "アカウント構成: シングルアカウント"
echo "✅ Step 5 完了"
次のステップ
ステップ6(パターン選択)に環境情報を渡します。
#### 3.3.2 step6-select-pattern.md
`.bob/skills/autonomous-pipeline-deploy/references/step6-select-pattern.md`を作成します。
```markdown
# ステップ6: 黄金パターンの選択
## 目的
要件定義書と環境情報から最適な黄金パターンを選択します。
## 実行手順
### 1. 要件の分析
要件定義書とステップ5の環境情報を分析します。
### 2. パターンの評価
各パターンを以下の観点で評価:
#### 評価基準
1. **クラウドプロバイダーの一致**
2. **アカウント構成の一致**
3. **要件の充足**
4. **複雑度**
### 3. パターンの選択
評価結果に基づいて最適なパターンを選択します。
### 4. 出力
選択したパターン情報を出力:
```bash
echo "=== Step 6: 黄金パターンの選択 ==="
echo "選択パターン: aws_ecs_singleaccount_integrated"
echo "選択理由: シングルアカウント構成でAuto Scaling対応のECSパターンが最適"
echo "✅ Step 6 完了"
次のステップ
ステップ7(IaC生成)にパターン情報を渡します。
#### 3.3.3 step7-generate-iac.md
`.bob/skills/autonomous-pipeline-deploy/references/step7-generate-iac.md`を作成します。
```markdown
# ステップ7: IaCコードの生成
## 目的
選択したパターンに基づいてIaCコードを生成します。
## 実行手順
### 1. パラメータの準備
以下の情報からパラメータを準備:
- ステップ5の環境情報
- ステップ6のパターン情報
- 要件定義書
### 2. コードの生成
テンプレートにパラメータを適用してIaCコードを生成します。
### 3. 出力
生成したコードの情報を出力:
```bash
echo "=== Step 7: IaCコードの生成 ==="
echo "生成ファイル:"
echo " - terraform/main.tf"
echo " - terraform/variables.tf"
echo " - terraform/outputs.tf"
echo " - buildspecs/buildspec.yml"
echo "✅ Step 7 完了"
次のステップ
ステップ8(Git登録)に生成したコードを渡します。
#### 3.3.4 step8-commit-to-git.md
`.bob/skills/autonomous-pipeline-deploy/references/step8-commit-to-git.md`を作成します。
```markdown
# ステップ8: Gitへの登録
## 目的
生成したIaCコードをGitリポジトリに登録します。
## 実行手順
### 1. Gitステータスの確認
現在のGitステータスを確認します。
### 2. ファイルのステージング
生成したファイルをステージングします。
### 3. コミット
適切なコミットメッセージでコミットします。
### 4. 出力
Git操作の結果を出力:
```bash
echo "=== Step 8: Gitへの登録 ==="
echo "コミットハッシュ: abc123def456"
echo "コミットファイル: terraform/*, buildspecs/*"
echo "✅ Step 8 完了"
次のステップ
ステップ9(デプロイ実行)にコミット情報を渡します。
#### 3.3.5 step9-deploy-iac.md
`.bob/skills/autonomous-pipeline-deploy/references/step9-deploy-iac.md`を作成します。
```markdown
# ステップ9: IaCコードのデプロイ
## 目的
IaCコードを実行環境にデプロイします。
## 実行手順
### 1. デプロイ前確認
以下を確認:
- Terraformがインストールされているか
- クラウドプロバイダーの認証情報が設定されているか
- デプロイ先環境が正しいか
### 2. Terraform実行
Terraformコマンドを実行します。
### 3. デプロイ結果の確認
デプロイが成功したことを確認します。
### 4. 出力
デプロイ結果を出力:
```bash
echo "=== Step 9: IaCコードのデプロイ ==="
echo "デプロイステータス: 成功"
echo "作成リソース: VPC, ECS Cluster, CodePipeline, CodeBuild"
echo "✅ Step 9 完了"
echo ""
echo "========================================"
echo "🎉 全ステップ完了!"
echo "========================================"
完了
すべてのステップが完了しました。
CI/CDパイプラインが正常に構築されました。
### 3.4 スラッシュコマンドの作成
`.bob/commands/pipeline.md`を作成します。
```markdown
---
description: 自律型パイプラインデプロイを実行
argument-hint: <requirements-file-path>
---
要件定義書「$1」に基づいてCI/CDパイプラインを自動構築してください。
3.5 bob_skills.mdの作成
.bob/rules/bob_skills.mdを作成します。
====
AVAILABLE_SKILLS
<available_skills>
<skill>
<name>autonomous-pipeline-deploy</name>
<description>CI/CDパイプラインを自動的に構築・デプロイします。ステップ5-9(環境確認、パターン選択、IaC生成、Git登録、デプロイ実行)を順次実行します。</description>
<location>/Users/YOUR_USERNAME/path/to/project/.bob/skills/autonomous-pipeline-deploy</location>
</skill>
</available_skills>
<mandatory_skill_check>
REQUIRED PRECONDITION
Before producing ANY user-facing response, you MUST:
Step 1: Skill Evaluation
- Evaluate the user's request against ALL available skills
- Determine if ANY skill is applicable
Step 2: Skill Selection
- If applicable, select the MOST appropriate skill
- Consider skill dependencies and execution order
Step 3: Skill Execution
- Execute the selected skill according to its SKILL.md
- Follow the references/ files for detailed step instructions
- Provide results to the user
</mandatory_skill_check>
注意: <location>のパスは実際のプロジェクトパスに置き換えてください。
3.6 テスト用要件定義書の作成
プロジェクトルートにrequirements.mdを作成します。
# 要件定義書(テスト用)
## プロジェクト概要
- **プロジェクト名**: テストアプリケーション
- **目的**: Agent Skillsの動作確認
## アプリケーション要件
- **種別**: Webアプリケーション
- **言語**: Python
- **フレームワーク**: Django
- **データベース**: PostgreSQL
- **予想トラフィック**: Medium
## インフラ要件
- **クラウドプロバイダー**: AWS
- **リージョン**: us-east-1
- **スケーリング**: Auto Scaling
- **可用性**: High Availability
## 期待される動作
このファイルを`/pipeline requirements.md`コマンドで指定すると、以下のステップが自動的に順次実行されます:
1. ステップ5: 実行環境の確認
2. ステップ6: 黄金パターンの選択
3. ステップ7: IaC自動作成
4. ステップ8: Gitへの登録
5. ステップ9: IaCコードのデプロイ
各ステップは名前を標準出力し、成功メッセージを表示します。
3.7 最終的なディレクトリ構造
my-auto-deploy-project/
├── requirements.md # テスト用要件定義書
└── .bob/
├── commands/
│ └── pipeline.md # /pipelineコマンド
├── rules/
│ └── bob_skills.md # スキル登録ファイル
└── skills/
└── autonomous-pipeline-deploy/
├── SKILL.md # メインスキル定義
└── references/
├── step5-check-environment.md # ステップ5詳細
├── step6-select-pattern.md # ステップ6詳細
├── step7-generate-iac.md # ステップ7詳細
├── step8-commit-to-git.md # ステップ8詳細
└── step9-deploy-iac.md # ステップ9詳細
4. Bob IDEでの使用方法
4.1 Bob IDEの再起動
Agent Skillsとスラッシュコマンドを認識させるため、Bob IDEを再起動します。
- Command Palette (Cmd+Shift+P / Ctrl+Shift+P) > "Reload Window"
4.2 スラッシュコマンドの確認
Bob IDEのチャットを開いて、/ を入力し、pipeline コマンドが表示されることを確認します。
4.3 スラッシュコマンドの実行
Bob IDEのチャットで以下のコマンドを入力します:
/pipeline requirements.md
4.4 実行結果の確認
コマンドを実行すると、以下のように5つのステップが自動的に順次実行されます:
=== Step 5: 実行環境の確認 ===
クラウドプロバイダー: AWS
リージョン: us-east-1
アカウント構成: シングルアカウント
✅ Step 5 完了
=== Step 6: 黄金パターンの選択 ===
選択パターン: aws_ecs_singleaccount_integrated
選択理由: シングルアカウント構成でAuto Scaling対応のECSパターンが最適
✅ Step 6 完了
=== Step 7: IaCコードの生成 ===
生成ファイル:
- terraform/main.tf
- terraform/variables.tf
- terraform/outputs.tf
- buildspecs/buildspec.yml
✅ Step 7 完了
=== Step 8: Gitへの登録 ===
コミットハッシュ: abc123def456
コミットファイル: terraform/*, buildspecs/*
✅ Step 8 完了
=== Step 9: IaCコードのデプロイ ===
デプロイステータス: 成功
作成リソース: VPC, ECS Cluster, CodePipeline, CodeBuild
✅ Step 9 完了
========================================
🎉 全ステップ完了!
========================================
5. 実際の使用例
5.1 実行フロー
5.2 各ステップの詳細
ステップ5: 実行環境の確認
実行内容:
- 要件定義書から環境情報を抽出
- クラウドプロバイダー、リージョン、アカウント構成を特定
出力例:
=== Step 5: 実行環境の確認 ===
クラウドプロバイダー: AWS
リージョン: us-east-1
アカウント構成: シングルアカウント
✅ Step 5 完了
ステップ6: 黄金パターンの選択
実行内容:
- 要件定義書を分析
- 環境情報に基づいて最適なパターンを選択
- 選択理由を提示
出力例:
=== Step 6: 黄金パターンの選択 ===
選択パターン: aws_ecs_singleaccount_integrated
選択理由: シングルアカウント構成でAuto Scaling対応のECSパターンが最適
✅ Step 6 完了
ステップ7: IaC自動作成
実行内容:
- 選択したパターンのテンプレートを使用
- 要件に応じてカスタマイズ
- Terraformコードを生成
出力例:
=== Step 7: IaCコードの生成 ===
生成ファイル:
- terraform/main.tf
- terraform/variables.tf
- terraform/outputs.tf
- buildspecs/buildspec.yml
✅ Step 7 完了
ステップ8: Gitへの登録
実行内容:
- 生成したコードをステージング
- 適切なコミットメッセージでコミット
- リモートリポジトリにプッシュ
出力例:
=== Step 8: Gitへの登録 ===
コミットハッシュ: abc123def456
コミットファイル: terraform/*, buildspecs/*
✅ Step 8 完了
ステップ9: IaCコードのデプロイ
実行内容:
- Terraformの初期化と実行
- インフラのデプロイ
- デプロイ結果の確認
出力例:
=== Step 9: IaCコードのデプロイ ===
デプロイステータス: 成功
作成リソース: VPC, ECS Cluster, CodePipeline, CodeBuild
✅ Step 9 完了
6. 他の実装方式との比較
6.1 MCPサーバー型との比較
MCPサーバー型の特徴
メリット:
- ✅ 複数のプロジェクトで再利用可能
- ✅ npm公開で広く配布できる
- ✅ 複雑なロジックを実装しやすい
デメリット:
- ❌ Node.js + TypeScriptの知識が必要
- ❌ ビルドとデプロイの手間
- ❌ MCP設定ファイルの編集が必要
Agent Skills型の特徴
メリット:
- ✅ マークダウンファイルだけで実装可能
- ✅ 30+製品で使用可能(業界標準)
- ✅ Gitで簡単に共有できる
- ✅ 学習コストが低い
デメリット:
- 🟡 Bob IDEでは非公式(但し動作確認済)
6.2 カスタムモード型との比較
カスタムモード型の特徴
メリット:
- ✅ Bob IDEの公式サポート
- ✅ マークダウンファイルだけで実装可能
- ✅ Gitで簡単に共有できる
デメリット:
- ❌ Bob IDE専用(他製品で使用不可)
- ❌ 汎用性が低い
Agent Skills型の特徴
メリット:
- ✅ 30+製品で使用可能(業界標準)
- ✅ 高い汎用性
- ✅ 優れた将来性
デメリット:
- 🟡 Bob IDEでは非公式(但し動作確認済)
6.3 使い分けのポイント
| シーン | 推奨 | 理由 |
|---|---|---|
| チーム内での共有 | Agent Skills | 業界標準で汎用性が高い |
| 複数プロジェクトで使用 | Agent Skills | 30+製品で使用可能 |
| 簡単なワークフロー | Agent Skills | 実装が簡単 |
| 複雑なロジック | MCPサーバー | TypeScriptで実装 |
| Bob IDE専用 | カスタムモード | 公式サポート |
7. トラブルシューティング
7.1 スラッシュコマンドが表示されない
原因: Bob IDEがコマンドファイルを認識していない
対処法:
-
.bob/commands/pipeline.mdが存在することを確認 - Bob IDEを完全に再起動
- VS Codeのキャッシュをクリア(必要に応じて)
7.2 Agent Skillsが実行されない
原因: bob_skills.mdが認識されていない、またはスキルパスが間違っている
対処法:
-
.bob/rules/bob_skills.mdが存在することを確認 - スキルパスが正しいことを確認
- Bob IDEを再起動
7.3 ステップが順次実行されない
原因: SKILL.mdの定義が不適切、またはreferencesファイルが見つからない
対処法:
-
SKILL.mdの## 実行フローセクションを確認 - 各ステップのreferencesファイルが存在することを確認
- ファイルパスが正しいことを確認(相対パス:
references/stepX-*.md)
8. 参考資料
8.1 公式ドキュメント
- Agent Skills: https://github.com/agent-skills/agent-skills
- Bob IDE公式サイト: https://www.ibm.com/products/watsonx-code-assistant
- Bob IDEカスタムモードドキュメント: VS Code内のBob IDE拡張機能のドキュメントを参照
8.2 関連記事
8.3 Agent Skills対応製品
主要IDE:
- Cursor, VS Code, Claude Code
AI Assistant:
- GitHub Copilot, Gemini CLI, OpenAI Codex
開発ツール:
- OpenCode, OpenHands, Mux, Autohand Code CLI
エンタープライズ:
- Databricks, Factory, Spring AI
その他:
- Junie, Letta, Firebender, Goose, Piebald, pi, Agentman, TRAE, Roo Code, Mistral AI Vibe, Command Code, Ona, VT Code, Qodo, Laravel Boost, Emdash
まとめ
この記事では、Agent Skillsを使って複数の処理を順次実行する方法を実践的に解説しました。
ポイント
- ✅ マークダウンファイルだけで実装可能(TypeScript不要)
- ✅ 業界標準(30+製品対応)
- ✅ Gitで簡単に共有できる
- ✅ SKILL.mdで複雑な処理も対応
- ✅ 高い汎用性と将来性
他の実装方式との使い分け
- 業界標準を重視: Agent Skills型
- Bob IDE専用で公式サポート重視: カスタムモード型
- 複雑なロジック: MCPサーバー型
次のステップ
- 実際のクラウドAPIと連携してみる
- アセットファイル(パターン、テンプレート)を追加する
- 他のAgent Skills対応製品でも試してみる
ぜひ、この記事を参考にAgent Skillsを試してみてください!