Routine Labo / Claude Code

Claude Code mods ― ターミナルの中に「司令席」を作った

2026年10月1日、Claude Code に mods という新しい仕組みが入りました。Claude Code の動き方と画面を、自分の仕事に合わせて作り変えられる仕組みです。この資料では、ターミナルの中に作った司令席(Claude Code の使用量の見張り・テストの自動差し戻し・声で話すドット絵のジャーヴィス)を例に、mods とは何か、Hooks・Skills・MCP との違い、作り方、入れる前の安全チェック、司令席の使い方までをまとめます。

Claude Code mods|ターミナルの中に司令席を作った

結論:Claude Code を「内側から」作り変える仕組み

mods は、Claude Code の動き方と画面を、自分の仕事に合わせて作り変えられる仕組みです。プラグインに入れて配ることができ、小さいものなら「〇〇する mod を作って」と1回頼むだけで、Claude が書いて、その場で読み込むところまでやってくれます。この司令席のように作り込むなら、何度も頼んで育てます(司令席は、一晩またいで約1日かかりました)。

これまでの Hooks・Skills・MCP は、Claude Code の外側から足すものでした。mods は内側で動いて、ボタンやパネルのような触れる画面まで描けます。その代わり、サンドボックスはありません。入れた mod は Claude Code と同じ権限で動くので、入れる前に中身を確かめる習慣が要ります(後半で確かめ方を紹介します)。

今回作った司令席

今の画面、全部 mods:素の画面から司令席を開き、声で頼み、テストの赤から緑までの流れ
図解:Routine Labo

ターミナルの右側に開くパネルを「司令席」と呼んでいます。中身は次のとおりです。

mods とは

mods とは:Claude Code を中から作り変える小さな関数。2026年10月1日公開
図解:Routine Labo

mods は 2026年10月1日(日本時間では10月2日の午前3時)、Claude Code の 2.1.287 で入りました。出たばかりなので、中身の API は版ごとに変わる前提です(公式の docs もそう書いています)。

公式の紹介記事では、mods は「Claude Code の動き方を変える、小さな TypeScript の関数」と説明されています。できることは次の4つです。

  1. プロンプトを書き換える
  2. 新しい画面(UI)を足す
  3. 組み込みの機能を差し替える(Claude Code の /diff 自体が、いまは mod になっています)
  4. まったく新しい機能を足す
出典:Customize Claude Code with mods(2026-10-18 取得)
claude.com / CHANGELOG 2.1.287(2026-10-18 取得)
github.com

覗く・描く・足す(できること3つと、画面が出る場所)

mods ができること:覗いて書き換える・画面を足す・機能を足す。画面が出る場所
図解:Routine Labo

mod が描いた画面が出るのは、ターミナル・デスクトップアプリ・VS Code の拡張(2.1.299 以降)です。claude -p(自動実行)やクラウドのセッションでは、動きはしますが画面は出ません。VS Code では、プロンプトの上の帯は出ません。また、ドット絵のようなマス目の絵(Raster)はターミナルだけで描ける部品なので、司令席のジャーヴィスとゲージはターミナルでだけ見えます。

出典:Claude Code Docs「Mods overview」の Where mods run・「Mods reference」の Elements(2026-10-18 取得)
code.claude.com

Hooks・Skills・MCP との違い

画面を描けるのは mods だけ:Hooks・Skills・MCP との比較
図解:Routine Labo
どこで動く何を足す触れる画面
Hooks(設定の hooks)外から(設定ファイルのシェルコマンド)決まった瞬間に必ず動く処理✕
SkillsClaude が読む手順書・知識✕
MCP外のサービス外部の道具とデータ✕
modsClaude Code の中(関数)動き方・画面・コマンド・道具◯

mods は置き換えではなく、同じプラグインに同居する仲間です。mods で足した道具は、Claude からは mcp__プラグイン名__道具名 という名前で、MCP の道具と同じように見えます。逆に mod の中から、つないである MCP サーバーの道具を呼ぶこともできます。設定ファイルの hooks も、非推奨にはなっていません。

出典:Claude Code Docs「Mods overview」「Use the mods API」(2026-10-18 取得)
code.claude.com

作り方:小さいものは頼むだけ、作り込むなら頼み続ける

最小の mod はファイル3つ。ビルド不要
図解:Routine Labo

