コードレビュー(組み込み review との衝突回避)
Performs comprehensive code reviews across security, performance, quality, and accessibility using parallel analysis.
/plugin marketplace add Chachamaru127/claude-code-harness/plugin install claude-code-harness@claude-code-harness-marketplacecore/作成したコードの品質をチェックします。 複数の観点から分析し、改善点を提案します。
このコマンドは、技術的な知識がなくても高品質なコードレビューを受けられるように設計されています。
受託開発で重要: クライアントに安心してもらうため、レビュー結果をレポートとして提出できます
このコマンドは以下のスキルを Skill ツールで明示的に呼び出すこと:
| スキル | 用途 | 呼び出しタイミング |
|---|---|---|
review | レビュー(親スキル) | レビュー開始時 |
呼び出し方法:
Skill ツールを使用:
skill: "claude-code-harness:review"
子スキル(自動ルーティング):
review-security - セキュリティレビューreview-performance - パフォーマンスレビューreview-quality - コード品質レビューreview-accessibility - アクセシビリティレビューreview-aggregate - レビュー結果の集約⚠️ 重要: スキルを呼び出さずに進めると usage 統計に記録されません。必ず Skill ツールで呼び出してください。
レビューでは LSP(Language Server Protocol)を活用して、より精度の高い分析を行います。
📊 LSP 診断結果
ファイル: src/components/UserForm.tsx
| 行 | 重要度 | メッセージ |
|----|--------|-----------|
| 15 | Error | 型 'string' を型 'number' に割り当てることはできません |
| 23 | Warning | 'tempData' は宣言されていますが、使用されていません |
| 42 | Info | この async 関数には await がありません |
→ 型エラー・未使用変数を自動検出
変更されたコードがどこで使われているかを LSP で分析:
🔍 変更の影響範囲
変更: src/utils/formatDate.ts
参照箇所:
├── src/components/DateDisplay.tsx:12
├── src/components/EventCard.tsx:45
├── src/pages/Dashboard.tsx:78
└── tests/utils/formatDate.test.ts:5
→ 4ファイルに影響
→ テストでカバーされていることを確認 ✅
| レビュー観点 | LSP 活用 |
|---|---|
| 品質 | Diagnostics で型エラー・未使用コードを検出 |
| セキュリティ | 参照分析で機密データの流れを追跡 |
| パフォーマンス | 定義ジャンプで重い処理の実装を確認 |
| やりたいこと | 言い方 |
|---|---|
| 型エラーをチェック | 「LSP診断を含めてレビューして」 |
| 変更の影響を知りたい | 「この変更がどこに影響するか調べて」 |
受託開発の品質保証を自動化します。
# 直近の変更を確認
git diff --name-only HEAD~5 2>/dev/null || find . -name "*.ts" -o -name "*.tsx" -o -name "*.py" | head -20
以下の観点で並列レビューを実行します。Task toolを使用して複数のサブエージェントを同時に起動し、レビュー時間を短縮します。
💡 非同期サブエージェントによる真の並列実行:
各レビューを個別に実行し、Ctrl+Bでバックグラウンドに送ることで、完全に並列で実行できます。詳細は非同期サブエージェントガイドを参照してください。
手動並列実行の手順:
/harness-review security を実行 → Ctrl+B でバックグラウンドへ/harness-review performance を実行 → Ctrl+B でバックグラウンドへ/harness-review quality を実行 → Ctrl+B でバックグラウンドへ/harness-review accessibility を実行 → Ctrl+B でバックグラウンドへTask tool による並列起動(1つのレスポンス内で4つ同時呼び出し):
🔍 並列レビュー開始...
Task tool #1:
description: "Security review"
subagent_type: "code-reviewer"
prompt: "セキュリティ観点でレビュー。対象: {changed_files}
チェック項目: 環境変数管理、入力バリデーション、SQL/XSS対策"
Task tool #2:
description: "Performance review"
subagent_type: "code-reviewer"
prompt: "パフォーマンス観点でレビュー。対象: {changed_files}
チェック項目: 再レンダリング、N+1クエリ、メモ化"
Task tool #3:
description: "Quality review"
subagent_type: "code-reviewer"
prompt: "コード品質観点でレビュー。対象: {changed_files}
チェック項目: 型安全性、エラーハンドリング、命名規則"
Task tool #4:
description: "Accessibility review"
subagent_type: "code-reviewer"
prompt: "アクセシビリティ観点でレビュー。対象: {changed_files}
チェック項目: セマンティックHTML、alt、キーボード操作"
→ 4つのサブエージェントが並列実行
→ 結果を統合して総合評価を出力
レビュー観点:
📊 コードレビュー結果
総合評価: {{A / B / C / D}}
🔒 セキュリティ: {{評価}}
{{問題点または「問題なし」}}
⚡ パフォーマンス: {{評価}}
{{問題点または「問題なし」}}
📐 コード品質: {{評価}}
{{問題点または「問題なし」}}
♿ アクセシビリティ: {{評価}}
{{問題点または「問題なし」}}
🔧 改善提案
- {{具体的な改善点1}}
- {{具体的な改善点2}}
自動で修正しますか? (y / n / 選択)
承認された改善を自動で実行:
# 例: ESLint自動修正
npx eslint --fix src/
# 例: Prettier適用
npx prettier --write src/
✅ レビュー完了
修正した項目:
- {{修正1}}
- {{修正2}}
次にやること: 「コミットして」または「次のフェーズへ」と言ってください。
// ❌ 悪い例
const apiKey = "sk-1234567890" // ハードコード
// ✅ 良い例
const apiKey = process.env.API_KEY // 環境変数
// ❌ 悪い例
const Component = () => {
const data = heavyCalculation() // 毎回計算
return <div>{data}</div>
}
// ✅ 良い例
const Component = () => {
const data = useMemo(() => heavyCalculation(), [])
return <div>{data}</div>
}
// ❌ 悪い例
function f(x: any) { return x.y.z } // any型、エラーハンドリングなし
// ✅ 良い例
function getNestedValue(obj: NestedObject): string | null {
return obj?.y?.z ?? null
}
技術的な詳細が不要な場合:
📊 チェック結果
- セキュリティ: ✅ OK
- 速度: ✅ OK
- コード品質: ⚠️ 2件の改善点
「直して」と言えば自動で修正します。
/harness-review # 全てチェック
/harness-review security # セキュリティのみ
/harness-review performance # パフォーマンスのみ
/harness-review quick # 簡易チェック
レビュー観点(セキュリティ/パフォーマンス/品質/アクセシビリティ)は互いに独立しているため、並列実行が効果的です。
| 条件 | 理由 |
|---|---|
| フルレビュー(4観点すべて) | 時間短縮効果が最大 |
| 変更ファイルが 5 つ以上 | 各観点の処理時間が長くなる |
| 急いで結果を知りたい | PR マージ前など |
並列実行の効果:
🚀 並列レビュー開始...
├── [Security] 分析中... ⏳
├── [Performance] 分析中... ⏳
├── [Quality] 分析中... ⏳
└── [Accessibility] 分析中... ⏳
⏱️ 所要時間: 30秒(直列なら2分、75%短縮)
| 条件 | 理由 |
|---|---|
単一観点のみ(/harness-review security) | 並列化不要 |
| 変更ファイルが 1-2 つ | 各観点の処理が短い |
| 1つずつ問題を確認したい | 対話的に修正を進めたい |
レビュー観点 >= 3 かつ 変更ファイル >= 5 → 並列実行(Task tool)
レビュー観点 < 3 または 変更ファイル < 5 → 直列実行
# バックグラウンドで並列実行
/harness-review security # → Ctrl+B でバックグラウンドへ
/harness-review performance # → Ctrl+B でバックグラウンドへ
/harness-review quality # → Ctrl+B でバックグラウンドへ
/harness-review accessibility # 最後は待機
# 結果を統合して報告