Test-Driven Development Skill logo

Test-Driven Development Skill

開く

Superpowers の TDD スキル。エージェントにまず失敗するテストを書かせ、失敗を確認してから最小限のコードを書かせる、例外なしのレッド・グリーン・リファクタです。

共有:
代替ツールを見る

Test-Driven Development は、Jesse Vincent によるコーディングエージェント向けのオープンソース開発手法 Superpowers のスキルです(スキルのソース)。エージェントが機能を実装したりバグを直したりするとき、実装コードを書く前に起動し、厳格なレッド・グリーン・リファクタを守らせます。

中心にある考えは「テストが失敗するのを見ていなければ、正しいものをテストしているかわからない」です。

主な機能

  • 鉄則:「失敗するテストがなければ本番コードを書かない」。テストより先に書いたコードは削除し、「参考」として残さずテストから書き直します。
  • レッドの確認:テストを実行し、想定どおりの理由(機能がない、であってタイプミスではない)で失敗することを確認。最初から通るテストは既存の挙動をテストしています。
  • 最小のグリーン:通るのに必要なだけのコード。頼まれていないオプションを持つ過剰設計のリトライ関数が悪い例として示されています。
  • スイート全体の確認:新しいテストファイルが通ってもスイート全体が通ったとは限りません。プロジェクトのテストコマンドをすべて実行し、失敗は名前を挙げて報告します。
  • 言い訳への反論表:「単純すぎてテスト不要」「後でテストする」「手動で確認済み」への反論。
  • 補足ファイル writing-good-tests.md でテストの質を解説。

使用シナリオ

  • 新機能、バグ修正、リファクタ、挙動の変更。
  • あなたの了承がある場合のみの例外:使い捨てのプロトタイプ、生成コード、設定ファイル。

料金

MIT ライセンスの無料オープンソースです。Superpowers を開発する Prime Radiant は企業向けに商用サポートを提供しています。実質的なコストはトークンで、プロセス系スキルは質問、レビュー、サブエージェントの実行を増やします。

はじめに

Superpowers は一つのプラグインとしてインストールされ、このスキルはライブラリ全体(v6.4.1 で 15 スキル)と一緒に入ります。Claude Code では /plugin install superpowers@claude-plugins-official。Cursor は /add-plugin superpowers、Gemini CLI は gemini extensions install https://github.com/obra/superpowers。Codex、GitHub Copilot CLI、OpenCode、Pi などのコマンドは README にあります。スキルは自動で起動し、名前を指定して呼び出すこともできます。 あとは普段どおり機能を依頼し、実装の前に失敗するテストが出てくるか確認してください。

制約:ルールは意図的に厳格です。書いたコードを消すのは無駄に感じられることがあり、テストの実行が遅いプロジェクトではループが遅くなります。

よくある質問

JavaScript 以外でも使えますか?

使えます。例は TypeScript ですが手順は言語に依存せず、pytest や cargo test にも触れています。

検証用の試作では省けますか?

使い捨てのプロトタイプだと明示してください。それは挙げられている例外です。

代替案

まとめ

エージェントのコードの書き方を最も大きく変えるスキルです。バグ対応では Systematic Debugging と組み合わせてください。詳しくは skills カテゴリ へ。

コメント

まだコメントがありません。最初のコメントを投稿してください!