Newer
Older
programming-template / .claude / commands / implement.md

name: implement description: "実装パイプラインを開始する.コーディング → テスト → リファクタリングの順で 3 つのエージェントを実行し,各フェーズ間で人間の確認を挟む." argument-hint: "<タスク内容>"

あなたはオーケストレーターです.以下の実装パイプラインを管理してください. 各フェーズ間で必ず人間の確認を挟み,承認を得てから次のフェーズに進むこと.

前提確認 (Pre-check)

  1. 現在のブランチを確認する(git branch --show-current
  2. main ブランチにいる場合,GUIDE_04 に従い作業ブランチを作成する
    • ブランチ名: feature//fix/ + タスク内容を表す英単語 2〜4 語(kebab-case)
  3. 実装対象のタスクを確認する: $ARGUMENTS

Phase 1: コーディング (Coder)

coder エージェントに以下を委譲する:

「以下のタスクを実装してください: $ARGUMENTS」

Coder の出力(実装サマリー)を記録する.

人間の確認ポイント 1

Coder の実装サマリーをユーザーに提示し,以下を依頼する:

Phase 1(コーディング)が完了しました.

{Coder の実装サマリー}

ブラウザや実機で動作を確認してください.

  • OK → 次のフェーズ(テスト)に進みます
  • NG → 問題点を教えてください.修正します」

ユーザーの OK を得るまで Phase 2 に進まないこと. NG の場合は coder エージェントに修正を委譲し,再度確認を依頼する.

Phase 2: テスト (Tester)

tester エージェントに以下を委譲する:

「直前の実装に対するテストを仕様ベースで作成・実行してください.

実装サマリー: {Coder の出力}」

Tester の出力(テストサマリー)を記録する.

Phase 2 完了後の分岐

テスト結果に応じて自動で分岐する:

  • 全テスト成功: ユーザーにテストサマリーを表示した上で,自動的に Phase 3 に進む.
  • テスト失敗あり: ユーザーに報告し,判断を仰ぐ.

テスト失敗時のみ,以下をユーザーに提示する:

Phase 2(テスト)でテスト失敗がありました.

{Tester のテストサマリー}

テスト失敗の原因を判断してください:

  • 仕様の問題 → 仕様の修正方針を教えてください
  • 実装の問題 → coder エージェントに修正を委譲します
  • テストの問題 → tester エージェントに修正を委譲します」

ユーザーの指示に従い対応した後,再度テストを実行して全テスト成功を確認してから Phase 3 に進む.

Phase 3: リファクタリング (Refactorer)

refactorer エージェントに以下を委譲する:

「直前の実装・テスト後のコードをリファクタリングしてください.

実装サマリー: {Coder の出力}

テストサマリー: {Tester の出力}」

Refactorer の出力(リファクタリングサマリー)を記録する.

人間の確認ポイント 3

Refactorer のリファクタリングサマリーをユーザーに提示し,以下を依頼する:

Phase 3(リファクタリング)が完了しました.

{Refactorer のリファクタリングサマリー}

全フェーズが完了しました.最終確認をお願いします.

  • OK → コミット・push・PR 作成に進みます
  • NG → 修正点を教えてください」

Phase 4: ドキュメント更新 (Documentation)

リファクタリング完了後,実装内容に応じてドキュメントを更新する.

docs/ の更新チェック

以下に該当する変更がある場合,docs/ 内の関連ドキュメントを更新する:

  • API やデータ構造の変更
  • 環境設定の変更
  • 開発計画の進捗に関わる変更
  • 規約やルールに関わる変更

CLAUDE.md の更新

変更内容に応じて CLAUDE.md の「開発進捗」セクションを更新する.

コミットコンテキストの書き出し

Phase 4 の結果を .claude/commit-context.md に書き出す. このファイルは /commit が参照し,docs/CLAUDE.md の更新漏れチェックをスキップするために使う.

# commit-context
- docs_updated: true/false
- claude_md_updated: true/false
- note: (更新不要の理由や更新内容の要約)

更新がある場合のみ確認

ドキュメントを更新した場合は,更新内容をユーザーに提示する:

Phase 4(ドキュメント更新)が完了しました.

{更新したドキュメントの一覧と変更内容の要約}

確認をお願いします.

  • OK/commit でコミットできます
  • NG → 修正点を教えてください」

更新不要と判断した場合は,確認を挟まず完了処理に進む.

完了処理 (Finalization)

「全フェーズが完了しました./commit でコミットしてください.」

注意事項 (Notes)

  • 各フェーズは必ず順番に実行する(並列実行しない)
  • フェーズをスキップしない.リファクタリング不要の判断は Refactorer エージェント自身が行う
  • エージェントがエラーを報告した場合,ユーザーに報告して判断を仰ぐ
  • 人間の確認なしに次のフェーズに進まない