Skip to content
Back to skills

Qa Check

ASecurity

PR作成前の品質保証チェックを実行します。Lint、テスト、ビルド、カバレッジ確認を自動で行い、合格/不合格を判定します。フロントエンドのみ、バックエンドのみ、または両方のチェックが可能です。

  • 416 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added February 7, 2026
developmentbashnextjsfrontendbackend

Works with

  • cursor

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned February 12, 2026

npx -y skills add aiskillstore/marketplace --skill qa-check --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Qa Check?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Qa Check
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aiskillstore-qa-check/badge)](https://www.skillsdirectory.com/skills/aiskillstore-qa-check)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: qa-check
description: PR作成前の品質保証チェックを実行します。Lint、テスト、ビルド、カバレッジ確認を自動で行い、合格/不合格を判定します。フロントエンドのみ、バックエンドのみ、または両方のチェックが可能です。
---

# 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: 環境確認(最重要)

**実行前の必須チェック:**
1. **現在のディレクトリ確認**
   ```bash
   pwd
   ```
   - 期待値: `/Users/koujienami/CursorProjects/YouTubeOpsAI`
   - **重要**: プロジェクトルートにいることを確認

2. **gradlewファイルの存在確認** (Backendチェック時)
   ```bash
   ls -la gradlew
   ls -la backend/gradlew 2>/dev/null || echo "backend/gradlew not found"
   ```
   - `./gradlew`または`backend/gradlew`のどちらかが存在することを確認
   - 存在する方のパスを使用してコマンド実行

3. **package.jsonの存在確認** (Frontendチェック時)
   ```bash
   ls -la frontend/package.json
   ```

**環境が正しくない場合の対処:**
- プロジェクトルートに移動: `cd /Users/koujienami/CursorProjects/YouTubeOpsAI`
- gradlewが見つからない場合はエラーを報告し、検証を中止

### Phase 1: バックエンド検証

**対象**: `target="backend"` または `target="both"` の場合

1. **Gradleチェック実行**
   ```bash
   ./gradlew check
   ```
   - Checkstyle、SpotBugs、テストを一括実行
   - 失敗した場合は詳細なエラーログを取得

2. **カバレッジ確認** (`skip_coverage_check=false`の場合)
   ```bash
   ./gradlew jacocoTestCoverageVerification
   ```
   - 80%以上のカバレッジを確認
   - 失敗した場合はカバレッジレポートを確認

3. **結果の記録**
   - 成功したコマンド一覧
   - 失敗したコマンドとエラー内容
   - カバレッジパーセンテージ

### Phase 2: フロントエンド検証

**対象**: `target="frontend"` または `target="both"` の場合

1. **Lint check**
   ```bash
   pnpm --filter frontend run lint:all
   ```
   - ESLint + Biomeによるコーディング規約チェック
   - エラーがある場合は詳細を記録

2. **ビルド検証**
   ```bash
   pnpm --filter frontend run build
   ```
   - Next.jsビルドの成功確認
   - 型エラー、ビルドエラーの検出

3. **テスト実行とカバレッジ** (`skip_coverage_check=false`の場合)
   ```bash
   pnpm --filter frontend run test:coverage
   ```
   - Vitestによるテスト実行
   - カバレッジレポート生成
   - ロジック層75%以上、UI層45%以上のカバレッジ確認

4. **結果の記録**
   - Lintエラー/ワーニング件数
   - ビルド成否
   - テスト成否
   - カバレッジパーセンテージ

### Phase 3: 総合判定

**合格条件:**
1. すべてのコマンドが成功(終了コード0)
2. カバレッジが基準値以上(チェックを省略しない場合)
3. 重大なLintエラーが0件

**判定ロジック:**
```
IF (全コマンド成功 AND カバレッジ基準達成) THEN
  判定 = "合格 ✅"
ELSE IF (一部失敗) THEN
  判定 = "不合格 ❌"
  理由を詳細に記載
ELSE
  判定 = "部分的合格(警告あり) ⚠️"
END IF
```

### Phase 4: レポート出力

**出力形式:**

```markdown
## 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`

Files in this skill

  • SKILL.md6.6 KB
  • skill-report.json8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…