review-codebase
关于
This skill performs a comprehensive multi-pass codebase review covering architecture, security, code quality, and UX/accessibility in one coordinated pass. It generates prioritized findings with severity ratings in a structured table format suitable for direct conversion to GitHub issues via the create-github-issues skill. Use it for deep project reviews, onboarding to new codebases, or pre-release quality gates across all technical dimensions.
快速安装
Claude Code
推荐npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/review-codebase在 Claude Code 中复制并粘贴此命令以安装该技能
技能文档
name: review-codebase description: > 重大度評価と構造化された出力を持つ多段階の深いコードベースレビュー。 アーキテクチャ、セキュリティ、コード品質、UX/アクセシビリティを1回の 協調したパスでカバーする。create-github-issuesスキルを通じてGitHub Issueに 直接変換するのに適した優先順位付けされた所見テーブルを生成する。 locale: ja source_locale: en source_commit: 6f65f316 translator: claude-opus-4-6 translation_date: 2026-03-16 license: MIT allowed-tools: Read Grep Glob Bash WebFetch metadata: author: Philipp Thoss version: "1.0" domain: review complexity: advanced language: multi tags: review, code-quality, architecture, security, accessibility, codebase
Review Codebase
重大度評価された所見と修正順序の推奨事項を生成する多段階の深いコードベースレビュー。review-pull-request(差分に限定)や単一ドメインレビュー(security-audit-codebase、review-software-architecture)とは異なり、このスキルはプロジェクトまたはサブプロジェクト全体を1回のパスですべての品質次元をカバーする。
使用タイミング
- プロジェクト全体またはサブプロジェクトのレビュー(PR限定ではない)
- 新しいコードベースのオンボーディング — 何が存在し何に注意が必要かのメンタルモデルを構築する
- 持続的な開発後の定期的な健全性チェック
- アーキテクチャ、セキュリティ、コード品質、UXにわたるリリース前の品質ゲート
- 出力をIssue作成やスプリント計画に直接フィードする場合
入力
- 必須:
target_path— レビューするコードベースまたはサブプロジェクトのルートディレクトリ - 任意:
scope— 実行するフェーズ:full(デフォルト)、security、architecture、quality、uxoutput_format—findings(テーブルのみ)、report(ナラティブ)、both(デフォルト)severity_threshold— 含める最低重大度:LOW(デフォルト)、MEDIUM、HIGH、CRITICAL
手順
ステップ1: 棚卸し
範囲を確立しレビュー対象を特定するためにコードベースの目録を作成する。
- 言語/タイプ別にファイル数を数える:
find target_path -type f | sort by extension - 言語ごとの合計行数を計測する
- テストディレクトリを特定し、テストカバレッジを推定する(テストがあるファイルとないファイル)
- 依存関係の状態を確認する:ロックファイルの存在、古い依存関係、既知の脆弱性
- ビルドシステム、CI/CD設定、ドキュメントの状態を記録する
- 棚卸しをレポートの冒頭セクションとして記録する
期待結果: 事実に基づく目録 — ファイル数、言語、テストの存在、依存関係の健全性。まだ判断はしない。
失敗時: ターゲットパスが空またはアクセスできない場合は停止して報告する。特定のサブディレクトリがアクセスできない場合は記録して、利用可能なものでレビューを続行する。
ステップ2: アーキテクチャレビュー
構造的健全性を評価する:結合度、重複、データフロー、関心の分離。
- モジュール/ディレクトリ構造をマッピングし、主要なアーキテクチャパターンを特定する
- コードの重複を確認する — ファイル間での繰り返されるロジック、コピー&ペーストパターン
- 結合度を評価する — 単一の機能変更のために何ファイルを変更する必要があるか
- データフローを評価する — 層間(UI、ロジック、データ)に明確な境界があるか?
- デッドコード、未使用のエクスポート、孤立したファイルを特定する
- 一貫したパターンを確認する — コードベースは自身の規則に従っているか?
- 各所見を評価する:CRITICAL、HIGH、MEDIUM、またはLOW
期待結果: 重大度評価とファイル参照を含むアーキテクチャ上の所見リスト。一般的な所見:モード発信の重複、欠けている抽象化レイヤー、循環依存関係。
失敗時: コードベースが意味のあるアーキテクチャレビューに小さすぎる場合(5ファイル未満)は、これを記録してステップ3に進む。アーキテクチャレビューには構造を持つのに十分なコードが必要である。
ステップ3: セキュリティ監査
セキュリティの脆弱性と防御的コーディングのギャップを特定する。
- インジェクションベクタをスキャンする:HTMLインジェクション(
innerHTML)、SQLインジェクション、コマンドインジェクション - 認証と認可のパターンを確認する(該当する場合)
- エラーハンドリングをレビューする — エラーが暗黙的に飲み込まれているか?エラーメッセージが内部情報を漏洩しているか?
- 依存関係のバージョンを既知のCVEに対して監査する
- ハードコードされたシークレット、APIキー、または認証情報を確認する
- Docker/コンテナのセキュリティを確認する:rootユーザー、公開されたポート、ビルドシークレット
- localStorage/sessionStorageの機密データストレージを確認する
- 各所見を評価する:CRITICAL、HIGH、MEDIUM、またはLOW
期待結果: 重大度、影響を受けるファイル、修正ガイダンスを含むセキュリティ所見リスト。CRITICAL所見にはインジェクションの脆弱性と露出したシークレットが含まれる。
失敗時: セキュリティ関連コードが存在しない場合(純粋なドキュメントプロジェクト)は、これを記録してステップ4に進む。
ステップ4: コード品質
保守性、可読性、防御的コーディングを評価する。
- 名前付き定数にすべきマジックナンバーとハードコードされた値を特定する
- コードベース全体で一貫した命名規則を確認する
- システム境界での欠けている入力バリデーションを見つける
- エラーハンドリングパターンを評価する — 一貫しているか?有用なメッセージを提供しているか?
- コメントアウトされたコード、TODO/FIXMEマーカー、不完全な実装を確認する
- テストの品質をレビューする — テストは動作をテストしているか、実装の詳細をテストしているか?
- 各所見を評価する:CRITICAL、HIGH、MEDIUM、またはLOW
期待結果: 保守性に焦点を当てた品質所見リスト。一般的な所見:マジックナンバー、一貫性のないパターン、欠けているガード。
失敗時: コードベースが生成またはminifyされている場合は、これを記録して期待を調整する。生成されたコードは手書きのコードとは異なる品質基準を持つ。
ステップ5: UXとアクセシビリティ(フロントエンドが存在する場合)
ユーザーエクスペリエンスとアクセシビリティ準拠を評価する。
- インタラクティブ要素のARIAロール、ラベル、ランドマークを確認する
- キーボードナビゲーションを確認する — Tabキーですべてのインタラクティブ要素に到達できるか?
- フォーカス管理をテストする — パネルが開閉した際にフォーカスが論理的に移動するか?
- レスポンシブデザインを確認する — 一般的なブレークポイントでテストする(320px、768px、1024px)
- カラーコントラスト比がWCAG 2.1 AA標準を満たしているか確認する
- スクリーンリーダーとの互換性を確認する — 動的なコンテンツの変更が通知されるか?
- 各所見を評価する:CRITICAL、HIGH、MEDIUM、またはLOW
期待結果: 該当する場合はWCAG参照を含むUX/a11y所見リスト。フロントエンドが存在しない場合、このステップは「N/A — フロントエンドコードが検出されませんでした」を生成する。
失敗時: フロントエンドコードが存在するがレンダリングできない場合(ビルドステップが欠けている)は、ソースコードを静的に監査し、実行時テストが不可能であったことを記録する。
ステップ6: 所見の統合
すべての所見を優先順位付けされたサマリーにまとめる。
- すべてのフェーズからの所見を1つのテーブルにマージする
- 重大度でソートする(CRITICALを最初に、次にHIGH、MEDIUM、LOW)
- 各重大度レベル内でテーマ別にグループ化する(セキュリティ、アーキテクチャ、品質、UX)
- 各所見について含める:重大度、フェーズ、ファイル、1行の説明、提案された修正
- 修正間の依存関係を考慮した推奨修正順序を生成する
- サマリー:重大度別の合計所見数、上位3つの優先事項、推定作業量レベル
期待結果: 列を持つ所見テーブル:#、Severity、Phase、File(s)、Finding、Fix。依存関係を考慮した修正順序の推奨事項(例:「テストを追加する前にアーキテクチャをリファクタリングする」)。
失敗時: 所見が生成されなかった場合は、これ自体が所見である — コードベースが例外的にクリーンか、またはレビューが浅すぎた。少なくとも1つのフェーズをより深く再検査する。
バリデーション
- 要求されたすべてのフェーズが完了している(または正当化とともに明示的にスキップされている)
- すべての所見に重大度評価がある(CRITICAL/HIGH/MEDIUM/LOW)
- すべての所見が少なくとも1つのファイルまたはディレクトリを参照している
- 所見テーブルが重大度でソートされている
- 修正順序の推奨事項が所見間の依存関係を考慮している
- サマリーに重大度別の合計数が含まれている
-
output_formatにreportが含まれる場合、ナラティブセクションがテーブルに付随している
休憩によるスケーリング
レビューフェーズの間、特にフェーズ2〜5の間(異なる分析的観点が必要)には、チェックポイントとして /rest を使用する。チェックポイント休憩(短く、移行的)は、あるフェーズの勢いが次のフェーズにバイアスをかけるのを防ぐ。ガイダンスはチェックポイント対フル休憩の rest スキルの「Scaling Rest」セクションを参照する。
よくある落とし穴
- 海を沸騰させる: 大きなコードベースのすべての行をレビューするとノイズが生じる。高インパクトな領域に焦点を当てる:エントリーポイント、セキュリティ境界、アーキテクチャの継ぎ目
- 重大度のインフレ: すべての所見がCRITICALではない。悪用可能な脆弱性とデータ損失のリスクのためにCRITICALを予約する。ほとんどのアーキテクチャの問題はMEDIUMである
- 細部に迷って全体像を見失う: 個々のコード品質の問題は体系的なパターンよりも重要度が低い。マジックナンバーが20ファイルに現れる場合、それは1つのアーキテクチャ上の所見であり、20の品質所見ではない
- 棚卸しをスキップする: 棚卸し(ステップ1)は官僚的に見えるが、存在しないコードをレビューしたり、ディレクトリ全体を見逃したりすることを防ぐ
- フェーズの混在: アーキテクチャレビュー中のセキュリティ所見、またはセキュリティ監査中の品質所見。懸念事項を混在させるのではなく、正しいフェーズのために記録する — より整理された所見テーブルを生成する
関連スキル
security-audit-codebase— review-codebaseのセキュリティフェーズが複雑な脆弱性を明らかにした際の深いセキュリティ監査review-software-architecture— 特定のサブシステムの詳細なアーキテクチャレビューreview-ux-ui— フェーズ5がカバーする範囲を超えた包括的なUX/アクセシビリティ監査review-pull-request— 個々の変更の差分スコープレビューclean-codebase— このレビューで特定されたコード品質の修正を実装するcreate-github-issues— 所見テーブルを追跡されたGitHub Issueに変換する
GitHub 仓库
相关推荐技能
content-collections
元Content Collections 是一个 TypeScript 优先的构建工具,可将本地 Markdown/MDX 文件转换为类型安全的数据集合。它专为构建博客、文档站和内容密集型 Vite+React 应用而设计,提供基于 Zod 的自动模式验证。该工具涵盖从 Vite 插件配置、MDX 编译到生产环境部署的完整工作流。
polymarket
元这个Claude Skill为开发者提供完整的Polymarket预测市场开发支持,涵盖API调用、交易执行和市场数据分析。关键特性包括实时WebSocket数据流,可监控实时交易、订单和市场动态。开发者可用它构建预测市场应用、实施交易策略并集成实时市场预测功能。
creating-opencode-plugins
元该Skill帮助开发者创建OpenCode插件,用于接入命令、文件、LSP等25+种事件。它提供了插件结构、事件API规范和JavaScript/TypeScript实现模式,适合需要拦截操作、扩展功能或自定义事件处理的场景。开发者可通过它快速构建响应式模块来增强OpenCode AI助手的能力。
sglang
元SGLang是一个专为LLM设计的高性能推理框架,特别适用于需要结构化输出的场景。它通过RadixAttention前缀缓存技术,在处理JSON、正则表达式、工具调用等具有重复前缀的复杂工作流时,能实现极速生成。如果你正在构建智能体或多轮对话系统,并追求远超vLLM的推理性能,SGLang是理想选择。
