Agent skill
guiding-tdd-development
Guide Test-Driven Development with task splitting, Red-Green-Refactor cycle, and framework auto-detection. Use when developing features with TDD approach, fixing bugs test-first, or when user mentions "TDD", "テスト駆動開発", "test-first", "/tdd".
Install this agent skill to your Project
npx add-skill https://github.com/camoneart/claude-code/tree/main/skills/guiding-tdd-development
SKILL.md
Guiding TDD Development
機能をTDD可能な小さな単位に分割し、Red-Green-Refactorサイクルで実装するスキル。
Contents
- 実行フロー
- Phase 1: 要件分析とタスク分割
- Phase 2: TDDサイクル
- バグ修正フロー
- テストフレームワーク自動検出
- 注意事項
実行フロー
1. 要件分析 → タスク分割(ToDoリスト)
2. 各タスクで TDD サイクル:
RED → GREEN → REFACTOR → ToDoリスト更新 → 繰り返し
Phase 1: 要件分析とタスク分割
- ユーザーの要求を分析
- TDD可能な小さな単位にタスクを分割
- TaskCreateツールで全タスクをリスト化
実装順序の原則
- 依存関係の少ないものから実装
- インターフェース/型定義から始める
- 単純な機能から複雑な機能へ
出力形式
## TDDタスク分割
### 実装する機能
<機能の概要>
### タスク一覧
1. [単体機能A] のテストと実装
2. [単体機能B] のテストと実装
3. [統合機能C] のテストと実装
Phase 2: TDDサイクル
Red(レッド)
- ToDoリストから1つピックアップ
- テストから書く(テストファースト)
- テストを実行して失敗させる
Green(グリーン)
- 失敗しているテストを成功させることに集中
- 最小限のコードを書く(綺麗より動作優先)
- 全てのテストが成功することを確認
Refactor(リファクタリング)
- 全テストが成功している状態で整理整頓
- テストは通ったままにする
- 実装コード、テストコード両方をリファクタリング
繰り返し
- 気付きをToDoリストに反映
- 次のToDoを選んでRedに戻る
各タスクの出力形式
### タスク: [タスク名]
#### RED: テストを書く
<失敗するテストコード>
#### GREEN: 実装する
<テストを通す最小実装>
#### REFACTOR: リファクタリング
<改善されたコード>
バグ修正フロー
バグ修正もTDDで行う:
- Red: バグを再現する失敗テストを書く
- Green: バグを修正してテストを通す
- Refactor: コードを整理
テストフレームワーク自動検出
プロジェクトの設定ファイルからテストフレームワークを自動検出する:
- JavaScript/TypeScript: Jest, Vitest, Mocha
- Python: pytest, unittest, nose2
- Go: testing, testify
- Rust: cargo test
- Ruby: RSpec, minitest
- その他: プロジェクトの設定ファイルから判定
テストファイルの配置場所もプロジェクトの慣習に従う。
注意事項
- テストを書かずに実装を進めない
- 複数の機能を同時に実装しない(1つずつ)
- テストが失敗したままリファクタリングしない
- モックやスタブは必要最小限に
- テストは独立して実行可能にする
- E2Eテストよりユニットテストを優先
参考記事
詳細は references/tdd-resources.md を参照。
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
translating-technical-articles
Translates English technical articles (engineering blogs, documentation) to Japanese while preserving layout and structure. Use when the user asks to translate an article, convert English content to Japanese, or mentions translating a URL or technical blog post.
distributed-tracing
Implement distributed tracing with Jaeger and Tempo to track requests across microservices and identify performance bottlenecks. Use when debugging microservices, analyzing request flows, or implementing observability for distributed systems.
dependency-upgrade
Manage major dependency version upgrades with compatibility analysis, staged rollout, and comprehensive testing. Use when upgrading framework versions, updating major dependencies, or managing breaking changes in libraries.
stripe-integration
Implement Stripe payment processing for robust, PCI-compliant payment flows including checkout, subscriptions, and webhooks. Use when integrating Stripe payments, building subscription systems, or implementing secure checkout flows.
typescript-advanced-types
Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications. Use when implementing complex type logic, creating reusable type utilities, or ensuring compile-time type safety in TypeScript projects.
microservices-patterns
Design microservices architectures with service boundaries, event-driven communication, and resilience patterns. Use when building distributed systems, decomposing monoliths, or implementing microservices.
Didn't find tool you were looking for?