Agent skill
qa-check
PR作成前の品質保証チェックを実行します。Lint、テスト、ビルド、カバレッジ確認を自動で行い、合格/不合格を判定します。フロントエンドのみ、バックエンドのみ、または両方のチェックが可能です。
Install this agent skill to your Project
npx add-skill https://github.com/aiskillstore/marketplace/tree/main/skills/crearize/qa-check
SKILL.md
QA Engineer - 品質保証専門家
役割
MovieMarketerプロジェクトの品質保証を担当する専門家として、テスト実行、Lintチェック、ビルド検証、カバレッジ確認を行い、品質基準の充足を判定する。
責務
1. バックエンド品質検証
- Checkstyle実行(コーディング規約チェック)
- SpotBugs実行(潜在的バグ検出)
- 単体テスト実行
- ビルド検証
2. フロントエンド品質検証
- Biome Lintチェック(コーディング規約チェック)
- 単体テスト実行(Vitest)
- ビルド検証(Next.js)
3. カバレッジ確認
- テストカバレッジ80%以上の確認
- ビジネスロジック90%以上の確認
- カバレッジレポート生成
4. 品質レポート作成
- 合格/不合格判定
- 具体的な問題点の報告
- 修正提案
品質基準
合格条件(すべて満たす必要がある)
- Backend:
./gradlew checkが成功 - Frontend:
pnpm run lint:checkが成功 - Frontend:
pnpm run test:ciが成功 - Frontend:
pnpm run buildが成功 - テストカバレッジ: 全体80%以上
- ビジネスロジック: 90%以上(Service層)
- 重大なLintエラー: 0件
- テスト失敗: 0件
- ビルドエラー: 0件
警告レベル(合格だが注意喚起)
- Lintワーニング: 5件以上
- テストカバレッジ: 80-85%(目標は90%以上)
- 循環的複雑度: 15以上のメソッドあり
検証フロー
Phase 0: 環境確認(最重要)
実行前の必須チェック:
-
現在のディレクトリ確認
bashpwd- 期待値:
/Users/koujienami/CursorProjects/YouTubeOpsAI - 重要: プロジェクトルートにいることを確認
- 期待値:
-
gradlewファイルの存在確認 (Backendチェック時)
bashls -la gradlew ls -la backend/gradlew 2>/dev/null || echo "backend/gradlew not found"./gradlewまたはbackend/gradlewのどちらかが存在することを確認- 存在する方のパスを使用してコマンド実行
-
package.jsonの存在確認 (Frontendチェック時)
bashls -la frontend/package.json
環境が正しくない場合の対処:
- プロジェクトルートに移動:
cd /Users/koujienami/CursorProjects/YouTubeOpsAI - gradlewが見つからない場合はエラーを報告し、検証を中止
Phase 1: バックエンド検証
対象: target="backend" または target="both" の場合
-
Gradleチェック実行
bash./gradlew check- Checkstyle、SpotBugs、テストを一括実行
- 失敗した場合は詳細なエラーログを取得
-
カバレッジ確認 (
skip_coverage_check=falseの場合)bash./gradlew jacocoTestCoverageVerification- 80%以上のカバレッジを確認
- 失敗した場合はカバレッジレポートを確認
-
結果の記録
- 成功したコマンド一覧
- 失敗したコマンドとエラー内容
- カバレッジパーセンテージ
Phase 2: フロントエンド検証
対象: target="frontend" または target="both" の場合
-
Lint check
bashpnpm --filter frontend run lint:all- ESLint + Biomeによるコーディング規約チェック
- エラーがある場合は詳細を記録
-
ビルド検証
bashpnpm --filter frontend run build- Next.jsビルドの成功確認
- 型エラー、ビルドエラーの検出
-
テスト実行とカバレッジ (
skip_coverage_check=falseの場合)bashpnpm --filter frontend run test:coverage- Vitestによるテスト実行
- カバレッジレポート生成
- ロジック層75%以上、UI層45%以上のカバレッジ確認
-
結果の記録
- Lintエラー/ワーニング件数
- ビルド成否
- テスト成否
- カバレッジパーセンテージ
Phase 3: 総合判定
合格条件:
- すべてのコマンドが成功(終了コード0)
- カバレッジが基準値以上(チェックを省略しない場合)
- 重大なLintエラーが0件
判定ロジック:
IF (全コマンド成功 AND カバレッジ基準達成) THEN
判定 = "合格 ✅"
ELSE IF (一部失敗) THEN
判定 = "不合格 ❌"
理由を詳細に記載
ELSE
判定 = "部分的合格(警告あり) ⚠️"
END IF
Phase 4: レポート出力
出力形式:
## QA検証レポート
### 実行サマリー
- **対象**: {target}
- **カバレッジチェック**: {skip_coverage_check ? "スキップ" : "実施"}
- **総合判定**: {合格 ✅ / 不合格 ❌ / 警告あり ⚠️}
### バックエンド検証結果
- Gradleチェック: {✅ / ❌}
- カバレッジ検証: {✅ / ❌ / スキップ}
- カバレッジ: {XX}%
### フロントエンド検証結果
- Lintチェック: {✅ / ❌}
- ビルド: {✅ / ❌}
- テストカバレッジ: {✅ / ❌ / スキップ}
- カバレッジ: {XX}%
### 詳細
{各フェーズの詳細ログ}
### 次のステップ
{合格の場合: PR作成可能}
{不合格の場合: 修正が必要な項目をリスト}
エラーハンドリング
環境エラー
- gradlew/package.jsonが見つからない → 即座に中止、ユーザーに報告
- 権限エラー →
chmod +x gradlewを提案
実行エラー
- Lintエラー → エラー箇所を特定し、修正方法を提案
- テスト失敗 → 失敗したテストケースを列挙
- ビルドエラー → エラーメッセージを解析し、原因を特定
タイムアウト
- 各コマンドに適切なタイムアウトを設定
- 長時間実行されるコマンドは進捗を報告
使用例
両方をチェック(デフォルト)
/qa-check
フロントエンドのみチェック
/qa-check target="frontend"
バックエンドのみチェック(カバレッジスキップ)
/qa-check target="backend" skip_coverage_check=true
参照ドキュメント
- コーディング規約:
documents/development/coding-rules/ - テスト戦略:
documents/development/development-policy.md - エラーコード:
documents/development/error-codes.md
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
perigon-backend
Perigon ASP.NET Core + EF Core + Aspire conventions
perigon-agent
Pointers for Copilot/agents to apply Perigon conventions
perigon-angular
Angular 21+ standalone/Material/signal conventions for Perigon WebApp
fastapi-mastery
Comprehensive FastAPI development skill covering REST API creation, routing, request/response handling, validation, authentication, database integration, middleware, and deployment. Use when working with FastAPI projects, building APIs, implementing CRUD operations, setting up authentication/authorization, integrating databases (SQL/NoSQL), adding middleware, handling WebSockets, or deploying FastAPI applications. Triggered by requests involving .py files with FastAPI code, API endpoint creation, Pydantic models, or FastAPI-specific features.
context7-efficient
Token-efficient library documentation fetcher using Context7 MCP with 86.8% token savings through intelligent shell pipeline filtering. Fetches code examples, API references, and best practices for JavaScript, Python, Go, Rust, and other libraries. Use when users ask about library documentation, need code examples, want API usage patterns, are learning a new framework, need syntax reference, or troubleshooting with library-specific information. Triggers include questions like "Show me React hooks", "How do I use Prisma", "What's the Next.js routing syntax", or any request for library/framework documentation.
browser-use
Browser automation using Playwright MCP. Navigate websites, fill forms, click elements, take screenshots, and extract data. Use when tasks require web browsing, form submission, web scraping, UI testing, or any browser interaction.
Didn't find tool you were looking for?