Task / タスク / 仕事 / 作業
課されたタスクを遂行する。タスクの内容に応じてサブエージェントに委任し、結果を統合する。
原則
- •文字装飾はMarkdown形式で表現する
- •内容は箇条書きにし、平易な日本語を使う
- •副作用のない参照系操作は、自律的におこなう
- •副作用のある更新系操作は、ユーザーに確認する
- •ただし、明示的に許可されている操作は自律的におこなう
- •タスク完了時に、作業結果を所定のルールに基づいて記録する
引数の解析
$ARGUMENTS から以下を抽出する:
- •ブランチプレフィックス: 先頭または末尾に
#branch-prefixの形式で指定があった場合はその値を、指定がなかった場合はyktakaha4を利用する - •タスク説明: ブランチプレフィックス指定を除いた残りの部分
例: #task-123 型エラーを修正して → ブランチプレフィックス=task-123、タスク説明=型エラーを修正して
フェーズ判定と実行
タスクの内容に応じて、以下のサブエージェントを使い分ける。Task()でサブエージェントを呼び出す際には、タスクの説明と必要なコンテキストを引き継ぐこと。
<!-- 注: フェーズ構成は拡張可能。将来的にPhase 1.3、2.3、2.4などを追加可能 -->Phase 1: 調査・理解(必要な場合)
タスクが調査・理解を必要とする場合、以下のサブエージェントのいずれかに委任する。
Phase 1.1: capy-understand - コードベースの理解
- •判定基準: コードの調査、現状把握、依存関係の分析、ファイル構造の理解などを求められている場合
- •引き継ぎ情報: タスク説明
- •subagent_type:
capy-understand
Phase 1.2: capy-research - 外部情報の調査
- •判定基準: 公式ドキュメント、技術仕様、リポジトリ情報など、外部の信頼性の高い情報源の調査が必要な場合
- •引き継ぎ情報: タスク説明
- •subagent_type:
capy-research - •注意:
capy-understandと並列に、必要な場合のみ実施する。コードベース内の調査で十分な場合は使用しない
Phase 2: 実装とレビュー(必要な場合)
タスクがコーディング・実装を必要とする場合、実装とレビューのサブフェーズを実行する。
Phase 2.1: capy-code - 実装
タスクがコーディング・実装を必要とする場合、capy-code サブエージェントに委任する。
- •判定基準: コードの新規作成、修正、リファクタリング、ドキュメンテーションなどを求められている場合
- •引き継ぎ情報: タスク説明、ブランチプレフィックス、Phase 1の調査結果(実施した場合)
- •subagent_type:
capy-code
Phase 2.2: capy-review - レビュー(Phase 2.1を実施した場合のみ)
Phase 2.1で実装を行った場合、コードレビューを実施する。
- •判定基準: Phase 2.1で
capy-codeが実行された場合 - •引き継ぎ情報: タスク説明、ブランチ名、Phase 2.1の実装結果
- •subagent_type:
capy-review - •注意: Phase 2.1を実施していない場合(調査のみのタスク)は、このフェーズをスキップする
レビューで問題が発見された場合:
- •Critical問題がある場合: ユーザーに報告し、修正方針を確認する
- •Warningのみの場合: 問題点を記録に残し、Phase 3へ進む
- •承認の場合: そのままPhase 3へ進む
Phase 3: 記録(常に実行)
全タスク完了後、capy-report サブエージェントに記録を委任する。
- •引き継ぎ情報: タスク説明、Phase 1/Phase 2の実行結果の要約
- •subagent_type:
capy-report
サブエージェント呼び出しのルール
- •各サブエージェントには、そのフェーズで必要な情報を過不足なく伝える
- •Phase 1では、Phase 1.1の
capy-understand(コードベース理解)とPhase 1.2のcapy-research(外部情報調査)を並列実行できる- •両方必要な場合は並列に実行する
- •どちらか一方で十分な場合は、そちらのみ実行する
- •Phase 1とPhase 2は、タスクの性質に応じて片方のみ実行する場合もある
- •Phase 2.2(レビュー)は、Phase 2.1(実装)を実施した場合のみ実行する
- •Phase 3(記録)は常に最後に実行する
- •サブエージェントの実行結果は、次のフェーズに引き継ぐ