ガイド:単一スキル実行
単一スキル実行は最短経路です。1つのエージェント、1つのドメイン、1つの集中したタスク。オーケストレーションのオーバーヘッドもマルチエージェント協調もありません。自然言語プロンプトからスキルが自動アクティベートされます。
使うべきタイミング
タスクが以下のすべての基準を満たす場合に使用します:
- 1つのドメインが所有 — タスク全体がフロントエンド、バックエンド、モバイル、データベースなど単一ドメインに属する
- 自己完結 — クロスドメインのAPIコントラクト変更なし
- スコープが明確 — 出力が明確(コンポーネント、エンドポイント、スキーマ、修正)
- 協調不要 — 他のエージェントの事前/事後実行が不要
マルチエージェント(/workまたは/orchestrate)に切り替えるべき場合:
- UI作業に新しいAPIコントラクトが必要(フロントエンド + バックエンド)
- 1つの修正がレイヤーをまたいで波及(デバッグ + 実装エージェント)
- 機能がフロントエンド、バックエンド、データベースにまたがる
- 最初のイテレーション後にスコープが1つのドメインを超えて拡大
プリフライトチェックリスト
プロンプト前に以下の4要素を確認します(プロンプト構造の4要素に対応):
| 要素 | 質問 | 重要な理由 |
|---|---|---|
| Goal | 何を作成または変更するか? | 曖昧さを排除 |
| Context | どのスタック、フレームワーク、規約が適用されるか? | エージェントはプロジェクトファイルから検出するが、明示する方が確実 |
| Constraints | どのルールに従うべきか?(スタイル、セキュリティ、パフォーマンス) | 制約なしではプロジェクトに合わないデフォルトが使用される |
| Done When | どの受入基準で確認するか? | エージェントに目標を、あなたに検証チェックリストを提供 |
プロンプトテンプレート
<スタック>を使って<具体的な成果物>を構築してください。
制約: <スタイル/パフォーマンス/セキュリティの制約>。
受入基準:
1) ...
2) ...
以下のテストを追加: <重要なケース>。
実例
React + TypeScript + Tailwind CSSでログインフォームコンポーネントを作成してください。
制約: アクセシブルなラベル、クライアントサイドバリデーション、外部フォームライブラリ不使用。
受入基準:
1) メールとパスワードのバリデーションメッセージ
2) 無効な間はサブミットボタンを無効化
3) キーボードとスクリーンリーダーに対応
有効/無効なサブミットパスのユニットテストを追加。
何が起こるか
- プロンプトに基づいて適切なスキルが自動的にアクティベート
- エージェントが前提を宣言(チャータープリフライト)
- 確認または調整
- エージェントがコードとテストを記述
- ローカルで検証を実行
品質ゲートチェックリスト
全エージェント共通
- 動作が受入基準に合致 — プロンプトのすべての基準を満たしている
- テストがハッピーパスと主要なエッジケースをカバー
- 無関係なファイル変更なし — タスクに関連するファイルのみ変更
- 共有モジュールが壊れていない — インポート、型、インターフェースが正常
- チャーターが遵守された — 「Must NOT do」の制約が守られている
- lint、typecheck、ビルドがパス
フロントエンド固有
- アクセシビリティ:
aria-label、セマンティック見出し、キーボードナビゲーション - モバイル:320px、768px、1024px、1440pxで正しくレンダリング
- パフォーマンス:CLSなし、FCPターゲット達成
- Error BoundariesとLoading Skeletons実装
- shadcn/uiコンポーネントを直接変更していない(ラッパーを使用)
バックエンド固有
- クリーンアーキテクチャ維持:ルートハンドラにビジネスロジックなし
- すべての入力がバリデーション済み
- パラメータ化クエリのみ(SQLでの文字列補間なし)
- 認証エンドポイントにレート制限
モバイル固有
- すべてのコントローラーが
dispose()で破棄 - オフラインが適切に処理
- 60fpsターゲット維持
データベース固有
- 3NF以上(非正規化の場合は根拠を文書化)
- 3つのスキーマ層すべてを文書化(外部、概念、内部)
- アンチパターンレビュー完了
エスカレーションシグナル
| シグナル | 意味 | 対応 |
|---|---|---|
| エージェントが「バックエンドの変更が必要」と言う | クロスドメイン依存関係 | /workに切り替え |
| CHARTER_CHECKの「Must NOT do」に実際に必要な項目がある | スコープが1ドメインを超過 | /planで機能全体を計画 |
| 修正が3つ以上の異なるレイヤーのファイルに波及 | 複数ドメインに影響 | /debugでスコープ拡大、または/work |
| APIコントラクトの不一致を発見 | フロントエンド/バックエンドの不整合 | /planでコントラクト定義後、両エージェントを再スポーン |
| 品質ゲートが統合ポイントで失敗 | コンポーネントが正しく接続されない | QAレビュー追加:oma agent:spawn qa "Review integration" |
| タスクが「1コンポーネント」から「3コンポーネント + 新ルート + API」に膨張 | 実行中のスコープクリープ | 停止、/planで分解、/orchestrateで実行 |
| エージェントがHIGH明確化でブロック | 要件が根本的に曖昧 | エージェントの質問に回答、または/brainstormで方針を明確化 |
同じエージェントを修正付きで2回以上再スポーンしている場合、タスクはおそらくマルチドメインであり、/workまたは少なくとも/planでの分解が必要です。