Implementation Task Command
このコマンドは、機能やバグ修正を最初から最後まで実装するためのエージェントです。
実行フロー(必ずこの順序で実行)
Step 1: 実装内容を把握する
実行手順:
- ユーザーから提供された実装内容(
$1)を読み込む - 実装内容を分析して以下を理解:
- 何を実装するか(機能、バグ修正、リファクタリングなど)
- なぜ実装するか(目的、背景)
- どのように実装するか(アプローチ、技術スタック)
- 関連する既存コードを確認:
codebase_searchで関連するコードを検索read_fileで関連ファイルを確認
- タスク名を英語で考える(kebab-case推奨)
- 例:
add-combine-to-annotation,fix-property-matching,refactor-api-generation
- 例:
確認すべき内容:
- 実装する機能の詳細
- 関連する既存のコードやアーキテクチャ
- 使用する技術やライブラリ
- 依存関係や制約事項
Step 2: 期待されるアウトプット・検証方法を定義する
実行手順:
.local/task-{タスク名}/ディレクトリを作成- ツール:
run_terminal_cmdでmkdir -p .local/task-{タスク名}
- ツール:
.local/task-{タスク名}/01_期待されるアウトプットと検証方法.mdファイルを作成- ツール:
writeを使用
- ツール:
ファイルの内容:
# 期待されるアウトプットと検証方法 {タスク名}
## 期待されるアウトプット
{期待されるアウトプット}
## 検証方法
{検証方法}
記載内容のガイドライン:
期待されるアウトプット:
- タスク実装後にできるようになる機能の詳細を簡潔に記載
- 具体的な動作や挙動を説明
- 入力と出力の例を含める
検証方法:
- タスク実装後、どのようにテストするかを具体的に記載
integrationTestやdevモジュールを積極的に使用- 明らかに不必要と考えられる場合以外は、必ず以下を追加:
- 「
.github/workflows/pull-request.ymlを参考に、CI をローカルでエミュレートする。」
- 「
- その他タスクの内容に応じて以下を含める:
- ファイルを確認する方法
- コマンドを実行する方法
- テストコードを作成して実行する方法
検証方法の例:
integrationTest/app/src/commonTest/にテストコードを用意し、./gradlew jvmTestを実行してテストが成功することを確認する。integrationTest/app/build/generated/ksp/jvm/jvmMain/kotlinに出力された自動生成ソースのファイル内容を確認する。.github/workflows/pull-request.ymlを参考に、CI をローカルでエミュレートする。devモジュールを使用して実際の動作を確認する。
Step 3: 実装する
実行手順:
todo_writeを使用して実装タスクを分割- 大きなタスクは複数の小さなタスクに分割
- 各タスクに明確な目標を設定
- 実装を進める:
codebase_searchで関連コードを検索read_fileで既存コードを確認writeまたはsearch_replaceでコードを実装- 必要に応じて
grepでパターンを検索
- 各タスク完了時に
todo_writeでステータスを更新
実装時の注意事項:
- 既存のコードスタイルに従う
- 適切なエラーハンドリングを実装
- コメントを適切に追加
- テストコードも同時に実装
Step 4: 検証を実施する
実行手順:
- Step 2で定義した検証方法を順番に実行
- 各検証項目を確認:
run_terminal_cmdでコマンドを実行read_fileでファイル内容を確認grepでパターンを検索
- 検証が失敗した場合:
- 問題を特定
- 修正を実施
- 再度検証
検証コマンドの例:
# リントチェック
./gradlew ktlintCheck
# テスト実行
./gradlew jvmTest
cd integrationTest && ./gradlew jvmTest
# ビルド確認
./gradlew build
Step 5: 実装内容のサマリーを作成する
実行手順:
.local/task-{タスク名}/02_実装内容サマリー.mdファイルを作成- ツール:
writeを使用
- ツール:
ファイルの内容:
# 実装内容 {タスク名}
{実装内容の説明($1から引用)}
## 実装内容サマリー
{実装内容サマリー}
## 実装していないこと
{実装していないこと}
記載内容のガイドライン:
実装内容サマリー:
- 簡単な説明と重要なファイル・差分内容を記載
- 変更されたファイルのリスト
- 主要な変更点の説明
- 実装アプローチの説明
実装していないこと:
- 今回は実装しなかったが、考えられる追加機能などを記載
- そのままコピペしてAI Agentに共有できるように簡潔に記載
- 多くても200文字程度で、いくつかリストアップ
- 将来の改善点や拡張性についても記載
エラー処理とトラブルシューティング
実装中にエラーが発生した場合
- エラーメッセージを詳細に確認
codebase_searchで関連するコードを検索read_fileで既存の実装を確認- 問題を特定して修正
検証が失敗した場合
- エラーメッセージを確認
run_terminal_cmdで--infoまたは--stacktraceフラグを付けて詳細ログを取得- 問題を特定して修正
- 再度検証を実施
実装内容が不明確な場合
- ユーザーに確認を求める
- 既存のコードを参考にする
- 類似の実装を
codebase_searchで検索
実行チェックリスト
実装時は、以下のチェックリストを確認:
- 実装内容を理解した
- 関連する既存コードを確認した
- タスク名を決定した
- 期待されるアウトプットと検証方法を定義した
- 実装タスクを分割した(必要に応じて)
- 実装を完了した
- 検証を実施した
- すべての検証が成功した
- 実装内容のサマリーを作成した