TDD Feature Development
Overview
このスキルは、Markdown形式の要件定義書からテスト駆動開発(TDD)で機能開発・改修を行います。要件定義書を読み込み、テストシナリオを作成し、Red-Green-Refactorサイクルで実装を進めます。
使用するタイミング:
- Markdown要件定義書から機能を実装する場合
- TDDで新機能を開発する場合
- 既存機能をテストファーストで改修する場合
Workflow
このスキルは4つのフェーズで構成されます。
フェーズ 1: 準備
-
プロジェクト情報を取得
AGENTS.mdまたはCLAUDE.mdを読み込む- プロジェクトの技術スタック、テストフレームワーク、コーディング規約を把握
-
要件定義書を読み込む
- ユーザーから指定されたMarkdownファイルのパスを確認
- 要件定義書の内容を読み込み、機能要件・受け入れ基準を抽出
出力: プロジェクト概要と要件定義の理解内容を報告
フェーズ 2: テストシナリオ作成
-
受け入れ基準からテストケースを設計
- 単体テスト: 個別関数/メソッドレベル
- 統合テスト: モジュール間連携レベル
各テストケースには以下を含める:
- テストケース名
- 前提条件
- 実行手順
- 期待結果
-
エッジケース・境界値を検討
- 正常系だけでなく異常系も設計
- 境界値テストケースを追加
-
ユーザーに確認
AskUserQuestionツールでテストシナリオの妥当性を確認- 必要に応じて修正・追加
出力: 承認済みテストシナリオ一覧と実行順序
フェーズ 3: Red-Green-Refactor
各テストケースごとに以下のTDDサイクルを実行します:
🔴 Red: 失敗するテストを書く
- テストコードを作成
- テストを実行し、失敗することを確認
- 失敗理由が期待通りか検証(未実装エラーなど)
🟢 Green: 最小限の実装でテストを通す
- テストを通すための最小限のコードを書く
- テストを実行し、成功することを確認
- 全ての既存テストも通ることを確認
🔵 Refactor: コードを整理
- 重複コードを削除、可読性を向上
- リファクタリング後にテストを実行
- 全テストが成功することを確認
繰り返し: 全てのテストケースが完了するまでRed-Green-Refactorを繰り返す
フェーズ 4: 完了
-
全テスト実行
- プロジェクト全体のテストスイートを実行
- 全テストが成功することを確認
-
要件との整合性確認
- 要件定義書の各項目をチェック
- 受け入れ基準が全て満たされているか確認
-
ユーザーに報告
- 実装した機能の概要
- テスト結果サマリー
- 次のステップの提案(あれば)
出力: 完了報告、テスト結果サマリー、変更ファイル一覧
ベストプラクティス
テストの粒度
- 単体テスト: 高速・独立・具体的
- 統合テスト: 実際の連携を検証
エラーハンドリング
- エラーケースもテストに含める
- 例外処理は明示的にテスト
- エラーメッセージも検証対象
Example Usage
ユーザーリクエスト例:
/tdd-feature-dev docs/requirements/user-auth.md
スキルの動作:
AGENTS.mdを読み込み、プロジェクトがNode.js + Jestを使用していることを確認docs/requirements/user-auth.mdから「ユーザー認証機能」の要件を抽出- テストシナリオを作成し、ユーザーに確認
- Red-Green-Refactorサイクルで実装:
- Red:
auth.test.jsに失敗するテストを書く - Green:
auth.jsに最小実装を追加 - Refactor: コードを整理
- Red:
- 全テスト成功を確認し、完了報告
