code-review
Sentryのエンジニアリング規約に従ってコードレビューを実施します。プルリクエストのレビューやコード変更の検査、コード品質へのフィードバックが必要な際に使用してください。セキュリティ、パフォーマンス、テスト、設計レビューを網羅しています。
description の原文を見る
Perform code reviews following Sentry engineering practices. Use when reviewing pull requests, examining code changes, or providing feedback on code quality. Covers security, performance, testing, and design review.
SKILL.md 本文
Sentry コードレビュー
Sentry プロジェクトのコードをレビューする際は、以下のガイドラインに従ってください。
レビューチェックリスト
問題の特定
コード変更の中から以下の問題を探してください:
- ランタイムエラー: 潜在的な例外、null ポインタの問題、境界外アクセス
- パフォーマンス: 無制限の O(n²) 操作、N+1 クエリ、不要なメモリ割り当て
- 副作用: 他のコンポーネントに影響する意図しない動作変更
- 後方互換性: マイグレーションパスのない破壊的な API 変更
- ORM クエリ: 予期しないクエリパフォーマンスを持つ複雑な Django ORM
- セキュリティ脆弱性: インジェクション、XSS、アクセス制御の隙間、シークレット露出
設計評価
- コンポーネント間の相互作用は論理的に意味をなしているか?
- 変更は既存のプロジェクトアーキテクチャと一貫しているか?
- 現在の要件または目標と矛盾していないか?
テストカバレッジ
すべての PR は適切なテストカバレッジを持つべきです:
- ビジネスロジックの機能テスト
- コンポーネント間相互作用の統合テスト
- 重要なユーザーパスのエンドツーエンドテスト
テストが実際の要件とエッジケースをカバーしていることを確認します。テストコードで過度な分岐やループを避けてください。
長期的な影響
以下を含む変更は、シニアエンジニアのレビューの対象にしてください:
- データベーススキーマ修正
- API コントラクト変更
- 新しいフレームワークまたはライブラリの採用
- パフォーマンスクリティカルなコードパス
- セキュリティに関連する機能
フィードバックガイドライン
トーン
- 丁寧で共感的である
- あいまいな批判ではなく、実行可能な提案を提供する
- 不確実な場合は質問の形式で表現する: 「〜を検討しましたか?」
承認
- 軽微な問題だけが残っている場合は承認する
- スタイルの好みのために PR をブロックしない
- 忘れずに: 目標は完璧なコードではなくリスク低減である
指摘すべき一般的なパターン
Python/Django
# 悪い例: N+1 クエリ
for user in users:
print(user.profile.name) # ユーザーごとに別のクエリ
# 良い例: 関連データの先読み
users = User.objects.prefetch_related('profile')
TypeScript/React
// 悪い例: useEffect の依存配列に不足
useEffect(() => {
fetchData(userId);
}, []); // userId が依存に含まれていない
// 良い例: すべての依存を含める
useEffect(() => {
fetchData(userId);
}, [userId]);
セキュリティ
# 悪い例: SQL インジェクションのリスク
cursor.execute(f"SELECT * FROM users WHERE id = {user_id}")
# 良い例: パラメータ化されたクエリ
cursor.execute("SELECT * FROM users WHERE id = %s", [user_id])
参考資料
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- davila7
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/davila7/claude-code-templates / ライセンス: 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を再度有効化します。