SKILL.md
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: 完了
- 全テスト実行
- プロジェクト全体のテストスイートを実行 - 全テストが成功することを確認
- 要件との整合性確認
- 要件定義書の各項目をチェック - 受け入れ基準が全て満たされているか確認
- ユーザーに報告
- 実装した機能の概要 - テスト結果サマリー - 次のステップの提案(あれば)
出力: 完了報告、テスト結果サマリー、変更ファイル一覧
ベストプラクティス
テストの粒度
- 単体テスト: 高速・独立・具体的
- 統合テスト: 実際の連携を検証
エラーハンドリング
- エラーケースもテストに含める
- 例外処理は明示的にテスト
- エラーメッセージも検証対象
実装に関しては programming-best-practices スキルを参照する。 テストに関しては unit-testing-best-practices スキルを参照する。
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: コードを整理
- 全テスト成功を確認し、完了報告