Claude Media
Claude Code verifyコマンドとは何か — 検証範囲といつ使うか

Claude Code verifyコマンドとは何か — 検証範囲といつ使うか

/verifyはテストや型チェックに頼らず、実際にアプリをビルド・起動して変更の動作を確認するコマンドです。v2.1.215以降は自動実行されず、明示的に呼び出す必要があります。

/verifyはClaude Codeのバンドルスキルの1つで、テストや型チェックに頼らず、実際にアプリをビルド・起動してコード変更が意図どおり動くかを確認するコマンドです。「Claudeにverifyさせたい」「verifyスキルとは何か」と探している場合の答えは、この組み込みスキルです。テストは通ったのに動かしたら壊れていた、という場面を想定した確認手段にあたります。Claude Code全体の導入や権限設計はClaude Code(クロードコード)とはにあります。

テストが通っても動かないとき、何を確認するのか

公式ドキュメントは/verifyを「Confirm a code change does what it should by building your project's app, running it, and observing the result, rather than relying on tests or type checks(テストや型チェックに頼らず、プロジェクトのアプリをビルド・起動して観察することで、コード変更が意図どおり動くか確認する)」と定義しています。単体テストや型チェックが通っていても、起動したときにだけ表面化する不具合はあります。/verifyはその隙間を受け持ちます。

起動まわりのバンドルスキルは3つあり、役割が少しずつ違います。

くらべる

起動まわりの3つのバンドルスキル

動かして見る

/run

/runはアプリを起動して操作し、変更が動いている様子を確かめます。テストの通過だけで済ませない、という位置づけです。

意図どおりか確かめる

/verify

ビルド・起動・観察の結果から、コード変更が意図どおりかを確認します。ユーザーが呼び出したときだけ動きます。

起動手順を残す

/run-skill-generator

/run-skill-generatorは、クリーンな環境から起動するまでの手順をプロジェクト固有のスキルに記録します。上の2つが推測に頼らず動くための土台です。

3つともバンドルスキルなので、追加のインストールなしで呼び出せます。バンドルスキルは、SKILL.mdで自分で書くスキルと同じく、Claudeに渡されるプロンプトです。Claude Code本体に固定ロジックとして組み込まれたコマンドではありません。

/verifyと/runは、セットアップなしで動きます。READMEやpackage.json、Makefileからプロジェクトの種類(CLI・サーバー・TUI・ブラウザー駆動)と起動方法を推測するためです。公式ドキュメントは、標準的な起動を超える要素があるとこの推測が不安定になると書いています。挙げられているのはデータベース、環境変数ファイル、グラフィカルなセッション、複数段階のビルドです。

/verifyが担当しない領域もあります。型の整合性や構文エラーはテストと型チェックの領分です。コードを読んで正しさのバグを探すのは/code-review、セキュリティ上の懸念を探すのは/security-reviewが受け持ちます。

起動の推測が外れたら、手順を記録する

データベースや環境変数が要るプロジェクトで/verifyの起動が迷走するなら、手順を記録しておくのが近道です。記録には2つの経路があります。

手順

起動手順を残す2つの経路

  1. 1

    先に/run-skill-generatorを実行する

    クリーンな環境からアプリを起動し、うまくいったインストールコマンド、環境変数、起動スクリプトを.claude/skills/run-<name>/にプロジェクト固有のスキルとして記録します。以後は/runと/verify、それにリポジトリ内の他のエージェントが、この記録に従います。ビルドや起動の手順を変えたときは、もう一度実行します。

  2. 2

    /verify自身に記録させる

    記録済みの手順が無い状態でClaudeがアプリをビルド・操作すると、うまくいった手順を.claude/skills/verify/SKILL.mdに書き込みます。場所はリポジトリのルートで、モノレポでは変更したパッケージのディレクトリです。ルートでは、この記録済みスキルがバンドル版の/verifyに置き換わります。v2.1.200以降が必要です。

公式changelogのv2.1.205には「project verify skills being rewritten on every session instead of only when a documented command changed(プロジェクトのverifyスキルがセッションのたびに書き換わっていたのを、記載済みのコマンドが変わったときだけにした)」とあります。対象は記録ファイルの書き換え頻度で、/verifyコマンドの実行頻度ではありません。

