Warden
仕組み
実行のたびに以下を行う
変更箇所(ファイル・hunk・ディレクトリ)を特定
深刻度・場所・修正案を含む結果を報告
動作する2つのコンテキスト
ローカル: push前にレビュー、即時フィードバック
組み込みSkill
security-review: AppSecの基本カバレッジ code-review: 正しさのバグ検出
これらは「first pass」として位置づけられる
使うべき場面
人間のレビュアーが見落としがちな専門レビュー(セキュリティ、API契約、アクセシビリティ) 人間のレビュー前に問題を捕捉
不向き: タイポ修正、ドキュメントのみの変更、生成コードやvendor依存 ローカル実行
主なコマンド
warden main..HEAD: 明示的なGitレンジ warden --skill <name>: 特定Skillを直接実行 warden --fix: 修正案を対話的に適用
warden src/auth.ts: 特定ファイル/ディレクトリ対象
Skillの作成
.agents/skills/<name>/SKILL.mdに配置(または.claude/skills/)
frontmatterのフィールド
name: 識別子
description: 説明
allowed-tools: 利用可能ツール
利用可能ツール: Read Grep Glob Edit Write Bash WebFetch WebSearch
Wardenは安全のためReadとGrepのみに制限する(allowed-toolsの宣言に関わらず) スコープが特定的(「セキュリティレビュー」であって「コード品質」ではない)
明確な判定基準と深刻度
良い例・悪い例の提示
Pull Reviewレビュー
WARDEN_ANTHROPIC_API_KEY: APIキー
WARDEN_MODEL: モデル指定(オプション、例: claude-haiku-4-5)
リポジトリ初期化: npx @sentry/warden init
warden.toml(設定)と.github/workflows/warden.ymlを生成
出力制御
failOn: ブロック対象の閾値
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の一覧表示 ライセンス