最小の mod は3つのファイルだけです。.claude-plugin/plugin.json(名前と説明)、hooks/hooks.json(読み込むファイル)、hooks/register.tsx(本体)。ビルドは要りません。試すときは claude --plugin-dir ./my-mod で起動すると、保存するたびに自動で読み直されます。

二段の作り方:小さい mod は頼むだけ、作り込むなら頼み続ける
図解:Routine Labo

そして、ファイルを自分で書く必要はありません。「〇〇する mod を作って」と頼むと、Claude が作り方のガイドを自分で読んで書き、このセッションで自動の読み込みを有効にするか聞いてきます(Enable hot reloading for this session?)。有効にすると、そのターンが終わった瞬間に読み込まれて、もう使えます。

ただし「頼むだけ」で済むのは小さい mod の話です。今回の司令席は、Claude に何度も頼み続けて約1日かかり、60ファイル・テスト 1,300 件以上(試験込みで約2.1万行・本体は約7,700行)になりました。途中で別の AI に何度も点検させ、見つかった指摘はすべて直しています。

例:今日のまとめの mod。頼む文8行だけで、約17分で動いた
図解:Routine Labo

小さい mod の例として、「今日のまとめ」の mod は次の8行の文で頼めます。ふだんの設定のままの Claude Code(Sonnet 5.5・毎回確認を聞くモード)にこの文だけを送ったら、Claude が作り方のガイドを読んで書き、テストまで付けて約17分で動きました。途中でファイルの読み書きやコマンドの実行の確認が何度も出る(毎回聞く設定で46回)ので、作っている間は画面のそばにいてください。

朝に開くと「今日のまとめ」が出る mod を作ってください。
- /kyou と打つと、横のパネルに次の3つを出す
  1. 今日やること:このフォルダの やること.md を読んで並べる。この会話や今日の git のコミットで済んだと分かるものには「済み」と付ける
  2. ここまでやったこと:この会話と今日の git のコミットから2〜3行
  3. YouTube のネタ3つ:Google ニュースの RSS(キーワード「Claude Code」)の新しい記事から、動画のタイトル案と一言の理由を出す。どの記事から考えたかも付ける
- 文章は haiku に書かせる。やること.md・記録・記事に無いことは書かない
- パネルに「コピー」「保存(まとめ/日付.md)」「作り直す」「閉じる」のボタンを付ける
- 毎朝9時(日本時間)に一度だけ「今日のまとめを作れます」とトーストで知らせる

自分の mod を頼むプロンプト(コピペ用)

自分用の mod も、同じように頼むだけで作れます。下の欄に「どんな機能が欲しいか」を日本語で書くと、Claude Code にそのまま貼れる頼み方の型に入ります。コピーして、Claude Code に貼って送るだけです。

条件を箇条書きで足すほど、狙いどおりになります。動かなかったら、同じ会話で「〇〇が動かない。直して」と頼めば直ります。大きいものは、一度に全部ではなく、少しずつ頼んで育ててください。

できた mod は、入れる前に次の節の claude plugin validate で、何を見て何を呼ぶかを確かめてください。

入れる前の安全チェック

入れる前に中身を見る:claude plugin validate
図解:Routine Labo

mods にサンドボックスはありません。Claude Code と同じ権限で、ファイルにもネットにも触れます。公式も「信頼できる出どころの mod だけを入れてください」と書いています。

確かめ方は1コマンドです。claude plugin validate <フォルダ> を実行すると、その mod が何を覗いて(hooks:)、何を呼ぶか(calls:)が一覧で出ます。今回の2つの読み方です。

司令席(labo-cockpit)
hooks: … prompt.submit, tool.call, turn.complete, session.measure, state.set … ui.render{component=Pane} …
calls: … $.fs.read(記録のファイル)… $.fs.write(Gemini の結果の写しだけ)… $.process.run(記録から必要な行だけ取り出す・Gemini の残りを調べる agy)… $.process.spawn(声の記録を読む)… $.prompt.fill(入力欄に置く)… $.session.usage … $.ui.blit …

テストの差し戻し(test-gate)
hooks: session.start, prompt.submit, turn.start, tool.call, turn.complete, command.run{command=testgate}, ui.render{component=AbovePrompt}
calls: … $.process.run(git の状態・テストの実行)… $.prompt.submit(差し戻し)… $.ui.log …

