code-review について
プロジェクトの FastAPI、Next.js、セキュリティ規約に沿って変更を評価するコードレビュー用スキルです。チェックリスト、指摘の重大度ラベル、実装前に検証する対応手順を備えています。
主な機能
- 01バックエンドのレビュー項目
- 02フロントエンドのレビュー項目
- 03セキュリティチェック
- 04指摘の重大度ラベル
- 05実装前に検証する手順
活用シーン
- 01FastAPI の変更レビュー
- 02Next.js のコード規約確認
- 03入力検証とエンドポイントのセキュリティ評価
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ srbhr/ resume-matcher --skill code-reviewインストール後、Claude Code で/code-reviewを入力して読み込まれたか確認します。
詳細
コードレビュー
コードレビューでは、感情的な対応ではなく、技術的な評価が必要です。
基本原則: 実装する前に検証します。決めつける前に質問します。社会的な配慮よりも技術的な正確さを優先します。
レビューチェックリスト
バックエンド(Python/FastAPI)
- すべての関数に型ヒントがある
- 変更可能なデフォルト値には
copy.deepcopy()を使用する - エラーハンドリング:サーバー側では詳細なログを記録し、クライアントには汎用的なメッセージを返す
- API キーは
os.environではなく、api_key=パラメーターを介して渡す - I/O 操作には非同期関数を使用する
- リクエスト/レスポンスボディには Pydantic スキーマを使用する
- 非同期ルート内でブロッキング呼び出しを行わない
- 共有リソースの初期化には
asyncio.Lock()を使用する
フロントエンド(Next.js/React)
- スイス・インターナショナル・スタイルに準拠している
- すべての箇所で
rounded-noneを使用する - テキストエリアに Enter キーのハンドラーがある
- アイコンを個別にインポートする(バレルインポートではなく)
- 重いコンポーネントには
next/dynamicを使用する - 独立したフェッチには
Promise.all()を使用する - Server Actions 内で認証を確認する
セキュリティ
- コードにシークレットが含まれていない
- ユーザーデータを検証している
- CORS が適切に設定されている
- 保護されたエンドポイントで認証を確認している
回答パターン
WHEN receiving feedback:
1. READ: Complete feedback without reacting
2. UNDERSTAND: Restate requirement in own words
3. VERIFY: Check against codebase reality
4. EVALUATE: Technically sound for THIS codebase?
5. RESPOND: Technical acknowledgment or reasoned pushback
6. IMPLEMENT: One item at a time, test each
禁止されている回答
- 「まったくそのとおりです!」(見せかけの同意)
- 「良い指摘です!」(見せかけの同意)
- 「では、今すぐ実装します」(検証する前に)
異議を唱えるべき場合
- 提案が既存の機能を壊す
- レビュアーが十分な文脈を把握していない
- YAGNI(使われない機能)に反する
- このスタックに対して技術的に誤っている
- アーキテクチャ上の決定と矛盾する
重大度の形式
[CRITICAL] file:line - Security, data loss, crash
[ERROR] file:line - Bug, missing validation
[WARNING] file:line - Style, convention
[INFO] file:line - Suggestion, not required
参考資料
- バックエンドガイド:
docs/agent/architecture/backend-guide.md - コーディング規約:
docs/agent/coding-standards.md - スタイルガイド:
docs/agent/design/style-guide.md
コメント
Markdown 対応