/verifyが推測で失敗しやすいプロジェクトほど、先に/run-skill-generatorを回しておく価値があります。書き換わる条件がchangelogの表現より細かいところまでは、公式ドキュメントに記載がありません。記録ファイルは手順を変えたあとに追従しているか、自分の目でも見ておくのが安全です。

呼び出し方と、使いどころの目安

セッション内でスラッシュコマンドとして呼び出します。引数は要りません。

/verify

記録済みの手順があればそれに従い、無ければREADMEや設定ファイルから起動方法を推測してビルド・起動・観察します。使いどころは、コード変更のあとで「テストは通っているが、実際に動かして確かめたい」場面です。変更の種類ごとの効き方は、後の早見表にあります。

急に自動で走らなくなった(v2.1.215)

v2.1.215(2026年7月19日)で、/verifyと/code-reviewの呼び出し方が変わりました。公式changelogの記述は次のとおりです。

Claude no longer runs the /verify and /code-review skills on its own; invoke them with /verify or /code-review when you want them

Claudeが自分の判断でこの2つを実行することはなくなり、使いたいときに明示的に呼び出す形です。skillsのページは、/verifyのように「実行に時間とトークンを使う長めのチェック」は、いつ実行するかをユーザー側で握れるようにした、という趣旨で説明しています。それ以前は、Claudeが必要と判断すれば自律的に走らせることがありました。

自動実行に慣れた運用では「急に/verifyが走らなくなった」と感じます。不具合ではなく、v2.1.215以降の仕様です。バンドルスキルのうち一部は、関連があればClaudeが自動で呼び出します。

/verifyまわりの変更は、次のように積み重なりました。

あゆみ

/verifyまわりの変更(v2.1.200〜v2.1.286)

  1. v2.1.200(7月3日)/verifyが手順を自己記録できる

    自己記録の利用条件がv2.1.200以降になりました。

  2. v2.1.205(7月8日)記録ファイルの書き換えが必要なときだけになる

    記載済みのコマンドが変わったときだけ書き換わるよう修正されました。

  3. v2.1.215(7月19日)明示呼び出し専用になる

    /verifyと/code-reviewをClaudeが自分で実行しなくなりました。

  4. v2.1.246(8月25日)/code-reviewの自律起動が全環境に広がる

    Bedrock、Vertex AI、Foundry、Claudeアプリのゲートウェイ経由、テレメトリー無効の環境でも、Claudeが/code-reviewを自分で起動できるようになりました。止めたいときは、後述のskillOverridesで"code-review": "user-invocable-only"にします。/verifyは変わらず明示呼び出し専用です。

  5. v2.1.286(9月30日)verifyスキルがあるとコミット前に走る

    verifyという名前のスキルが自前で置かれているセッションでは、Claudeがコミット直前に実行するようになりました。条件は次の節にあります。

同じ扱いは他にもあります。commandsのページによると、動的ワークフローの/deep-researchもv2.1.218以降は呼び出したときだけ動きます。時間とトークンを食う長めの処理を手動起動に寄せる流れは、/verifyだけの話ではありません。バージョンごとの他の変更はClaude Code v2.1.215の詳細にあります。

自前のverifyスキルがあるとコミット前に走る(v2.1.286)

v2.1.286以降は、verifyかsimplifyという名前のスキルがセッション開始時に読み込まれていると、Claudeはコミットの直前にそれを実行するよう指示されます。docsだけ、またはテストだけの変更は対象外です。

条件は3つあります。

  • 置き場所: 個人・プロジェクト・エンタープライズ・追加ディレクトリのいずれか、または.claude/commands/の同名ファイルから読み込まれていること。/verifyが自己記録した.claude/skills/verify/SKILL.mdはプロジェクトスキルなので数えられます。バンドル版の/verifyと/simplify、プラグインのスキル、claude.aiアカウントのスキルは数えられません
  • 呼び出し: disable-model-invocation: trueなどでClaudeの呼び出しを止めていないこと
  • Git指示: includeGitInstructionsを無効にしていないこと。無効にすると、組み込みのコミット・PR指示と一緒にこの指示も消えます

バンドル版の/verifyが明示呼び出し専用であることは変わりません。コミット前に毎回動かしたい場合は、自己記録されたverifyスキルを置くか、自分でverifyスキルを書く形になります。

/code-reviewと迷ったときの切り分け

見ているものが違います。

くらべる

/verifyと/code-review

