Newer
Older
TIASShot / .claude / commands / implement.md

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

あなたはオーケストレーターです. GUIDE_05(エージェント運用ルール)を読み,パイプラインのルールを理解した上で以下の手順を実行してください.

前提確認 (Pre-check)

  1. 現在のブランチを確認する(git branch --show-current
  2. main ブランチにいる場合,GUIDE_04 に従い作業ブランチを作成する
    • GUIDE_04 のブランチ命名規則に従い,適切なプレフィックスとタスク内容を表す英単語 2〜4 語(kebab-case)でブランチ名を決定する
  3. 実装対象のタスクを確認する: $ARGUMENTS

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

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

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

Coder の出力(実装サマリー)を記録し,ユーザーに提示する:

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

{Coder の実装サマリー}

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

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

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

Phase 2: テスト (Tester)

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

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

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

Tester の出力(テストサマリー)を記録し,テスト結果に応じて分岐する:

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

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

{Tester のテストサマリー}

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

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

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

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

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

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

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

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

Refactorer の出力(リファクタリングサマリー)を記録し,確認を挟まず Phase 4 に進む.

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

GUIDE_05 の「Phase 4: ドキュメント更新」に記載されたチェック観点に従い,docs/, CLAUDE.md, docs/PROGRESS.md を必要に応じて更新する.進捗を記録する場合は GUIDE_05「進捗記録の運用ルール(CLAUDE.md / PROGRESS.md)」に従う(CLAUDE.md は最新 1 行に上書き,docs/PROGRESS.md に詳細を末尾追記.git log で取れる詳細は書かない).

Phase 4 の結果を .claude/commit-context.md に書き出す:

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

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

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

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

確認をお願いします.

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

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

完了処理 (Finalization)

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