0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Agent Skillsで複数処理を一括実行 - 業界標準で実現する自律型CI/CDパイプライン構築

0
Last updated at Posted at 2026-02-24

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がコマンドファイルを認識していない

対処法:

  1. .bob/commands/pipeline.md が存在することを確認
  2. Bob IDEを完全に再起動
  3. VS Codeのキャッシュをクリア(必要に応じて)

7.2 Agent Skillsが実行されない

原因: bob_skills.mdが認識されていない、またはスキルパスが間違っている

対処法:

  1. .bob/rules/bob_skills.md が存在することを確認
  2. スキルパスが正しいことを確認
  3. Bob IDEを再起動

7.3 ステップが順次実行されない

原因: SKILL.mdの定義が不適切、またはreferencesファイルが見つからない

対処法:

  1. SKILL.md## 実行フロー セクションを確認
  2. 各ステップのreferencesファイルが存在することを確認
  3. ファイルパスが正しいことを確認(相対パス: references/stepX-*.md

8. 参考資料

8.1 公式ドキュメント

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を使って複数の処理を順次実行する方法を実践的に解説しました。

ポイント

  1. ✅ マークダウンファイルだけで実装可能(TypeScript不要)
  2. ✅ 業界標準(30+製品対応)
  3. ✅ Gitで簡単に共有できる
  4. ✅ SKILL.mdで複雑な処理も対応
  5. ✅ 高い汎用性と将来性

他の実装方式との使い分け

  • 業界標準を重視: Agent Skills型
  • Bob IDE専用で公式サポート重視: カスタムモード型
  • 複雑なロジック: MCPサーバー型

次のステップ

  • 実際のクラウドAPIと連携してみる
  • アセットファイル(パターン、テンプレート)を追加する
  • 他のAgent Skills対応製品でも試してみる

ぜひ、この記事を参考にAgent Skillsを試してみてください!

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?