メインコンテンツまでスキップ

ガイド:単一スキル実行

単一スキル実行は最短経路です。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) キーボードとスクリーンリーダーに対応
有効/無効なサブミットパスのユニットテストを追加。

何が起こるか

  1. プロンプトに基づいて適切なスキルが自動的にアクティベート
  2. エージェントが前提を宣言(チャータープリフライト)
  3. 確認または調整
  4. エージェントがコードとテストを記述
  5. ローカルで検証を実行

品質ゲートチェックリスト

全エージェント共通

  • 動作が受入基準に合致 — プロンプトのすべての基準を満たしている
  • テストがハッピーパスと主要なエッジケースをカバー
  • 無関係なファイル変更なし — タスクに関連するファイルのみ変更
  • 共有モジュールが壊れていない — インポート、型、インターフェースが正常
  • チャーターが遵守された — 「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での分解が必要です。