Agent skill · software engineering · affaan-m
ai-regression-testing
AI 支援開発のためのリグレッションテスト戦略。データベース依存なしのサンドボックスモード API テスト、自動化されたバグチェックワークフロー、同じモデルがコードを書いてレビューする AI のブラインドスポットを捕捉するパターン。
Why this skill is useful
Adds executable scripts for sandbox mode API testing and regression testing patterns that are not commonly found in public documentation.
What it needs
Requires next, vitest installed locally. About 4k tokens when loaded. Last updated 2026-08-06. 238,342 stars on the source repository.
What this skill does
AI リグレッションテスト AI 支援開発のために特別に設計されたテストパターン。同じモデルがコードを書いてレビューする場合、自動化されたテストのみが捕捉できる体系的なブラインドスポットが生まれます。 起動タイミング AI エージェント(Claude Code、Cursor、Codex)が API ルートまたはバックエンドロジックを修正した場合 バグが見つかり修正された — 再発を防ぐ必要がある プロジェクトに DB フリーテストに活用できるサンドボックス/モックモードがある場合 コード変更後に /bug-check または同様のレビューコマンドを実行する場合 複数のコードパスが存在する場合(サンドボックス対本番、機能フラグなど) コアの問題 AI がコードを書いてその後自分の作業をレビューする場合、両方のステップに同じ前提を持ち込みます。これにより予測可能な障害パターンが生まれます: 実際の例(本番で観察された): パターン:サンドボックス/本番パスの不一致が AI が導入するリグレッションの第 1 位。 サンドボックスモード API テスト AI フレンドリーなアーキテクチャを持つほとんどのプロジェクトにはサンドボックス/モックモードがあります。これが高速な DB フリー API テストの鍵です。 セットアップ(Vitest + Next.js App Router) Next.js API ルート用テストヘルパー リグレッションテストの作成 重要な原則:機能するコードのためではなく、見つかったバグのためにテストを書く。 サンドボックス/本番のパリティテスト 最も一般的な AI リグレッション:本番パスを修正してサンドボックスパスを忘れる(またはその逆)。 バグチェックワークフローへのテスト統合 カスタムコマンド定義 ワークフロー 一般的な AI リグレッションパターン パターン 1: サンドボックス/本番パスの不一致 頻度: 最も一般的(4 つのリグレッションのうち 3 つで観察) 捕捉するためのテスト: パターン 2: SELECT 句の省略 頻度: 新しい列を追加する際の Supabase/Prisma で一般的 パターン 3: エラー状態の漏洩 頻度: 既存のコンポーネントにエラー処理を追加する場合に中程度 パターン 4: 適切なロールバックなしのオプティミスティックアップデート 戦略: バグが見つかった場所でテストする 100% カバレッジを目指さない。代わりに: AI 開発でこれが機能する理由: 1. AI は同じカテゴリのミスを繰り返す傾向がある 2. バグは複雑な領域(認証、マルチパスロジック、状態管理)にクラスタリングする 3. 一度テストされると、その正確なリグレッションは再び発生できない 4. テスト数はバグ修正とともに有機的に増加する — 無駄な努力なし クイックリファレンス AI リグレッションパターン テスト戦略 優先度 --- --- --- サンドボックス/本番の不一致 サンドボックスモードで同じレスポンス形状をアサート 高 SELECT 句の省略 レスポンス内のすべての必須フィールドをアサート 高 エラー状態の漏洩 エラー時の状態クリーンアップをアサート 中 ロールバック欠如 API 失敗時に状態が復元されることをアサート 中 型キャストが null をマスク フィールドが undefined でないことをアサート 中 DO / DON'T DO: バグを見つけた後すぐにテストを書く(可能であれば修正前に) 実装ではなく API レスポンスの形状をテストする すべてのバグチェックの最初のステップとしてテストを実行する テストを高速に保つ(サンドボックスモードで合計 1 秒未満) 防ぐバグにちなんでテストに名前を付ける(例:「BUG-R1 リグレッション」) DON'T: バグが一度もなかったコードのテストを書く 自動化されたテストの代替として AI の自己レビューを信頼する 「モックデータだから」という理由でサンドボックスパステストをスキップする ユニットテストで十分な時に統合テストを書く カバレッジのパーセンテージを目指す — リグレッション防止を目指す
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills affaan-m/ai-regression-testing--fb4993