動かして見る

/verify

ビルド・起動して、実行結果が意図どおりかを観察します。テストや型チェックが通っていても残る、実行時の不具合が対象です。

差分を読む

/code-review

現在の差分を読み、正しさのバグを探します。--fixを付けると指摘を作業ツリーに適用でき、PR番号を渡せばそのPRを見ます。

/verifyだけではエッジケースや退行のような、コードを読まないと気づけない問題を取りこぼします。/code-reviewだけでは、動かして初めて出る不具合を取りこぼします。/code-reviewの主眼は正しさのバグで、モデルと努力レベルによっては再利用・簡素化などの整理も指摘します。整理だけを見て直すなら/simplifyです。こちらはバグを探しません。他のスラッシュコマンドとの分担はClaude Codeスラッシュコマンド一覧にあります。

利用形態によって、/verifyの効き方は変わります。

利用形態恩恵理由
UI・CLIなど実行結果を目視できる変更恩恵明確な恩恵あり理由ビルド・起動・観察という/verifyの強みが直接活きる
テストが薄い・未整備な箇所の変更恩恵明確な恩恵あり理由静的チェックで拾えない不具合を動作確認で補える
マージ前の最終確認恩恵条件次第理由標準的な起動で済むなら有効。DB接続などが絡むなら、先に手順の記録が前提
標準的な起動を超える環境(DB・複数段階ビルド)恩恵条件次第理由事前に/run-skill-generatorで手順を記録しておくと安定する
テスト充実済みの純粋なロジックの内部リファクタリング恩恵ほぼ影響なし理由テストで足りていれば追加確認の価値は薄い

使わせたくない、または隠したいとき

組織やプロジェクトの都合で/verifyを使わせたくない場面は、settings.jsonの設定項目で制御できます。

バンドルスキル全体を止めるなら、設定のdisableBundledSkillsをtrueにします。バンドルスキルとワークフローは丸ごと取り除かれ、/verifyも呼び出せなくなります。環境変数CLAUDE_CODE_DISABLE_BUNDLED_SKILLS=1でも同じ効果で、どちらか一方が無効にした状態を、もう一方で有効に戻すことはできません。組織の管理設定でこれが有効なら、手元で/verifyが動かないのは仕様どおりです。/initのような組み込みコマンドは入力自体はできますがClaudeからは見えなくなり、/doctorはv2.1.205以降もこの設定で入力できるままです。

/verifyだけを隠すならskillOverridesです。

{
  "skillOverrides": {
    "verify": "off"
  }
}

値は"on"・"name-only"・"user-invocable-only"・"off"の4種類で、"off"にするとClaudeからも/メニューからも消えます。/skillsメニューで対象を選んでSpaceを押しても同じ状態を切り替えられ、Escで.claude/settings.local.jsonに保存されます。"user-invocable-only"は「モデルからは隠すが/メニューには残す」という状態です。/verifyは元から手動でしか走らないため、"on"との実質的な違いは、Claudeに渡るスキル一覧に載るかどうかに留まると読めます。/code-reviewのように自律起動できるスキルを止めたいときは、この値が使えます。この個別制御が実際に使えるようになったのはv2.1.129以降です。

手元で確認できる範囲では、v2.1.285のclaude --helpに/verifyの項目はありません。スキルはセッション内のスラッシュコマンドだからです。ただしスキルを丸ごと止めるスイッチはあります。

claude --version
# 2.1.285 (Claude Code)
claude --help | grep -i "slash"
#   --disable-slash-commands              Disable all skills

--disable-slash-commandsはそのセッションのスキルを全部止める起動オプションで、disableBundledSkillsより対象が広く、自分で書いたスキルも止まります。

まとめ

/verifyは、テストや型チェックの外にある「実際に動くか」を確かめる手段です。起動が複雑なプロジェクトでは、先に/run-skill-generatorで手順を残すかどうかが、結果の安定を左右します。

参照した一次ソース

この記事の記述は、次の一次ソースと照合しています。更新時に参照先が変わった場合は一覧も更新します。

  1. code.claude.com/docs/en/skills
  2. code.claude.com/docs/en/commands
  3. code.claude.com/docs/en/changelog
  4. code.claude.com/docs/en/settings-reference
  5. code.claude.com/docs/en/env-vars
この記事を共有:XはてブLinkedIn