A group of skills responsible for code review and quality checks.
Included Sub-skills
| Skills | Purpose |
|---|---|
| review-changes | Review of changes |
| review-quality | Code quality check |
| review-security | Security review |
| review-performance | Performance review |
| review-accessibility | Accessibility check |
Routing
Select the appropriate sub-skill according to the user's intent:
- General review: review-changes/doc.md
- Quality-focused: review-quality/doc.md
- Security-focused: review-security/doc.md
- Performance-focused: review-performance/doc.md
- Accessibility-focused: review-accessibility/doc.md
Execution Steps
- Quality Assessment Gate(Step 0)
- Classify the user's request
- (When Claude-mem is enabled) Search past review findings
- Determine parallel execution (see below)
- Read the doc.md of the appropriate sub-skill, or launch parallel subagents
- Integrate the results and complete the review
Step 0: Quality Assessment Gate (Identify review focus areas)
Before starting the review, analyze the changes and identify focus areas:
変更ファイル分析
↓
┌─────────────────────────────────────────┐
│ 品質判定ゲート │
├─────────────────────────────────────────┤
│ 判定項目: │
│ ├── カバレッジ不足?(テストなし) │
│ ├── セキュリティ注意?(auth/api/) │
│ ├── a11y 注意?(UI コンポーネント) │
│ └── パフォーマンス注意?(DB/ループ) │
└─────────────────────────────────────────┘
↓
重点レビュー領域を決定
Coverage Assessment
| Situation | Finding |
|---|---|
| No tests for new files | "Tests are insufficient" |
| Tests for changed files are outdated | "Please consider updating the tests" |
| Coverage < 60% | "Improving coverage is recommended" |
Security-Focused Review
| Pass | Additional check items |
|---|---|
| auth/, api/ | OWASP Top 10 checklist |
| Input handling | Sanitization, validation |
| DB query | Verify parameterization |
a11y-Focused Review
| Pass | Check items |
|---|---|
| src/components/ | alt, aria, keyboard operation |
| src/pages/ | Heading structure, focus management |
Performance-Focused Review
| Pattern | Warning details |
|---|---|
| DB query inside a loop | Possible N+1 query |
| Large-scale data processing | Consider pagination |
| Misuse of useEffect | Rendering optimization |
Focused Review Integrated Output
📊 品質判定結果 → 重点レビュー領域
| 判定 | 該当 | 対象ファイル |
|------|------|-------------|
| セキュリティ | ⚠️ | src/api/auth.ts |
| カバレッジ | ⚠️ | src/utils/helpers.ts (テストなし) |
| a11y | ✅ | - |
| パフォーマンス | ✅ | - |
→ セキュリティ・カバレッジを重点的にレビュー
Step 2: Search Past Review Findings (Memory-Enhanced)
If Claude-mem is enabled, search for similar past findings before starting the review:
# mem-search で過去のレビュー指摘を検索
mem-search: type:review "{変更ファイルのパターン}"
mem-search: concepts:security "{セキュリティ関連のキーワード}"
mem-search: concepts:gotcha "{変更箇所に関連するキーワード}"
Display example:
📚 過去のレビュー指摘(関連あり)
| 日付 | 指摘内容 | ファイル |
|------|---------|---------|
| 2024-01-15 | XSS脆弱性: innerHTML 使用禁止 | src/components/*.tsx |
| 2024-01-20 | N+1クエリ: prefetch 必須 | src/api/*.ts |
💡 今回のレビューで上記パターンを重点チェック
Note: If Claude-mem is not configured, this step is skipped.
Launching Parallel Subagents (Recommended)
Ifbothof the following conditions are met, launch code-reviewer in parallel with the Task tool:
- Review perspectives >= 2 (e.g., security + performance)
- Changed files >= 5
Startup pattern (simultaneously calling multiple Task tools within one response):
Task tool 並列呼び出し:
#1: subagent_type="code-reviewer"
prompt="セキュリティ観点でレビュー: {files}"
#2: subagent_type="code-reviewer"
prompt="パフォーマンス観点でレビュー: {files}"
#3: subagent_type="code-reviewer"
prompt="コード品質観点でレビュー: {files}"
For small scale (does not meet the conditions):
- Load child skills (doc.md) sequentially and execute in series
🔧 Utilizing LSP Features
In reviews, utilize LSP (Language Server Protocol) to improve accuracy.
Integrating LSP into Reviews
| Review Perspective | LSP Utilization Method |
|---|---|
| Quality | Automatically detect type errors and unused variables with Diagnostics |
| Security | Track the flow of sensitive data with Find-references |
| Performance | Check the implementation of heavy processing with Go-to-definition |
Example output of LSP Diagnostics
📊 LSP 診断結果
| ファイル | エラー | 警告 |
|---------|--------|------|
| src/components/Form.tsx | 0 | 2 |
| src/utils/api.ts | 1 | 0 |
⚠️ 1件のエラーを検出
→ レビューで指摘事項に追加
Impact analysis using Find-references
🔍 変更影響分析
変更: validateInput()
参照箇所:
├── src/pages/signup.tsx:34
├── src/pages/settings.tsx:56
└── tests/validate.test.ts:12
→ テストでカバー済み ✅
Details: docs/LSP_INTEGRATION.md
For VibeCoder
📝 コードチェックを依頼するときの言い方
1. **「チェックして」**
- 全体的に問題がないか見てもらう
2. **「セキュリティ大丈夫?」**
- 悪意ある攻撃に耐えられるかチェック
3. **「遅くない?」**
- 速度に問題がないかチェック
4. **「誰でも使える?」**
- 障害のある方でも使えるかチェック
💡 ヒント: 「全部チェックして」と言えば、
4つの観点すべてを自動で確認します