司令席の一覧には、ネットに出ていく印($.http)がありません。この mod 自身はネットの呼び出しを持っていません。ただし、Gemini の残りを調べる agy(Google Antigravity のコマンド)を20分ごとに起動します。Codex の記録は枠の値の行だけ、Claude の残りの記録は割合と時刻だけを取り出して読み、鍵やトークンは読みません。一方で、いま送った依頼とツールの呼び出しは見えています(hooks: の prompt.submit・tool.call)。依頼は次の一手に使うために直前の1本だけをメモリに覚え、ツールの呼び出しはジャーヴィスの顔(作業中)にだけ使います。どちらも保存も送信もしません。

テストの差し戻しの mod にも、ネットの呼び出しはありません。起動するのは git と、自分で決めたテストのコマンドだけで、失敗の出力は Claude に渡します。ネットの印が無くても、コマンドを起動する印($.process)があれば、何を起動するかまで見てください。Team・Enterprise のプランでは、組み込みの見張り役(sec-default)が先に読み込まれて、会社の設定を書き換える危ない操作を止めます。ただし、ファイルの読み取りやネットまでは止めないので、会社でも入れる前の確認は要ります。

出典:Claude Code Docs「Manage mods for your organization」・「Plugin security」(2026-10-18 取得)
code.claude.com

公式サンプルと、反応

入れるだけで使える公式サンプル3つと反応
図解:Routine Labo

公式アカウント @ClaudeDevs の発表には、いいねが約2万付いています(2026年10月18日時点 20,429)。Claude Code の責任者 Boris Cherny さんは「Mods are absolutely insane.」と投稿しました。日本語でも「IME なしで日本語入力できる mod を作ってみた」という投稿があります。公開された mod を集めた一覧(awesome-claude-code-mods・掲載 4,923 本)は、それぞれの mod が何を読み・書き・送るかまで表示してくれるので、入れる前の確認に使えます。

出典:公式サンプル(anthropics/claude-code-playground・2026-10-18 取得)
github.com / @ClaudeDevs の発表(2026-10-18 取得)
x.com / @bcherny の投稿(2026-10-18 取得)
x.com / @gorilla0513 の投稿(2026-10-18 取得)
x.com / awesome-claude-code-mods(2026-10-18 取得)
github.com

作っていて踏んだ落とし穴3つ

作っていて踏んだ落とし穴3つ
図解:Routine Labo

実際に作って動かしたときに起きたことです。

  1. 1px の見切れは、人の目がすぐ気づく。 ジャーヴィスはふわふわ浮いていますが、絵の窓がぴったりの大きさだったので、浮くたびにアンテナの先か足元の光が1px 切れていました。実機を確かめていた AI は気づいていたのに軽い問題として通していて、人が見て一目で分かりました。そこから、全部のコマと浮きの位置で、窓の外に点が出ないかを1画素ずつ数える検査にしました。
  2. mod が読んだ中身は、ほかの mod からも見える。 mod がファイルを読む・コマンドを走らせる、というのも出来事なので、先に読み込まれた別の mod がそれを覗けます。別の AI に点検させたら、声の記録の本文と、前払いのアカウントの ID を取り込んでいると指摘されました。それで、必要な行だけを取り出してから読む形に直しました。
  3. Claude は、シェルでファイルを書き換えることがある。「ファイルを直す道具が使われたらテスト」と作ったら、Claude が python で書き換えてすり抜けました。道具の名前だけでなく、結果(git の差分が変わったか)でも判断するように直しました。

もう1つ。mod がいくつも同じ場所(プロンプトの上の帯)に描くと、上の mod が下を隠します。下の帯を残す書き方にしておくと、並んで出ます(これは作るときに気をつけた点です)。

仕事での使いどころ

毎日のことを仕組みにする:毎日使う人・開発者・会社員・声
図解:Routine Labo

向かないのは、1回きりの作業(普通に頼めば済みます)、隔離が必要な処理(サンドボックスがありません)、claude -p や SDK だけで使う場合(画面が出ません)です。mods は「毎回やること・毎回見ること」を仕組みにするためのものです。

作例①:司令席を触る(使用量・先に尽きる枠・次の一手)

司令席を触る:先に尽きる枠と次の一手。提供元のクリック・自動・時間の線・次の一手・今日のネタ
図解:Routine Labo(画面は 10/17 19:09 の実測を再生したもの)

司令席は /labo で右側に開きます。上の列に ✻ Claude・⬡ Codex・✦ Gemini などの残りが、印と名前で並びます(印と名前は /labo icons・/labo names で消せます)。クリックで切り替えると、下に詳しい表示が出ます。どれがつながっているか・つながっていないときの直し方は /labo connect で見られます。0 を押すと、いちばん先に尽きる枠を自動で選びます。

