Skills: スキルの組み合わせとオーケストレーション

最終更新:2026-08-31

単一の Skill は単一の問題を解決する——組み合わせた Skill は複雑な問題を解決する。


1. 組み合わせパターン

(1) スキルチェーン(Pipeline)

複数の Skill を順次実行し、前の出力が次の入力に:

TEXT 📖 参照専用
スキルチェーンの例:コードコミット全フロー

コードレビュー → 自動修正 → テスト実行 → ドキュメント更新 → コミット
    ↓          ↓          ↓          ↓          ↓
 レビューレポート   修正パッチ   テストレポート   ドキュメント更新   commit ID

(2) スキルマトリクス(Matrix)

複数の Skill を並行実行し、結果を集約:

TEXT 📖 参照専用
スキルマトリクスの例:包括的品質チェック

            ┌→ セキュリティスキャン ─┐
コード変更 ──┤→ パフォーマンス分析 ─┤→ 品質レポート
            └→ スタイルチェック ─┘

(3) 条件オーケストレーション

条件に応じて実行パスを選択:

TEXT 📖 参照専用
条件オーケストレーションの例:スマートデプロイ

変更タイプの判定:
├── ドキュメント変更 → ドキュメントのみ更新
├── テスト変更 → テストのみ実行
├── コード変更 → 全フロー(レビュー→テスト→デプロイ)
└── 設定変更 → レビュー + 確認後にデプロイ

2. 組み合わせの実装方法

(1) プロンプトオーケストレーション

Skill プロンプト内で組み合わせロジックを記述:

MARKDOWN
## 実行戦略

1. 先に code-review Skill を実行
2. 🔴 問題が見つかった場合:
   - auto-fix Skill を実行
   - 再度 code-review を実行して修正を確認
3. レビュー通過後、test-runner Skill を実行
4. テスト通過後、サマリーレポートを出力

(2) コンテキスト受け渡し

Skill 間でコンテキストを通じてデータを受け渡し:

TEXT 📖 参照専用
Skill A の出力 → コンテキスト変数に書き込み → Skill B が読み込み

例:
code-review が3つの問題を発見 →
  context: { review_issues: [...], fix_targets: [...] }
→ auto-fix が fix_targets を読み込んで修正を実行

(3) 結果の集約

MARKDOWN
## 集約レポートテンプレート

### スキルチェーン実行結果
| ステップ | Skill | ステータス | 所要時間 | キー出力 |
|:-----|:------|:-----|:-----|:---------|
| 1 | code-review | ✅ | 30s | 5つの問題 |
| 2 | auto-fix | ✅ | 45s | 4つを修正 |
| 3 | test-runner | ✅ | 2m | すべて通過 |

3. 組み合わせの設計原則

(1) 疎結合

各 Skill は独立して使用可能で、他の Skill の内部実装に依存しない:

TEXT 📖 参照専用
疎結合の設計:
├── Skill A は Skill B の内部関数を直接呼び出さない
├── Skill 間は標準フォーマット(JSON、Markdown など)でデータを受け渡し
├── 単一 Skill の失敗が他の Skill の基本機能に影響しない
└── 各 Skill を個別にテスト可能

(2) 単一責任

各 Skill は1つのことだけをし、それをしっかりやる:

✅ 正しい ❌ 間違い
code-review はレビューのみ code-review がレビュー+修正+テスト
auto-fix は修正のみ auto-fix が修正+レビュー+デプロイ
deploy はデプロイのみ deploy がデプロイ+モニタリング+アラート

(3) 冪等性

繰り返し実行しても結果が同じで、安全なリトライをサポート:

MARKDOWN
## 冪等性の要件
- レビュー Skill を複数回実行しても同じ結果
- 修正 Skill は問題が既に修正されているか検出し、済みならスキップ
- デプロイ Skill は現在の状態をチェックし、デプロイ済みなら確認のみ(重複デプロイしない)

4. 組み合わせオーケストレーションの実践

▶ 例:PR 品質ゲート

Alice は PR 自動レビューの組み合わせを設計しました:

YAML
---
name: pr-gate
description: "PR 品質ゲート:レビュー+テスト+セキュリティの3 in 1"
triggers:
  - keyword: "pr-gate|品質ゲート"
---
MARKDOWN
## 実行フロー

1. code-review を呼び出し(コードレビュー)
2. test-runner を呼び出し(テスト実行)
3. security-scan を呼び出し(セキュリティスキャン)
4. 3つの結果を集約
5. マージ推奨を出力:
   - 3項目すべて通過 → ✅ マージ推奨
   - いずれかが 🔴 → ❌ マージ非推奨
   - 🟡 のみ → ⚠️ 修正後にマージ

Bob は評価しています:「単一の Skill はツール、組み合わせ Skill はパイプライン——パイプラインの威力は単一ツールの単純な合計よりはるかに大きい。」


❓ よくある質問

Q Skill 間で直接呼び出しは可能ですか?
A プラットフォームに依存します。Claude Code はプロンプト内での呼び出しロジックの記述をサポートし、OpenCode は手動オーケストレーションが必要です。重要なのはデータ受け渡しであり、関数呼び出しではありません。
Q 組み合わせが複雑すぎる場合の保守方法は?
A ネストレベル ≤2、組み合わせ Skill ≤5 に制限してください。超える場合は独立したワークフローへの分割や専用オーケストレーションツールの使用を検討してください。
Q 1つの Skill が失敗した場合、チェーン全体をどう処理しますか?
A クリティカルパス(レビュー、テスト)の失敗は停止し、非クリティカルパス(ドキュメント、通知)の失敗は記録して継続します。エラーランク付けで判断してください。

📖 まとめ


📝 練習問題

  1. 基礎問題(難易度⭐):シンプルなスキルチェーンを作成し、code-review と test-runner の2つの Skill を直列に接続してください。
  2. 応用問題(難易度⭐⭐):PR 品質ゲート Skill を作成し、レビュー、テスト、セキュリティスキャンを並行実行し、結果を集約してください。
  3. チャレンジ問題(難易度⭐⭐⭐):変更タイプに応じてどの Skill を実行するかを自動選択し、中間ステップの失敗とリトライを処理するスマートオーケストレーションシステムを設計してください。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%