Communitygithub.com

auto-qa

自律的な意図駆動型QAテストエンジンで、Antigravity Agent Skill CLIとStdio MCPサーバーのデュアルモード動作をサポート。自己修復型Playwright実行、ネイティブ.spec.tsコンパイル、アクティブモーダル分離、そしてクライアントWebサイトやローカルホストアプリ向けのブラックボックスサーフェスクローラーを備えています。ユーザーがWebワークフローのテスト、ソースコードなしでのクライアントWebサイトの監査、自動QAの実行、またはTestSprite準拠の計画の生成を依頼したときに使用します。

auto-qa とは?

Auto-QAは、プレーンテキストの意図(平易な英語の指示)からエンドツーエンドのWebテストを自動化する、意図駆動型のQAエンジンです。ユーザーは「ログインフォームをテストして」や「すべてのナビゲーションリンクが機能することを確認して」といった自然言語でテストを依頼でき、Auto-QAがそれを解析し、Playwrightテストを生成・実行します。主な特徴は、デュアルモード動作(Antigravity Skill CLIまたはMCPサーバー経由)と、3段階のテストライフサイクル(サーフェス発見、意図計画の作成、自己修復実行とコードコンパイル)です。また、アクセシビリティヒューリスティックに基づく要素の自己修復機能や、テスト実行中のモーダルダイアログのアクティブな分離も行います。開発者にとっては、テストコードを書くことなくWebアプリケーションのQAを迅速に実施でき、クライアントのサイト監査やローカル開発中の結合テストに特に有用です。

対応~Claude Code~Codex CLI~Cursor✓Antigravity✓Gemini CLI
npx skills add https://github.com/yashh1323/auto-qa/tree/HEAD

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Auto-QA: 自律的な意図駆動型QAエンジン

自律的なWeb QAテストツールチェーンであり、平易な英語の意図、自己修復型W3Cアクセシビリティヒューリスティック、アクティブモーダル分離、およびネイティブ @playwright/test コンパイルを使用して、任意のWebアプリケーション(ローカル開発サーバーまたはライブWebサイト)に対してエンドツーエンドのユーザージャーニーを実行します。


1. デュアルモード動作決定ルール

アクションを実行する前に、宣言されたツールを確認します。

  • モード1: MCPツールモード: auto_qa_ で始まるツール(例:auto_qa_execute_and_heal)がアクティブなツールリストで利用可能な場合、JSON-RPC経由で直接呼び出します。
  • モード2: Antigravity Skill CLIモード(デフォルト&スタンドアロン): auto_qa_* MCPツールが宣言されていない場合、統一CLIを使用して run_command 経由ですべてのQAアクションを実行します。
    node "<skillPath>/scripts/cli.js" <command>
    
    (<skillPath> は ~/.gemini/config/skills/auto-qa またはリポジトリルートに解決します)。

2. 3段階のテストライフサイクル

ステージ1: サーフェス発見(操作可能なコントロールのマッピング)

ターゲットURLをクロールして、インタラクティブなボタン、入力フィールド、リンク、モーダルダイアログを抽出します。

  • MCPモード: auto_qa_generate_code_summary(projectPath, url) を呼び出します。
  • Skill CLIモード:
    node "<skillPath>/scripts/cli.js" discover http://localhost:3000 -o auto_qa_tests/tmp/surface.json
    

ステージ2: 意図計画の作成(auto_qa_frontend_test_plan.json)

auto_qa_tests/auto_qa_frontend_test_plan.json に宣言型テスト計画を作成します。

  • MCPモード: auto_qa_generate_frontend_test_plan(projectPath, name, planSteps) を呼び出します。
  • Skill CLIモード: ファイル作成ツールを使用してJSONファイルを直接書き込みます。
{
  "$schema": "https://raw.githubusercontent.com/TestSprite/testsprite-cli/main/schemas/plan.schema.json",
  "projectId": "project-name",
  "type": "frontend",
  "name": "ユーザー登録とログインフロー",
  "targetUrl": "http://localhost:3000",
  "priority": "p0",
  "planSteps": [
    { "type": "action", "description": "navigate to http://localhost:3000/login" },
    { "type": "action", "description": "type '[email protected]' into 'Email'" },
    { "type": "action", "description": "type 'TestPass123!' into 'Password'" },
    { "type": "action", "description": "click 'Sign In'" },
    { "type": "assertion", "description": "verify 'Dashboard' is visible" },
    { "type": "assertion", "description": "verify URL contains '/dashboard'" }
  ]
}