基本の使い方

ジャーヴィスの気分

ジャーヴィスの気分:待機・聞く・考える・話す・喜ぶ・困る
図解:Routine Labo

ジャーヴィスには口がありません。話すときは目・耳・アンテナ・胸の光が明滅します。待機中はふわっと浮いて、ときどきまばたきし、9秒ごとに目だけ左右を見ます。目の色が変わるのは、テストの失敗・エラー・許可待ちといった一時的な出来事のときだけで、「尽きそう」のような続く警告は、バーと文字で出します。

作例②:テストが落ちたら、勝手に差し戻す

作例②:テストの自動差し戻し。3件失敗から差し戻し、15件通過でジャーヴィスが喜ぶ
図解:Routine Labo

見積もり計算の小さなアプリに、数量割引を足してもらいます。お客さん側の受け入れテストは、アプリとは別のフォルダにあって、Claude からは見えません。頼むのはこの一文だけです。

見積もり計算に、10個以上で5%引きの数量割引を足してください。

試走(Claude Sonnet 5.5)では、Claude が実装して「できました」と言った直後、テストが「3件失敗・11件通過」で落ちて、mod が自動で差し戻しました。誰も触らずに次のターンが始まり、Claude が受け入れテストを読んで直すと「15件すべて通過」になりました。司令席では、落ちたときにジャーヴィスが困った顔になり、差し戻しのあと通ると喜びます(最初から通ったときは喜びません)。最後の報告で、Claude はこう書いていました。

食品を対象外にするルールは、最初の依頼にはなく、受け入れテストで初めて分かりました。仕様として合っているかは、お店側にも確認してください。

差し戻しは3回までで、それでも通らなければ止めて人に返します。差し戻すたびに「テストのファイルを書き換えて通すのは禁止」と添えています。テストのコマンドは最初に一度だけ決めておきます。モデルや状況によっては、1回目で全部通ることもあります(差し戻しが効くのは、Claude が知らないルールがあるときです)。

/testgate cmd node --test 'test/*.test.js' '../受け入れテスト/*.test.js'

作例③:声で頼んで、全部つなぐ

作例③:声から作業、テスト、声まで。今日の要点
図解:Routine Labo

3つ目は、声で会話する mod(声モード・/jarvis)です。声で頼むと Claude Code が作業し、テストの mod が確かめます。考えるのはいつもの Claude Code で、声の窓口(GPT や Gemini の音声会話)は、聞いた依頼を Claude に渡し、答えを声で返します。司令席では「聞く › 考える › 話す」の段と、Claude が作業している秒数が見えます。

声モードが伝えるのは自分が頼んだターンの答え(「できました」)なので、差し戻しのあとの結果は、テストが通ったと表示されてから「テストは通った?」と聞きます。終わるときも「ジャーヴィス、終了して」と声で言えば止まります。話しかける言葉の例です。

ジャーヴィス、見積もり計算に、10個以上で5%引きの数量割引を足して。
(テストが通ったと表示されてから)ジャーヴィス、テストは通った?
ジャーヴィス、終了して。

司令席と声のジャーヴィスは、メンバー限定のキットで

今回の司令席と声のジャーヴィスは、キットにまとめて、メンバーシップ(スタンダード AI プラン以上)の方に Discord で配ります。最初に設定の画面が開き、つなぐもの(Claude・Codex・Gemini)と声を選べます。Claude Code だけ契約している方でも使えます。Mac 用です。作例のテストの差し戻しの mod と、今日のまとめ・日報の mod、見積もりのデモも、同じくメンバーの方に配ります。

API の声API を使わない声
考えるものClaude CodeClaude Code
聞き取り音声会話の API(GPT・Gemini)Whisper(Mac の中)
読み上げ音声会話の API の声Mac の読み上げ(機械っぽい声)
話し方同時に話せる・途中で割り込める交互に話す(話している間は聞かない)
費用音声の API の利用料かからない(Claude のプランの範囲)

まとめ

もっと実践的に使いたい方へ

Routine Labo では、今回のように仕事でそのまま使える AI の使い方と、AI のプログラムを毎回作って配っています。YouTube のメンバーシップでは、もう一歩踏み込んだ内容を用意しています。

この資料の内容は 2026年10月18日時点(Claude Code 2.1.295)で確認したものです。mods の API は版ごとに変わる可能性があります。