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 クリティカルパス(レビュー、テスト)の失敗は停止し、非クリティカルパス(ドキュメント、通知)の失敗は記録して継続します。エラーランク付けで判断してください。
📖 まとめ
- 3つの組み合わせ:スキルチェーン(順次)、スキルマトリクス(並行)、条件オーケストレーション
- 実装方法:プロンプトオーケストレーション、コンテキスト受け渡し、結果集約
- 設計原則:疎結合、単一責任、冪等性
- 実践の推奨:ネスト ≤2、組み合わせ ≤5、クリティカルパスの失敗は即時停止
📝 練習問題
- 基礎問題(難易度⭐):シンプルなスキルチェーンを作成し、code-review と test-runner の2つの Skill を直列に接続してください。
- 応用問題(難易度⭐⭐):PR 品質ゲート Skill を作成し、レビュー、テスト、セキュリティスキャンを並行実行し、結果を集約してください。
- チャレンジ問題(難易度⭐⭐⭐):変更タイプに応じてどの Skill を実行するかを自動選択し、中間ステップの失敗とリトライを処理するスマートオーケストレーションシステムを設計してください。