サポートされている意図動詞(大文字小文字を区別せず、一重引用符または二重引用符)

  • アクション:
    • navigate to <http(s)://url> / go to </path or http(s)://url>
    • type '<text>' into '<target>' / fill '<text>' into '<target>'
    • click '<target>' / press '<target>'
    • select '<option>' from '<target>'
    • check '<target>' / tick '<target>'
  • アサーション:
    • verify '<target>' is visible / appears
    • verify '<target>' is not visible / disappears
    • verify text '<text>' / contains '<text>'
    • verify URL contains '<path>'

ステージ3: 実行、自己修復、およびコードコンパイル

自己修復型要素解決を使用して宣言型テスト計画を実行し、失敗時のスクリーンショットをキャプチャし、ネイティブコードをエクスポートします。

  • MCPモード:
    • 実行: auto_qa_execute_and_heal(projectPath, planFile, baseUrl)
    • エクスポート: auto_qa_compile_to_playwright(planPath, outputPath)
  • Skill CLIモード:
    • テストを実行:
      node "<skillPath>/scripts/cli.js" run auto_qa_tests/auto_qa_frontend_test_plan.json -u http://localhost:3000
      
      (注: 終了コード1は、テスト中のアサーション失敗を示します。スクリーンショットは auto_qa_tests/artifacts/ を、ステップのタイミングとエラートレースは auto_qa_tests/auto-qa-test-report.md を確認してください)。
    • ネイティブPlaywright TypeScriptにコンパイル:
      node "<skillPath>/scripts/cli.js" compile auto_qa_tests/auto_qa_frontend_test_plan.json -o tests/e2e/flow.spec.ts
      

3. CLIサブコマンドの概要

サブコマンド目的デフォルトの出力
doctorNode、Playwright、Chromiumバイナリの事前チェック。ターミナルステータス
discover <url> [-o <file>]Webサイトをクロールし、ボタン、入力フィールド、リンク、モーダル、アクセシビリティツリーを抽出します。JSONサーフェスマップ
run <planFile> [-u <url>] [-o <dir>]自己修復型解決を使用して意図計画を実行します。auto_qa_tests/artifacts/ + auto-qa-test-report.md
compile <planFile> [-o <file>]宣言型計画をネイティブの @playwright/test .spec.ts にコンパイルします。<planName>.spec.ts
bootstrap [dir] [-u <url>]auto_qa_tests/tmp/config.json を初期化します。config.json
mcpstdio JSON-RPC 2.0 MCPサーバーを起動します。stdioストリーム

4. 5層検証戦略

「すべてをテスト」 または未知のWebアプリケーションを監査するよう求められた場合:

  1. 層1: ナビゲーションとルート: ナビゲーションバーとフッターのリンクをクロールし、404レスポンスがないことをアサートします。
  2. 層2: インタラクティブコントロール: ドロップダウン、アコーディオン、テーマトグル、フィルターボタンをテストします。
  3. 層3: フォーム検証ファネル:
    • 正常系: 有効な入力を送信 → 成功バナーまたは状態更新をアサートします。
    • 異常系: 必須フィールドを空で送信 → インラインバリデーションアラートをアサートします。
  4. 層4: 認証ライフサイクル: 有効なログイン、無効な認証情報の拒否、セッションの永続性、ログアウト。
  5. 層5: コアCRUDワークフロー: アイテムを作成 → 一覧表示されることをアサート; アイテムを変更 → 更新されることをアサート; アイテムを削除 → 削除されることをアサート。

関連スキル