mcpField
C
code-subagents

code-subagents

github.com/martinffxエージェントワークフロー4844 回インストール3 日前に更新
リポジトリ

code-subagents について

code-subagentsは、サブエージェントを使って実装作業を調整する開発者向けのスキルです。委任の条件を定め、依存関係に応じた逐次・並行実行と、完了したバッチ単位の一括レビューを案内します。

主な機能

  1. 01タスク委任の条件整理
  2. 02依存タスクの逐次実行
  3. 03独立タスクの並行実行
  4. 04ファイル範囲と担当の限定
  5. 05バッチごとの一括レビュー
  6. 06結果の統合と検証

活用シーン

  1. 01足場作成をサブエージェントに委任
  2. 02独立した作業項目の並行処理
  3. 03依存するコンポーネントの順次実装
  4. 04サブエージェントの変更をレビュー・統合

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/martinffx/atelier --skill code-subagents

インストール後、Claude Code で/code-subagentsを入力して読み込まれたか確認します。

同梱ファイルreferences/batch-reviewer-prompt.mdreferences/implementor-prompt.md

詳細

実装サブエージェント

タスクごとに新しいサブエージェントを使用します。バッチの完了ごとに、まとめてレビューを1回行います。独立している場合は並列に、依存関係がある場合は順次実行します。

サブエージェントを使用するタイミング

使用する条件(すべて満たす必要があります):

  • 設計が確定していること:計画または design.md で、そのファイルに含める内容(型、シグネチャ、スキーマ、契約、またはコピーする既存のパターン)がすでに指定されている
  • 作業項目に、明確な要件、担当ファイル、検証コマンドがある
  • 他の進行中の作業とファイルや状態を共有しない

有力な候補は、新規ファイルの作成、スキャフォールディング、ボイラープレート、パターンに沿った編集です。 並列化するかどうかは別途判断します。以下の独立性チェックに合格した場合に限り、対象となる2つ以上の項目を同時に割り当てます。

使用しない場合:

  • タスク間の結びつきが強い(同じファイルを編集する)
  • タスクをまたいでシステム全体の状態を把握する必要がある
  • 失敗に関連性がある(一方の修正で他方も解決する可能性がある)
  • 問題がまだ明確に定義されていない探索的な作業

割り当てモード

順次(依存関係のあるタスク)

依存関係のあるタスクは、一度に1つずつ実行します。それぞれに新しいサブエージェントを割り当て、前のタスクのコンテキストが影響しないようにします。

Task 1 (Entity) → review → complete
Task 2 (Repository, depends on T1) → review → complete
Task 3 (Service, depends on T2) → review → complete
並列(独立したタスク)

独立したタスクは同時に割り当てます。問題領域ごとにエージェントを1つ割り当てます。

Task A (auth tests) ──→ review → complete
Task B (billing tests) ──→ review → complete    ← concurrent
Task C (notification tests) ──→ review → complete

独立性チェック: タスクAの修正はタスクBに影響しますか? 同じファイルを編集しますか? 両方の答えが「いいえ」であれば、並列に割り当てます。

共有ツリーで並列作業を行う場合:

  1. 割り当て前に、各タスク専用のファイル一覧を指定する
  2. 実装者に変更のステージングやコミットをさせない
  3. 各タスクの前後で、未追跡ファイルを含む git status の内容全体を取得する
  4. タスクのパスに限定したパッチを取得し、割り当てられたパス以外の変更を却下する
  5. ファイルの担当範囲が重複する場合、または分離できない場合は、タスクを順次実行する

エージェントの選定

割り当てるたびにエージェントを明示的に選定します(atelier-orchestrator の Delegation を参照)。実装者には設計の抜粋を提示し、設計上の判断をさせないようにします。機械的なファイル作成にはスキャフォールダーを使用してください。設計に左右される実装では、Atelier のエージェントから選ぶという唯一の例外として、ハーネスの汎用エージェントを使用できます。バッチレビュー担当者は、読み取り専用で批判的なレビューを行います。


プロンプトのテンプレート

サブエージェントを割り当てるときは、以下のテンプレートを使用します。いずれも実運用で検証済みです。独自に作らず、そのまま使用して変数を埋めてください。

プロンプト品質のルール
  • 焦点を絞る — 1つのタスク、1つの問題領域にする
  • 自己完結させる — 必要なコンテキストをすべてプロンプトに含める。作業項目の要件をすべて提示し、サブエージェントにコンテキストを探させない
  • ファイルを具体的に指定する — 「関連ファイル」ではなく、正確なパスを指定する
  • 出力を具体的に指定する — サブエージェントに何を返してもらうか明記する
  • 制約を設ける — 触れてはならないものを明記する
よくある間違い
間違い修正例
「すべてのテストを修正する」「user.test.ts の3件の失敗を修正する」
コードベースのコンテキストがない関連するパターンと規約を貼り付ける
制約がない「本番コードを変更しないでください」と明記するか、対象を特定のファイルに限定する
出力の期待が曖昧「返す内容:根本原因、実施した変更、テスト結果」

バッチレビュー

タスクごとに個別のレビューを行うのではなく、バッチが完了するたびに、まとめて1回レビューします。

新しいレビュアー1名に、以下を渡します。

  • バッチ内の作業項目に関する要件一式
  • 関連する制約
  • 各タスクで取得した、パスを限定したパッチ
  • 未追跡ファイルを含む、変更ファイルの完全な一覧
  • 実装担当者の報告と検証結果

レビュアーは、要件への準拠とコード品質の両方を確認します。

  1. すべての要件と受け入れ基準が実装されている
  2. バッチが提示された制約に従っている
  3. 要求されていない作業や範囲外のファイルが含まれていない
  4. テストに意義があり、適切な境界がカバーされている
  5. 不必要に複雑化せず、既存のパターンに沿ったコードになっている

references/batch-reviewer-prompt.mdを記載どおりに使用します。

レビュアーが重大または重要な問題を見つけた場合は、それぞれの問題を該当する実装担当者に差し戻し、パスを限定したパッチを更新してから、バッチを再レビューします。軽微な問題は記録したうえで先に進めてもかまいません。


サブエージェントからの質問への対応

サブエージェントは、実装の前または途中に質問することがあります。これは、推測せずに考えている証拠なので、望ましいことです。

  • 明確かつ十分に回答します
  • 必要に応じて追加の背景情報を提供します
  • 実装を急がせないでください
  • 質問によって計画の不足が明らかになった場合、それは有益な気づきなので、記録します

結果の統合

サブエージェントが完了したら(特に並列に作業を割り当てた場合)、次の手順を実行します。

  1. 各サマリーを読む — 何が変更されたかを把握します
  2. タスクごとのパッチを取得する — 各タスク専用のファイルリストを使用します
  3. バッチをレビューする — 要件と品質をまとめて1回確認します
  4. テストスイート全体を実行する — すべての変更が連携して動作することを確認します
  5. コミットする — コーディネーターがレビュー済みのバッチを順番にコミットします
  6. 進捗管理を更新する — 呼び出し元が進捗管理を使用している場合に更新します

並列作業の結果に競合がある場合は、手作業で解決します。別のサブエージェントにマージを依頼しないでください。必要なコンテキストが多すぎるためです。


サブエージェントが失敗した場合

サブエージェントがタスクに失敗した場合:

  • 手作業で修正しないでください — コンテキストが汚染されます
  • 何が問題だったかを具体的に指示して、修正担当のサブエージェントを割り当てます
  • 2回失敗した場合は作業を止め、人間にエスカレーションします。要件または制約の見直しが必要な可能性があります。

コメント