skill-tdd について
Codex CLI 向けのTDDスキルで、レッド・グリーン・リファクタリングのサイクルをコード変更に適用します。本番動作を変える前に、想定どおり失敗するテストを確認し、完了時に必要な証拠も定めています。
主な機能
- 01実装前に想定どおり失敗するテストを要求
- 02対象テストと影響を受けるスイートを実行
- 03失敗が続く場合に方針を切り替え
- 04テスト統合の根拠を記録
活用シーン
- 01対象テストで動作変更を検証
- 02影響を受けるスイートでコード変更を確認
- 03テスト統合案のレビュー
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nyldn/ claude-octopus --skill skill-tddインストール後、Claude Code で/skill-tddを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
ホスト:Codex CLI — このスキルはClaude Code向けに設計され、Codex用に適応されています。 相互参照コマンドでは、
/octo:*スラッシュコマンドではなく、Codexにインストールされたスキル名を使用します。 現在のCodexシェルとサブエージェントツールを使用してください。現在のセッションで利用可能になっていないプロバイダー、モデル、ホストのサブエージェントが利用可能だと断言しないでください。 ホストツールに相当するものについては、skills/blocks/codex-host-adapter.mdを参照してください。
テスト駆動開発
レビューを実施するかどうか判断するため、インストール済みプラグインの
skills/blocks/engineering-method-selection.md を読んでください。
自然言語での依頼と --peer-review は、同じポリシーに従います。
ホスト限定の依頼を尊重してください。リスクがあるというだけでは、有料利用は許可されません。
現在のホストで、レッド、グリーン、リファクタリングのサイクルを実行してください。通常のTDDでは、追加のプロバイダー呼び出しはゼロです。ユーザーが --peer-review を指定した場合、独立したレビューを明示的に依頼した場合、または既存のリスクポリシーで求められる場合に限り、外部レビュアーを1名使用してください。明示的なディベート、評議会、複数モデルのコマンドには、それぞれ独自の実行条件が適用されます。
ルール
想定した理由で失敗する対象を絞ったテストがない限り、本番の動作を変更しないでください。依頼された変更の範囲外にある既存の実装はそのまま維持します。
- 観測可能な動作と、それを証明する最小のパブリック境界を特定します。
- 対象を絞ったテストを1つ作成します。パブリック境界で失敗モードを切り分けられない場合に限り、内部の不変条件を直接テストします。
- テストを実行し、想定した失敗、コマンド、終了ステータスを記録します。
- テストに合格する最小限の変更を実装します。
- 対象を絞ったテストを実行し、その後、影響を受けるテストスイートを実行します。
- テストが成功し続けている場合に限り、リファクタリングします。
実装前にテストが合格した場合、それはレッドの証拠にはなりません。フィクスチャや構文の問題が原因でエラーになった場合は、動作の欠落を原因として失敗するまでテストを修正してください。
テストの統合
似たアサーションを重複した保証とみなしてはなりません。OS、セキュリティ、キャンセル、統合の境界は個別に維持してください。削除するテストごとに、old_test、behavior、replacement、mutant、red_observed、baseline_ms、candidate_ms、reason を記録してください。残すテストは、意図した呼び出し元の境界で、指定されたミュータントを検出できなければなりません。
ウォームアップを1回行った後、独立した実行を5回測定し、すべてのサンプルと中央値を報告してください。遅延が20%と100 msの両方を超える場合に限り、低速化を検討してください。
完了には、観測されたレッドとグリーンの証拠、影響を受けるテストスイートの結果、テストを削除した場合は統合台帳が必要です。レビュアーがいない場合は、レビュー済みのふりをせず、レビュー未完了として報告してください。
戦略の切り替え
実装を2回試みても同じテストがレッドのままなら、いったん止まり、テスト境界、フィクスチャ、想定される動作を再確認してください。戦略切り替えのフックは、同じパッチに別の工夫を加えるのではなく、根本的に異なる仮説を試すための合図です。
MITライセンスのもと、コミット
3cca18b368ae95cdbdebbff572ccafa662551015 の mattpocock/skills に含まれる
DEEPENING を適応しています。THIRD_PARTY_NOTICES.md を参照してください。