code-tdd

star 0

精緻化されたタスク仕様(task_<phase_num>_<task_num>.md)に基づき、TDD でコードを実装する時に使用する。 RED → GREEN → REFACTOR のサイクルで実装し、タスクの検証ゲートを満たす。coder サブエージェントが使用する。

Ag-2O By Ag-2O schedule Updated 6/3/2026

name: code-tdd description: >- 精緻化されたタスク仕様(task__.md)に基づき、TDD でコードを実装する時に使用する。 RED → GREEN → REFACTOR のサイクルで実装し、タスクの検証ゲートを満たす。coder サブエージェントが使用する。 user-invocable: false allowed-tools: [Read, Write, Edit, Glob, Grep, Bash, TodoWrite]

TDD 実装ワークフロー

coder サブエージェントが従う実装ワークフローと TDD 方法論を定義する。 スコープ内に留まり、レビューは別エージェント(reviewer)が担う。

準備

実装対象のタスク ID(task_<phase_num>_<task_num> 形式)とフィーチャー名を確認する。 未指定の場合は呼び出し元へ確認する。 次に、対象の .artifacts/features/<feature>/phases/<phase>/task_<phase_num>_<task_num>.md を読み込む。 存在しない場合は停止し、先に refiner でタスクを精緻化するよう呼び出し元へ伝える。

フェーズ 1: タスクの把握

  • task_<phase_num>_<task_num>.md<action> / <files> / <verify> / <done> と受け入れ基準を把握する。
  • 必要に応じて .artifacts/features/<feature>/specification.md の関連箇所、.artifacts/project_architecture.md を参照する。
  • 対象ファイル周辺の既存コードを読み、命名規約・パターン・既存テストを把握する。
  • .artifacts/research/*.md が存在し関連する場合は読み込み、実装へ反映する。

フェーズ 2: TDD で実装

task_<phase_num>_<task_num>.md のスコープ内で、次の RED → GREEN → REFACTOR サイクルに従って実装する。 スコープ外の変更や機能追加はしない。

Step 1: RED — 失敗するテストを書く

期待する振る舞いを記述したテストを書き、意図した理由で失敗することを確認する。 RED が確認されるまでプロダクションコードには触れない。

Step 2: GREEN — 最小限の実装を書く

失敗しているテストをパスさせるために必要な実装だけを行う。再実行して GREEN を確認する。

Step 3: REFACTOR — コードを改善する

重複を除去し、命名を改善し、最適化する。すべてのテストが GREEN のまま維持されること。

Step 4: カバレッジ確認

カバレッジレポートを実行し、最低目標(80%)を達成していることを確認する。

フェーズ 3: 検証

task_<phase_num>_<task_num>.md<verify> に指定された手段を実行し、満たされるまで修正する。 加えて、対象言語のスキル(base-python など)が定めるテストと lint の検証ゲートを実行し、違反を 0 件にする。

  • テストランナー・カバレッジ・lint の具体的なコマンドは言語スキルを参照する。 ワークフローとしてのスコープは「ゲートを実行し満たすこと」であり、言語固有のコマンドは持たない。
  • lint は編集ごとのフックでは実行されない(フックは format のみ)。このゲートで必ず lint を通すこと。

フェーズ 4: 完了の扱い

<verify> が満たされた時点で本スキル(TDD 実装方法論)の責務は完了とする。 成果物の永続化(サマリー追記・state.db 記録)・Git コミット・呼び出し元への報告は本スキルでは行わない。 これらは呼び出し元である coder エージェント定義の「完了時の必須ステップ」が担う。

カバーすべきエッジケース

  1. Null / 未入力 の入力
  2. の配列や文字列
  3. 無効な型: 期待する型や形式外の値
  4. 境界値(最小 / 最大)
  5. エラーパス(ネットワーク障害・外部サービスエラー)
  6. 並行操作(該当する場合のレースコンディション)
  • 振る舞いをテストする: 実装の詳細(内部状態)ではなく、外から観察できる振る舞いを検証する。
  • テスト間を独立に保つ: 共有可変状態を持ち込まず、各テストが単独で実行できるようにする。
  • 意味のあるアサーションを書く: 検証対象の振る舞いを明確に表現するアサーションを用いる。
  • 外部依存を分離する: データベース・API・サービスはモックまたはフィクスチャで切り離す。
  • 言語スキルと組み合わせる: テストコマンド・構造・スタイルを言語に合わせるため、base-python などの 言語スキルと併用する。
Install via CLI
npx skills add https://github.com/Ag-2O/claude-code-small --skill code-tdd
Repository Details
star Stars 0
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator