Marketplace qa-check
PR作成前の品質保証チェックを実行します。Lint、テスト、ビルド、カバレッジ確認を自動で行い、合格/不合格を判定します。フロントエンドのみ、バックエンドのみ、または両方のチェックが可能です。
install
source · Clone the upstream repo
git clone https://github.com/aiskillstore/marketplace
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiskillstore/marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/crearize/qa-check" ~/.claude/skills/aiskillstore-marketplace-qa-check && rm -rf "$T"
manifest:
skills/crearize/qa-check/SKILL.mdsource content
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: 環境確認(最重要)
実行前の必須チェック:
-
現在のディレクトリ確認
pwd- 期待値:
/Users/koujienami/CursorProjects/YouTubeOpsAI - 重要: プロジェクトルートにいることを確認
- 期待値:
-
gradlewファイルの存在確認 (Backendチェック時)
ls -la gradlew ls -la backend/gradlew 2>/dev/null || echo "backend/gradlew not found"
または./gradlew
のどちらかが存在することを確認backend/gradlew- 存在する方のパスを使用してコマンド実行
-
package.jsonの存在確認 (Frontendチェック時)
ls -la frontend/package.json
環境が正しくない場合の対処:
- プロジェクトルートに移動:
cd /Users/koujienami/CursorProjects/YouTubeOpsAI - gradlewが見つからない場合はエラーを報告し、検証を中止
Phase 1: バックエンド検証
対象:
target="backend" または target="both" の場合
-
Gradleチェック実行
./gradlew check- Checkstyle、SpotBugs、テストを一括実行
- 失敗した場合は詳細なエラーログを取得
-
カバレッジ確認 (
の場合)skip_coverage_check=false./gradlew jacocoTestCoverageVerification- 80%以上のカバレッジを確認
- 失敗した場合はカバレッジレポートを確認
-
結果の記録
- 成功したコマンド一覧
- 失敗したコマンドとエラー内容
- カバレッジパーセンテージ
Phase 2: フロントエンド検証
対象:
target="frontend" または target="both" の場合
-
Lint check
pnpm --filter frontend run lint:all- ESLint + Biomeによるコーディング規約チェック
- エラーがある場合は詳細を記録
-
ビルド検証
pnpm --filter frontend run build- Next.jsビルドの成功確認
- 型エラー、ビルドエラーの検出
-
テスト実行とカバレッジ (
の場合)skip_coverage_check=falsepnpm --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