tdd-workflow
テスト駆動開発(TDD)のワークフロー原則を適用するスキルです。RED(失敗するテストを書く)・GREEN(テストを通過させる最小限の実装を行う)・REFACTOR(コードを整理・改善する)のサイクルに従い、品質の高いコードを体系的に構築します。
description の原文を見る
Test-Driven Development workflow principles. RED-GREEN-REFACTOR cycle.
SKILL.md 本文
TDD ワークフロー
テストを先に書き、コードは後で。
1. TDD サイクル
🔴 RED → 失敗するテストを書く
↓
🟢 GREEN → テストを通すための最小限のコードを書く
↓
🔵 REFACTOR → コード品質を改善する
↓
繰り返す...
2. TDD の三原則
- 失敗するテストを成功させるためにのみ、プロダクションコードを書く
- 失敗を示すのに必要な分だけテストを書く
- テストを成功させるのに必要な分だけコードを書く
3. RED フェーズの原則
何を書くか
| 焦点 | 例 |
|---|---|
| 動作 | 「2つの数を足すべき」 |
| エッジケース | 「空の入力を処理すべき」 |
| エラー状態 | 「無効なデータで例外を投げるべき」 |
RED フェーズのルール
- テストは最初に失敗すること
- テスト名は期待される動作を説明する
- 理想的には1つのテストに1つのアサーション
4. GREEN フェーズの原則
最小限のコード
| 原則 | 意味 |
|---|---|
| YAGNI | You Aren't Gonna Need It (今は必要ない) |
| 最もシンプルなもの | テストを通すための最小限を書く |
| 最適化なし | 動作させるだけでいい |
GREEN フェーズのルール
- 不要なコードを書かない
- まだ最適化しない
- テストを通す、それ以上のことはしない
5. REFACTOR フェーズの原則
何を改善するか
| 領域 | アクション |
|---|---|
| 重複 | 共通コードを抽出する |
| 命名 | 意図を明確にする |
| 構造 | 組織を改善する |
| 複雑さ | ロジックを簡潔にする |
REFACTOR のルール
- すべてのテストは緑を保つ
- 小さな段階的変更
- リファクタ後にコミットする
6. AAA パターン
すべてのテストは以下に従う:
| ステップ | 目的 |
|---|---|
| Arrange | テストデータを準備する |
| Act | テスト対象のコードを実行する |
| Assert | 期待される結果を検証する |
7. TDD を使うべき時
| シナリオ | TDD の価値 |
|---|---|
| 新機能 | 高 |
| バグ修正 | 高 (最初にテストを書く) |
| 複雑なロジック | 高 |
| 探索的開発 | 低 (スパイク後に TDD) |
| UI レイアウト | 低 |
8. テストの優先順位
| 優先度 | テストタイプ |
|---|---|
| 1 | 正常系 |
| 2 | エラーケース |
| 3 | エッジケース |
| 4 | パフォーマンス |
9. アンチパターン
| ❌ しないこと | ✅ すること |
|---|---|
| RED フェーズをスキップ | テスト失敗を最初に見る |
| テストを後で書く | テストを先に書く |
| 最初から過設計 | シンプルに保つ |
| 複数のアサーション | 1つの動作に1つのテスト |
| 実装をテストする | 動作をテストする |
10. AI 拡張 TDD
マルチエージェントパターン
| エージェント | 役割 |
|---|---|
| エージェント A | 失敗するテストを書く (RED) |
| エージェント B | テストを通すコードを実装する (GREEN) |
| エージェント C | 最適化する (REFACTOR) |
覚えておくこと: テストが仕様書です。テストが書けなければ、要件を理解していません。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- davila7
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/davila7/claude-code-templates / ライセンス: MIT
関連スキル
newsblur-cli
ターミナルからNewsBlurを管理できます。フィードの閲覧、ストーリーの検索、記事の保存・共有、インテリジェンス分類器の学習、新しいフィードの発見、ワークフローの自動化がNewsBlur CLIで実現します。ユーザーがNewsBlurアカウントを操作したい場合、フィードの確認、購読管理、またはニュース読み込みに関するスクリプト構築時に活用してください。
caveman-compress
自然言語のメモリファイル(CLAUDE.md、todos、preferences)を「原始人形式」に圧縮し、入力トークンを削減します。技術的な内容、コード、URL、構造はすべて保持したまま圧縮します。圧縮版が元のファイルを上書きし、人間が読める形のバックアップはFILE.original.mdとして保存されます。トリガー:/caveman-compress FILEPATH または「compress memory file」
find-skills
日本語の意図から Agent Skills を発見する。「楽天SEOのスキル探して」「PDFを処理したい」「データ分析を自動化したい」などの日本語リクエストに対応。Claude Code (CLI)、Codex、Gemini CLI、claude.ai (Web) いずれでも動作。日本最大の Agent Skills データベース「Agent Skills by ALSEL」(11,000件超、全件日本語化、ダウンロード可能スキル8,600件超) から、ユーザーの意図に合うスキルを推薦・インストール案内する。
planning-and-task-breakdown
仕事を順序立てたタスクに分割します。仕様書や要件が明確にあり、実装可能なタスクに分解する必要がある場合に利用してください。タスクが大きすぎて着手しづらい場合、スコープを見積もる必要がある場合、または並列で作業を進められる場合に活用できます。
docx
このスキルは、ユーザーがWord文書(.docxファイル)を作成、読み込み、編集、操作したいときに使用します。以下の場合に実行してください:「Word文書」「.docx」などの記述、または目次・見出し・ページ番号・レターヘッドなどのフォーマットを含む専門的な文書の作成リクエスト。また、.docxファイルのコンテンツ抽出・再編成、文書への画像挿入・置換、Word形式での検索置換、変更履歴やコメント機能の使用、コンテンツを整形したWord文書への変換の場合も対象です。ユーザーが「レポート」「メモ」「手紙」「テンプレート」などの成果物をWord形式または.docxファイルで求める場合はこのスキルを使用してください。PDF、スプレッドシート、Google Docs、文書作成と無関係なコーディングタスクには使用しないでください。
idea-refine
アイデアを反復的に改善します。構造化された発散的思考と収束的思考を通じて、アイデアを洗練させることができます。「idea-refine」または「ideate」を使用してトリガーします。