ds-tdd について
ds-tdd は、コーディングエージェント向けのテスト駆動によるバグ修正スキルです。問題の再現から修正と周辺テストの確認までを案内します。
主な機能
- 01バグの特定と再現
- 02既存のテスト形式を踏襲
- 03修正前にテストを実行して失敗を確認
- 04修正と周辺テストの確認
- 05テストが難しい場合は実行可能なチェックを使用
活用シーン
- 01報告されたバグの回帰テスト作成
- 02失敗がテストミスではなくバグによることの確認
- 03小規模な本番コード変更の検証
- 04テストが適さない場合の再現スクリプトやログの確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ aicodeking/ deepseek-stack --skill ds-tddインストール後、Claude Code で/ds-tddを入力して読み込まれたか確認します。
詳細
ds-tdd
本番コードに手を加える前に、バグを再現できる形にして、修正を主張ではなく実証します。
手順
- バグを明確にします。期待される動作、実際の動作、該当するコードパス、最小の再現方法を特定します。
- そのコードパスに最も近い既存のテストスタイルを見つけて使用します。このためだけに新しいテストハーネスを作らないでください。
- バグを検出できたはずの最小限のテストを書きます。現在の実装ではなく、意図した動作を検証します。
- テストを実行して、出力を示します。テストは失敗しなければなりません。また、タイプミスやインポート漏れではなく、バグが原因で失敗する必要があります。そうでなければ、まずテストを修正します。
- 近接する既存の契約を壊さず、意図した動作を実現する最小限の本番コード変更を行います。
- 新しいテストと周辺のテストスイートを実行して、出力を示します。
- クリーンなテストが現実的でない場合(セットアップが重い、モックが壊れやすい、本番環境でしか存在しない状態など)は、代わりに実行可能な最も近い確認方法(スクリプト、再現コマンド、ログの確認など)を使います。テストを省略した理由を述べてください。
次の場合に停止します
- 新しいテストが修正前に失敗し、修正後に成功したことを、どちらも出力とともに示せて、周辺のテストスイートも成功した場合。
- または、修正を3回試してもテストが失敗する場合。その時点で停止し、分かったことを報告して
/ds-unstickを実行します。
ルール
- 誤った実装に合わせてテストを編集しないでください。
- 明確な理由を述べずに、既存のアサーションを弱めないでください。
- テストは悪いテストより優れているわけではありません。モックばかりを検証するテスト、タイミングに依存するテスト、すぐに削除されるようなテストは避けてください。
コメント
Markdown 対応