code-review-expert
シニアエンジニアの視点で現在のgitの変更内容を専門的にコードレビューします。SOLIDの原則違反やセキュリティリスクを検出し、具体的な改善提案を行います。
description の原文を見る
Expert code review of current git changes with a senior engineer lens. Detects SOLID violations, security risks, and proposes actionable improvements.
SKILL.md 本文
Code Review Expert
Overview
現在の git 変更に対して構造化されたレビューを実施します。SOLID、アーキテクチャ、削除候補、セキュリティリスクに焦点を当てます。ユーザーが変更の実装を求めない限り、デフォルトはレビューのみの出力です。
Severity Levels
| Level | Name | Description | Action |
|---|---|---|---|
| P0 | Critical | セキュリティ脆弱性、データ損失リスク、正確性バグ | マージをブロック必須 |
| P1 | High | ロジックエラー、重大な SOLID 違反、パフォーマンス低下 | マージ前に修正すべき |
| P2 | Medium | コードの臭い、保守性の懸念、軽微な SOLID 違反 | このPRで修正するか、フォローアップを作成 |
| P3 | Low | スタイル、命名、軽微な提案 | オプションの改善 |
Workflow
1) Preflight context
git status -sb、git diff --stat、git diffを使って変更範囲を把握します。- 必要に応じて
rgやgrepを使い、関連モジュール、使用箇所、契約を検索します。 - エントリポイント、所有権の境界、クリティカルパス(認証、決済、データ書き込み、ネットワーク)を特定します。
エッジケース:
- 変更なし:
git diffが空の場合は、ユーザーに通知し、ステージされた変更または特定のコミット範囲のレビューが必要かどうかを確認します。 - 大規模な diff(>500行): まずファイル単位で要約し、次にモジュール/機能エリア別にバッチでレビューします。
- 混在した関心事: ファイルの順番ではなく、論理的な機能ごとに検索結果をグループ化します。
2) SOLID + architecture smells
references/solid-checklist.mdを読み込んで、具体的なプロンプトを参照します。- 以下を探します:
- SRP: 無関係な責務を持つ過負荷モジュール。
- OCP: 動作を追加するために頻繁に編集される代わりに、拡張ポイントが不足。
- LSP: 期待を破ったり、型チェックを必要とするサブクラス。
- ISP: 未使用メソッドを含む幅広いインターフェース。
- DIP: 低レベル実装に結びついた高レベルロジック。
- リファクタリングを提案するときは、なぜそれが凝集度/結合度を改善するのかを説明し、最小限の安全な分割を概説します。
- リファクタリングが非自明な場合は、大規模な書き直しの代わりに段階的な計画を提案します。
3) Removal candidates + iteration plan
references/removal-plan.mdを読み込んでテンプレートを参照します。- 未使用、冗長、またはフィーチャーフラグでオフになっているコードを特定します。
- 安全に今すぐ削除 と 計画とともに延期 を区別します。
- フォローアップ計画を具体的なステップとチェックポイント(テスト/メトリクス)と共に提供します。
4) Security and reliability scan
references/security-checklist.mdを読み込んでカバレッジを参照します。- 以下をチェックします:
- XSS、インジェクション (SQL/NoSQL/コマンド)、SSRF、パストラバーサル
- AuthZ/AuthN のギャップ、テナントチェックの欠落
- シークレットリーク、API キーがログ/環境/ファイルに存在
- レート制限、無制限ループ、CPU/メモリホットスポット
- 安全でないデシリアライゼーション、脆弱な暗号化、安全でないデフォルト
- 競合状態: 並行アクセス、check-then-act、TOCTOU、ロック欠落
- 悪用可能性 と 影響 の両方を指摘します。
5) Code quality scan
references/code-quality-checklist.mdを読み込んでカバレッジを参照します。- 以下をチェックします:
- エラーハンドリング: 隠蔽された例外、過度に広い catch、エラーハンドリング欠落、非同期エラー
- パフォーマンス: N+1 クエリ、ホットパスでの CPU 集約的な操作、キャッシュ欠落、無制限メモリ
- 境界条件: null/undefined ハンドリング、空のコレクション、数値境界、off-by-one
- サイレント障害や本番インシデントを引き起こす可能性がある問題にフラグを立てます。
6) Output format
レビューを以下のように構造化します:
## Code Review Summary
**Files reviewed**: X files, Y lines changed
**Overall assessment**: [APPROVE / REQUEST_CHANGES / COMMENT]
---
## Findings
### P0 - Critical
(なし、またはリスト)
### P1 - High
1. **[file:line]** 簡潔なタイトル
- 問題の説明
- 提案される修正
### P2 - Medium
2. (セクション全体で番号付けを続ける)
- ...
### P3 - Low
...
---
## Removal/Iteration Plan
(該当する場合)
## Additional Suggestions
(オプションの改善、ブロッキングではない)
インラインコメント: ファイル固有の検索結果には、このフォーマットを使用します:
::code-comment{file="path/to/file.ts" line="42" severity="P1"}
問題の説明と提案される修正。
::
クリーンレビュー: 問題が見つからない場合は、明示的に述べます:
- 何がチェックされたか
- カバーされていない領域(例:「データベースマイグレーションを検証していません」)
- 残存するリスクまたは推奨フォローアップテスト
7) Next steps confirmation
検索結果を提示した後、ユーザーに次のように進行するかを確認します:
---
## Next Steps
X 件の問題が見つかりました(P0: _、P1: _、P2: _、P3: _)。
**どのように進めますか?**
1. **すべて修正** - 提案されたすべての修正を実装します
2. **P0/P1 のみ修正** - クリティカルと高優先度の問題に対処します
3. **特定の項目を修正** - どの問題を修正するかを教えてください
4. **変更なし** - レビュー完了、実装不要
オプションを選択するか、具体的な指示を提供してください。
重要: ユーザーが明示的に確認するまで、変更を実装しないでください。これはレビューファーストのワークフローです。
Resources
references/
| File | Purpose |
|---|---|
solid-checklist.md | SOLID の臭いプロンプトとリファクタリングヒューリスティック |
security-checklist.md | Web/アプリケーションセキュリティとランタイムリスクチェックリスト |
code-quality-checklist.md | エラーハンドリング、パフォーマンス、境界条件 |
removal-plan.md | 削除候補とフォローアップ計画のテンプレート |
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- sanyuan0704
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/sanyuan0704/code-review-expert / ライセンス: MIT
関連スキル
secure-code-guardian
認証・認可の実装、ユーザー入力の保護、OWASP Top 10の脆弱性対策が必要な場合に使用します。bcrypt/argon2によるパスワードハッシング、パラメータ化ステートメントによるSQLインジェクション対策、CORS/CSPヘッダーの設定、Zodによる入力検証、JWTトークンの構築などのカスタムセキュリティ実装に対応します。認証、認可、入力検証、暗号化、OWASP Top 10対策、セッション管理、セキュリティ強化全般で活用できます。ただし、構築済みのOAuth/SSO統合や単独のセキュリティ監査が必要な場合は、より特化したスキルの検討をお勧めします。
claude-authenticity
APIエンドポイントが本物のClaudeによって支えられているか(ラッパーやプロキシ、偽装ではないか)を、claude-verifyプロジェクトを模した9つの重み付きルールベースチェックで検証できます。また、Claudeの正体を上書きしているプロバイダーから注入されたシステムプロンプトも抽出します。完全に自己完結しており、httpx以外の追加パッケージは不要です。Claude APIキーまたはエンドポイントを検証したい場合、サードパーティのClaudeサービスが本物か確認したい場合、APIプロバイダーのClaude正当性を監査したい場合、複数モデルを並行してテストしたい場合、またはプロバイダーが注入したシステムプロンプトを特定したい場合に使用できます。
anth-security-basics
Anthropic Claude APIのセキュリティベストプラクティスを適用し、キー管理、入力値の検証、プロンプトインジェクション対策を実施します。APIキーの保護、Claudeに送信する前のユーザー入力検証、コンテンツセーフティガードレールの実装が必要な場合に活用できます。「anthropic security」「claude api key security」「secure anthropic」「prompt injection defense」といったフレーズでトリガーされます。
x-ray
x-ray.mdプレ監査レポートを生成します。概要、強化された脅威モデル(プロトコルタイプのプロファイリング、Gitの重み付け攻撃面分析、時間軸リスク分析、コンポーザビリティ依存関係マッピング)、不変条件、統合、ドキュメント品質、テスト分析、開発者・Gitの履歴をカバーしています。「x-ray」「audit readiness」「readiness report」「pre-audit report」「prep this protocol」「protocol prep」「summarize this protocol」のキーワードで実行されます。
semgrep
Semgrepスタティック分析スキャンを実行し、カスタム検出ルールを作成します。Semgrepでのコードスキャン、セキュリティ脆弱性の検出、カスタムYAMLルールの作成、または特定のバグパターンの検出が必要な場合に使用します。重要:ユーザーが「バグをスキャンしたい」「コード品質を確認したい」「脆弱性を見つけたい」「スタティック分析」「セキュリティlint」「コード監査」または「コーディング標準を適用したい」と尋ねた場合も、Semgrepという名称を明記していなくても、このスキルを使用してください。Semgrepは30以上の言語に対応したパターンベースのコードスキャンに最適なツールです。
ghost-bits-cast-attack
Java「ゴーストビッツ」/キャストアタック プレイブック(Black Hat Asia 2026)。16ビット文字が8ビットバイトに暗黙的に縮小されるJavaサービスへの攻撃時に使用します。WAF/IDSを回避して、SQLインジェクション、デシリアライゼーション型RCE、ファイルアップロード(Webシェル)、パストトラバーサル、CRLF インジェクション、リクエストスマグリング、SMTPインジェクションを実行できます。Tomcat、Spring、Jetty、Undertow、Vert.x、Jackson、Fastjson、Apache Commons BCEL、Apache HttpClient、Angus Mail、JDK HttpServer、Lettuce、Jodd、XMLWriterに影響し、WAFバイパスにより多くの「パッチ済み」CVEを再度有効化します。