Warden
https://warden.sentry.dev/
Sentry製のコードレビューツール
Skillプロンプトを変更コードに対して実行し、知見を報告する
agentskills.io仕様に準拠
仕組み
実行のたびに以下を行う
変更箇所(ファイル・hunk・ディレクトリ)を特定
設定されたトリガーとマッチング
該当するSkillをマッチしたコードに対して実行
深刻度・場所・修正案を含む結果を報告
動作する2つのコンテキスト
ローカル: push前にレビュー、即時フィードバック
CI: Pull Requestを自動レビューしてコメント投稿
組み込みSkill
security-review: AppSecの基本カバレッジ
code-review: 正しさのバグ検出
これらは「first pass」として位置づけられる
深いカバレッジが必要ならSkillを追加
使うべき場面
チーム横断で一貫したコードレビューカバレッジが欲しい
人間のレビュアーが見落としがちな専門レビュー(セキュリティ、API契約、アクセシビリティ)
人間のレビュー前に問題を捕捉
コードベース固有のパターンや規約の強制
不向き: タイポ修正、ドキュメントのみの変更、生成コードやvendor依存
ローカル実行
認証はClaude CodeのサブスクリプションまたはAnthropic APIキー
主なコマンド
warden: 現在のブランチをデフォルトブランチと比較レビュー
warden --staged: ステージ済み変更のみ(pre-commit向け)
warden main..HEAD: 明示的なGitレンジ
warden --skill <name>: 特定Skillを直接実行
warden --fix: 修正案を対話的に適用
warden src/auth.ts: 特定ファイル/ディレクトリ対象
Skillの作成
.agents/skills/<name>/SKILL.mdに配置(または.claude/skills/)
Markdownファイルで、YAML frontmatterにメタデータ・本文にプロンプト
frontmatterのフィールド
name: 識別子
description: 説明
allowed-tools: 利用可能ツール
利用可能ツール: Read Grep Glob Edit Write Bash WebFetch WebSearch
Wardenは安全のためReadとGrepのみに制限する(allowed-toolsの宣言に関わらず)
良いSkillの条件
スコープが特定的(「セキュリティレビュー」であって「コード品質」ではない)
明確な判定基準と深刻度
修正方法を含むアクション可能な出力
良い例・悪い例の提示
Pull Reviewレビュー
GitHub Actionsで動作し、Pull Requestにインラインコメントを投稿
組織レベルのシークレット設定を推奨
WARDEN_ANTHROPIC_API_KEY: APIキー
WARDEN_MODEL: モデル指定(オプション、例: claude-haiku-4-5)
WARDEN_SENTRY_DSN: Sentryへのテレメトリ送信(オプション)
リポジトリ初期化: npx @sentry/warden init
warden.toml(設定)と.github/workflows/warden.ymlを生成
出力制御
failOn: ブロック対象の閾値
requestChanges: 変更要求の有無
failCheck: チェック失敗扱いにするか
reportOn: 報告対象の深刻度
GitHub App(オプション)
デフォルトでは"github-actions"としてコメント
npx @sentry/warden setup-app --org <name>でブランド付きGitHub Appを作成可能
リモートSkill
warden add <name> --remote <repo>で外部Skillを取得
例: warden add vercel-react-best-practices --remote vercel-labs/agent-skills
--listオプションで利用可能Skillの一覧表示
ライセンス
FSL-1.1-ALv2 License