タグ: Claude Code

  • /resume ー 「昨日の続き、もう一度ここから」と打てる魔法

    /resume ー 「昨日の続き、もう一度ここから」と打てる魔法

    知らなかった話

    /clear を覚えてから1週間、私は毎朝「昨日の続き、もう一回ぜんぶ説明し直してます」をやっていた。プロジェクト名、ファイル構成、何をどこまで進めたか。Claude は素直に聞いてくれるけれど、私は3日目には「同じ口上、3回目です」と心の中で謝っていた。歌舞伎の口上ならいいけれど、こちらは技術相談である。

    そんな私の前に /resume というコマンドがいた。「昨日のあれ、続きから」が、たった6文字で済む世界。先に言っておくと、知った瞬間、過去の自分の3日分の口上を返してほしくなった。


    結論マップ(ビフォー/アフター)

    場面これまで/resume
    翌日の作業プロジェクト概要から再説明セッション選んで Enter
    Claude の記憶毎朝リセット前日の続きから接続
    必要な情報自分の記憶力に頼るセッションIDかタイトル

    3行で済む。これを最初に貼ってほしかった、というセリフを、私は今月だけで何回言っただろうか。


    要するに何ができるか

    /resume は Claude Code(Anthropic がターミナル向けに出している AI コーディングツール)に標準搭載されている 過去のセッションを呼び戻すコマンド だ。打つと、過去のセッション一覧(インタラクティブセッションピッカー)が画面に出てきて、上下キーで選んで Enter を押せば、選んだセッションが「続き」として目の前に戻ってくる。

    近い名前のコマンドに --continue(または -c)があるけれど、これは「直近のセッションを問答無用で続きから開く」ショートカットだ。一方 /resumeどのセッションから再開するかを選ばせてくれる 親切設計。前者が「とりあえず昨日の」、後者が「リストから今日の気分のやつを」、と例えると伝わるだろうか。Netflix で「続きを観る」のサムネイル一覧、と説明するのが一番近い気がする。


    とりあえずやってみる

    1. ターミナルで claude を起動し、/resume と打って Enter
    2. インタラクティブピッカーが起動して、現在のフォルダ内のセッションが一覧表示される(新しい順)
    3. 上下キーでセッションを選ぶ。タイトル・最終更新時刻・メッセージ数がプレビュー表示されるので、目当てのものを探す
    4. Enter で確定すると、選んだセッションが続きから読み込まれる
    5. そのまま「昨日の続きで、〇〇を直したい」と打てば、Claude は前日の文脈を踏まえて返してくる(「今日は何を?」とは聞かれない)

    私が使ったコマンド

    架空の旅行アプリ「jp-vacation-planner」を Claude と一緒に設計していた、という設定で読んでほしい(実在しません。私は今のところ、近所の銭湯にしか出かけていません)。

    > /resume
    Resumable sessions in /home/celcy/jp-vacation-planner:
    ▸ 2026-04-29 18:22 jp-vacation-planner 初期設計
    Last: "次は予算入力フォームのバリデーションを追加する"
    Messages: 47
    2026-04-28 21:05 jp-vacation-planner プロジェクト立ち上げ
    Last: "OK、まずはルート構成から決めましょう"
    Messages: 12
    [Enter] resume [↑↓] navigate [/] search [esc] cancel
    > (Enter で1番目を選択)
    Resuming session sess_8c4b... (2026-04-29 18:22)
    Loaded summary: jp-vacation-planner の初期設計セッション。47メッセージ。
    > 続きです。予算入力フォームのバリデーションから始めましょう。

    💡 ポイント: セッションが大きすぎて全部読み直すと使用量を圧迫しそうな場合、Claude は「全文を読み直す代わりに要約から再開しますか?」と提案してくれる。長文ファイルを毎朝全部音読するわけじゃない、ありがたい配慮である。なお、/resume 検索ボックスに GitHub・GitLab などのプルリクエストURLを貼ると、そのPRを生成したセッションを探してくれる機能も2026年4月のアップデートで入った(これは便利すぎて、私は3回見直した)。

    検索したいときは / を押すとフィルタが出るので、プロジェクト名や作業内容のキーワードで絞り込める。


    最初で詰まった3つ

    • -c で十分じゃない?」と思ってスルーしていた: claude --continue-c)は直近1件しか開かない。複数プロジェクトを同時並行している人は、3日前のあのセッションを呼び戻したいシーンが必ず出てくる。私はメモアプリと旅行アプリと家計簿を並行して相談していたので、毎朝「どれが直近だっけ」と賭けに出ていた。/resume は賭けを終わらせてくれた
    • セッション内の「許可」だけ復元されない: 会話履歴は全部戻ってくるけれど、セッション中に与えた一時的なツール実行許可(bash 実行を1回だけ許可など)は復元されない。再開後に同じ操作を頼むと「もう一度許可してください」と聞き直される。お辞儀は丁寧で気持ちがよい。びっくりしないこと
    • タブ補完で勝手に再開していた事故(修正済み): 2026年4月のアップデート前、/resume をタブ補完するとピッカーが出ずに任意のセッションがいきなり開いてしまう不具合があった。今は修正されているけれど、「あれ、何を選んだっけ」と感じたら、esc で抜けてもう一度 /resume を打ち直せば安全

    で、結局どうなの

    /resume昨日の自分にバトンを渡すコマンド だ。/clear がリセットボタン、/compact が要約しながら続ける道具なら、/resume は「タイムマシンの行き先を選ぶ」コマンドである。

    これを覚えてから、私は朝の口上を完全にやめた。Claude も「初めまして」を3回繰り返さされる日々から解放された(と勝手に思っている)。技術相談は続きものでよい、という当たり前のことに、私は1週間かけて気づいた。同じことに気づきかけている人がいたら、「6文字で済むよ」と先に言っておきたい。


    関連リンク

  • ファイルパス ー Claudeに「あれ」って言ってもダメな理由、半年かけて理解した

    ファイルパス ー Claudeに「あれ」って言ってもダメな理由、半年かけて理解した

    3ヶ月越しの正解

    「あのファイル、開いて」「どのファイル?」「あれ、あの、デスクトップにある、ほら」。私と Claude の会話、ある日のスクショは8割これだった。指差し確認の感覚で「あれ」と言っても、Claude には残念ながら指がない。指が無いというより、目がない。「画面のあれ」が見えない側の人と、私はずっと指差しでコミュニケーションしようとしていた。

    その日から私は「ファイルパス」という6文字を覚えた。これを知ってから、Claude との会話の8割は「あれ」を「C:\Users\Ranni\Documents\memo.txt」に置き換えるだけで成立するようになった。先に言っておくと、これを知るまでの3ヶ月、私はかなり遠回りをしました。


    結論マップ(ビフォー/アフター)

    場面これまでパス指定後
    伝え方「あの、デスクトップのやつ」C:\Users\Ranni\Desktop\memo.txt
    Claudeの反応「どのファイルですか?」(即読み込み)
    同じフォルダ内毎回フルパスを打つ.\memo.txt で済む

    3行で済む。これを最初に貼ってほしかった、と私は今月だけで何度言っただろうか(先週の自分にも言った気がする)。


    要するに何ができるか

    ファイルパス は、パソコンの中での「ファイルの住所」のこと。Windows なら C:\Users\Ranni\Documents\memo.txt のような、ドライブ名から始まる長い文字列で表される。「ドライブ名 → フォルダ → サブフォルダ → ファイル名」を \(バックスラッシュ・キーボードでは円マーク ¥ と同じキー)で区切って書く。

    このパスには 絶対パス相対パス の2種類がある。前者は 「住所をフルで書く」 スタイルで、C: から最後のファイル名まで全部書く。後者は 「ここからの道順」 スタイルで、自分が今いるフォルダを起点に書く(.\ が「今いる場所」、..\ が「ひとつ上のフォルダ」)。住所でいうと、絶対パスが「東京都千代田区〇〇1-2-3」、相対パスが「ここから2軒先の角」。同じ場所を指していても、伝え方が違う。


    とりあえずやってみる

    1. エクスプローラー(Windows のファイル管理ツール)で目当てのファイルを右クリック
    2. メニューから 「パスのコピー」 を選ぶ(Windows 11 なら標準装備、Windows 10 では Shift+右クリックで出る)
    3. クリップボードに "C:\Users\Ranni\Documents\memo.txt" のような形でコピーされる(両端のダブルクォートはそのまま貼ってよい)
    4. Claude Code(Anthropic のターミナル向け AI コーディングツール)のチャットに貼り付けて、「このファイルを読んで」と添える
    5. Claude はそのパスをそのまま Read ツールに渡して中身を返してくる(「あれ」のときと違って、聞き返されない)

    私が使ったコマンド

    架空のメモ整理プロジェクト「daily-notes」で作業中、という設定で読んでほしい(実在しません。私の Documents フォルダは「あとで整理する」というフォルダだけが肥大化しています)。

    # 絶対パスで指定(どこからでも通じる)
    > Read C:\Users\Ranni\Documents\daily-notes\2026-04-30.md
    # 相対パスで指定(今いるフォルダが daily-notes の場合)
    > Read 2026-04-30.md
    > Read .\archive\2026-03.md # サブフォルダ archive の中
    > Read ..\old-notes\2025-12-31.md # ひとつ上の old-notes フォルダの中

    💡 ポイント: パスの中に 空白日本語 が含まれていると、ツールによっては読み損ねる。C:\Users\Ranni\My Documents\日記.md みたいなパスは、ダブルクォートで "C:\Users\Ranni\My Documents\日記.md" と全体を囲んでおくと事故が減る。「住所が読みにくいので括弧でくくっておく」感覚。なお、PowerShell では \ の代わりに / も使える(C:/Users/Ranni/...)。混乱しそうなら \ で統一しておけば問題ない。

    絶対パスは「どこからでも通じる」のが強み。相対パスは「短く済む・引っ越しに強い」のが強み。Claude にファイルを渡すときは、慣れるまで 絶対パスのコピペ一択 で十分だ。


    やらかしたこと

    • 「ファイル名だけで通じるはず」と思っていた: memo.txt だけ書いて Claude に渡すと、Claude は「どこの memo.txt?」と困る。同じ名前のファイルがパソコンの別の場所にもあるかもしれないからだ。住所のない宅配便を出すような行為。配達員(Claude)はちゃんと困っていた。私が悪かった
    • \/ を混ぜて書いていた: C:\Users/Ranni\Documents/memo.txt のように、その場のノリで両方使っていた時期がある。動くこともあるが、動かないツールもある。Windows での「行儀のいい書き方」は \ で統一する、と覚えた。柔道着の襟元、左前と右前を間違えるあの感覚に近い(道着で初めて怒られた中学1年生の自分を思い出す)
    • PDF の中身を「これ読んで」と画像で貼り付けていた: パスを知らなかった頃、私は PDF をスマホで撮って Claude に送っていた。Claude は親切に読んでくれたが、解像度が低くて誤読する。Read C:\Users\Ranni\Downloads\契約書.pdf と1行打つだけで、本物のテキストが読める。私の3ヶ月返してほしい

    今日のまとめ

    ファイルパスは パソコン内の住所システム で、Claude に「あれ」を伝えるための正式な語彙だ。絶対パスは住所のフル表記、相対パスは道順表記。慣れるまでは「右クリック → パスのコピー → 貼り付け」の3ステップで十分戦える。

    私はこれを知ってから、Claude に「あれ」と言わなくなった。ついでに家族にも「あの、ほら、あれ」と言わなくなった(こちらは反省点が別にあった気がする)。指差しが通じない相手に、ちゃんと住所で伝える。技術相談以前の、人付き合いの基本だったな、と思う。


    関連リンク

  • Cowork・Claude Code・Codex の関係を「提供形態×提供元」の2×3で整理する

    Cowork・Claude Code・Codex の関係を「提供形態×提供元」の2×3で整理する

    何で混乱したか、を最初に書いておく

    私は Anthropic の Claude Max 5x プランで Cowork を中心に作業している。元々は Antigravity 経由で ChatGPT を触っていたので、OpenAI 側のコーディングエージェントの最近の動きにも一応うっすら興味はある。

    ところがある日、SNS で「Codex のアプリ版で computer use が来た」「Codex CLI でサブエージェントが動いた」「Cowork と Codex は思想が似てる」みたいな話が同時に流れてきて、頭の中が 「Cowork / Claude Code / Codex(アプリ版)/ Codex」の4つの名前で渋滞した。「Co」が3つ、「Codex」が2回、初心者には早口言葉だ。

    最初は「4つの呼び名で混乱した」という整理を書こうとしたが、調べていくうちに、実態は4つではなく「アプリ / CLI / IDE 拡張」の3形態 × 「Anthropic / OpenAI」の2社 = 6つの窓口だと分かった。「Codex」というブランドが傘になっていて、その下に App・CLI・IDE 拡張という具体的な窓口が並んでいる。一方で Anthropic 側も Claude Code は CLI と VS Code 拡張という2つの窓口を持っている。並べる粒度を「窓口」に揃えると、両陣営が綺麗に対称になる

    そこで本記事は、2×3マトリクスでこの関係を整理する。私が触れた経験があるのは Cowork と Claude Code(CLI・IDE 拡張ともに)だけで、Codex 系3つは公式ドキュメントを読んだ範囲の話に限定する。


    2×3 マトリクス(提供形態 × 提供元)

    最初に全体図。横が提供元、縦が提供形態。「自分はどこで AI に作業してほしいか」で読み下せば、1セルに辿り着けるようにしてある。

    AnthropicOpenAI
    GUI デスクトップアプリ系Cowork(Claude デスクトップアプリの作業モード)Codex(アプリ版)(macOS / Windows のデスクトップアプリ)
    ターミナル CLI 系Claude Code CLIclaude コマンド)Codex CLIcodex コマンド・OSS)
    IDE 拡張系Claude Code VS Code 拡張(公式)Codex IDE 拡張(VS Code / Cursor / Windsurf 等)

    読み方のコツ:同じ行のセル同士は「狙っている使い方が近い」。同じ列のセル同士は「同じ会社が提供する別フロントエンド」。Anthropic 側の CLI と IDE 拡張は同じ Claude Code エンジンの2窓口で、OpenAI 側の Codex CLI と Codex IDE 拡張も同じ Codex エンジンの2窓口だ(公式ドキュメントでも「IDE 拡張は CLI と同じエージェント・同じ設定を共有」と明記されている)。


    詳細比較表(観点 × 6製品)

    縦軸を観点、横軸を6製品にして並べる。情報量は多いが、後の解説が読みやすくなるように先に置く。

    観点CoworkClaude Code CLIClaude Code VS Code 拡張Codex(アプリ版)Codex CLICodex IDE 拡張
    提供元AnthropicAnthropicAnthropicOpenAIOpenAIOpenAI
    起動入口デスクトップアプリターミナルVS Code サイドバーデスクトップアプリターミナルVS Code / Cursor / Windsurf 等
    動作環境macOS / WindowsmacOS / Linux / WindowsVS Code が動く環境macOS(2026-02-02〜)/Windows(2026-03-04〜)macOS / Linux / WindowsmacOS / Linux(Windows は実験的)
    主な対象ユーザー知識労働全般(非エンジニア含む)開発者開発者(ターミナル不慣れも可)開発者中心、最近は知識労働へ拡張開発者開発者
    必要なプランPro / Max / Team / Enterprise(全有料プランで一般提供)Pro / MaxPro / MaxChatGPT Plus / Pro / Business / Enterprise / Edu同上(OSS なので API キーでも可)同上
    computer usePro / Max で利用可対象外対象外2026-04-16 アップデートで搭載対象外対象外
    配布形態クローズドソースクローズドソースVS Code MarketplaceクローズドソースOSS(Rust 製)VS Code Marketplace 等

    補足:Cowork は Pro / Max が 2026-01-16、Team / Enterprise が 2026-01-23 にそれぞれ research preview で開始され、その後すべての有料プランで一般提供(GA)に移行している。Codex(アプリ版)の Windows 版は 2026-03-04 から Microsoft Store 経由で配布されている。


    行ごとの解説(同じ提供形態の2社並び)

    GUI デスクトップアプリ系:Cowork / Codex(アプリ版)

    Cowork(Anthropic)は Claude デスクトップアプリの中で動く作業モード。指定したフォルダの中身を読み・書き・作り、Claude がローカル PC で複数ステップのタスクを最後まで仕上げる。コーディングに限らず、リサーチ・資料作成・ファイル整理など知識労働全般が想定されている。Pro / Max / Team / Enterprise の全有料プランで一般提供されており、Pro / Max では画面操作(computer use)も渡せる。

    Codex(アプリ版)(OpenAI)は macOS は 2026-02-02、Windows は 2026-03-04 から提供されているデスクトップアプリ。「複数のエージェントを並列管理するコックピット」という位置づけで、コードを書く窓口というよりはエージェント運用の母艦に近い。2026-04-16 のアップデートで computer use・画像生成・メモリ・90 種以上のプラグインが乗った。

    比較:両方とも GUI で、computer use を持ち、知識労働方向への拡張が起きている点が似ている。一方で Cowork は「1人の Claude に作業を任せる」一体感、Codex(アプリ版)は「複数エージェントを並列に走らせるダッシュボード」というメンタルモデルで、同じ GUI でも操作感はけっこう違うように公式ドキュメントからは読める。

    ターミナル CLI 系:Claude Code CLI / Codex CLI

    Claude Code CLI(Anthropic)は claude コマンドで起動するターミナル UI。現在のディレクトリを読み込み、コードの編集・実行・git 操作などを自然言語で頼める。Pro / Max プランの利用枠が Claude(ウェブ)と共有される。

    Codex CLI(OpenAI)は codex コマンドで起動する Rust 製・OSS のターミナル UI。GitHub openai/codex で公開されている。ChatGPT Plus 以上のサブスクで認証する以外に、API キーで認証することもできる。

    比較:両方ともターミナルでコードを書きたい開発者向け。Codex CLI が OSS、Claude Code CLI がクローズドソースという配布の違いは、トラブル時の追跡やカスタム改造の余地という点で性質が違う。プラン要件はどちらも「自社のサブスクに含まれる」形で、追加課金なしで使える。

    IDE 拡張系:Claude Code VS Code 拡張 / Codex IDE 拡張

    Claude Code VS Code 拡張(Anthropic)は VS Code の Marketplace で配布されている公式拡張。サイドバーで Claude を呼び出して使え、内部に CLI が同梱されているため、ターミナル不慣れでも GUI の感覚で Claude Code を扱える。公式ドキュメントは「VS Code を使うなら拡張が推奨」というスタンス。

    Codex IDE 拡張(OpenAI)は VS Code・Cursor・Windsurf など VS Code 系エディタ向けの拡張。CLI と同じエージェント・同じ設定を共有することが明記されている。macOS / Linux で正式対応、Windows は実験的扱い、と公式ドキュメントに書かれている。

    比較:両方とも「同じエンジンの IDE 内フロントエンド」という位置づけ。Anthropic 側は VS Code 一本、OpenAI 側は Cursor・Windsurf も含む VS Code 系エディタを広めにカバーしている。IDE 派ならそれぞれの拡張を入れるのが定番という点では性質が一致している。


    列ごとの解説(同じ会社の3窓口は何が共通か)

    Anthropic 側(Cowork / Claude Code CLI / Claude Code VS Code 拡張)

    3つは Pro / Max プラン1本に含まれる。Cowork とウェブ Claude と Claude Code は使用量枠が共有されているので、私のように Cowork で重い処理を回した日は CLI 側にも影響が出る、というのは Pro / Max ユーザーが知っておきたい挙動だ。

    3つの分け方は 「フォルダ単位の作業 = Cowork」「リポジトリ単位のコード作業 = Claude Code(CLI / IDE 拡張)」 という方向性で読める。Cowork は知識労働全般、Claude Code はコーディング寄り、というのが Anthropic 側の役割分担。

    OpenAI 側(Codex App / Codex CLI / Codex IDE 拡張)

    3つは 同じ ChatGPT アカウントで連携する。CLI で始めた会話を IDE で続けたり、ローカルから Cloud にタスクを投げて結果を IDE に戻したり、という横断利用が前提になっている。「Codex」はこの3つを束ねるブランド名で、傘の下に具体的な窓口が並んでいる構造。

    ChatGPT Plus / Pro / Business / Enterprise / Edu の各サブスクに Codex 全体が含まれているため、ChatGPT を持っている人は追加契約なしで全窓口に触れる。Codex CLI だけは OSS なので、API キー単独でも導入できるという余地もある。


    どれが何のとき役立つか

    私は6つ全部を実利用しているわけではないので、ここは 公式の説明によれば という前置きで書く。実体験があるのは Cowork と Claude Code(CLI / IDE 拡張)だけ。

    Cowork(実体験あり)

    PC のなかにあるファイルを使って、ChatGPT のチャットでは閉じない仕事をやり切ってほしいとき。私の場合、ブログのドラフト整形、Excel の差分比較、フォルダの整理などを頼んでいる。指示を出して別の作業をして戻ると成果物ができている、という非同期の動き方が好みなら相性がいい。

    Claude Code CLI(実体験あり)

    ターミナルから直接コードに触りたいとき。git の操作・テストの実行・リポジトリ全体を把握しての修正などをやらせたいとき。Pro / Max プランがあれば追加課金なしで使えるので、開発初心者の私も「とりあえずインストールして触る」ハードルが低かった。

    Claude Code VS Code 拡張(実体験あり)

    ターミナルが苦手な人、または VS Code をすでに常用している人向け。サイドバーに Claude を呼び出せるので、ファイルを開きながら自然に対話できる。私は CLI と拡張の両方を試したが、コードの選択範囲を渡せるのは拡張側の便利さで、ちょっとした修正なら拡張のほうが手数が少ない。

    Codex(アプリ版)(公式情報のみ)

    複数のエージェントを並列で走らせたい、PC 上で computer use にも触らせたい、画像生成とコード生成を一画面でやりたい、あたりが公式が押し出しているユースケース。Cowork と射程が重なる方向に動いている。私はまだ実機で動かしていないので、ここは公式説明をそのまま信じている段階。

    Codex CLI(公式情報のみ)

    ChatGPT のサブスクを既に持っている人で、ターミナルから OpenAI のエージェントを呼びたい場合。OSS なので導入だけならハードルは低く、API キー認証もある。私のように現在 Anthropic 側に寄せている人間でも、Codex CLI 単体だけ試してみる、という軽い検証が成立しやすい。

    Codex IDE 拡張(公式情報のみ)

    VS Code・Cursor・Windsurf を常用している開発者向け。CLI と同じエンジン・同じ設定を共有するので、CLI と拡張の併用も自然に成立する、と公式に書かれている。


    6つを使い分ける視点(誤発注しないために)

    料金体系の違いはざっくり「Anthropic 側は Claude Pro / Max のサブスクに Cowork も Claude Code も(CLI も拡張も)含まれる」「OpenAI 側は ChatGPT Plus 以上のサブスクに Codex 3兄弟が含まれる」という構造になっている。追加で Codex を契約しないと触れない、という構造ではない点が、両陣営に共通する誤発注ポイントだと思う。

    誤期待の整理として、「Cowork と Codex(アプリ版)は computer use があるから同じ」と早合点しないこと。同じ概念の機能でも、PC 上のどのアプリに対して、どの程度の権限で動くかは細部が違う。私のように非エンジニアで computer use に「自動化の最後の一歩」を期待する側からすると、まず公式ドキュメントの権限・制限事項を読んでから手を出したほうが事故が少ない。料理人にとっての包丁選びと同じで、見た目で似ていても刃の角度で別物だ。

    両方使うのもアリ:Anthropic と OpenAI の両方を契約する人は実在するが、私の Max 1 プラン前提では普段づかいは片方に寄せるのが現実的。Anthropic 側で困ったときの逃げ道として Codex CLI(OSS)に少し触っておく、くらいの距離感が私にはちょうどいい。


    生産的なプロンプト例(6つすべてに応用できる粒度で)

    両陣営に共通して効く「初心者の指示の出し方」を1つだけ載せておく。架空の家計簿アプリ開発を想定した指示で、Cowork でも Claude Code(CLI / IDE 拡張)でも Codex 3兄弟でも、考え方は流用できる

    このフォルダの "expenses_2026.csv" を読み込んで、以下を順にやってください。
    1. 月別の支出合計を集計し、Markdown の表にまとめる
    2. 前月比 +20% を超えたカテゴリには ⚠ を付ける
    3. 結果を summary_2026-04.md として同じフォルダに保存する
    4. 集計に使ったコードは scripts/aggregate.py に分離して保存する
    5. 最後に「次にやるとよさそうな分析」を3件、箇条書きで提案する
    

    ポイントは、ゴールを1個ではなく工程に分けて並べるところ。エージェント系は1ターンで複数ステップをこなすのが得意なので、「読み込み→集計→印付け→保存→分離→提案」のように動詞を並べると、人間とのやりとり回数が減って結果的に時短になる。料理に例えるなら「カレーを作って」より「玉ねぎを切って、炒めて、肉を入れて、煮込んで、皿に盛って」のほうが鍋のフタを開ける回数が減る、という話。


    まとめ

    6つを最後に1行ずつでまとめておく。

    • Cowork:Anthropic、GUI、知識労働全般
    • Claude Code CLI:Anthropic、ターミナル、コーディング
    • Claude Code VS Code 拡張:Anthropic、IDE、コーディング(GUI 派にも)
    • Codex(アプリ版):OpenAI、GUI、複数エージェント運用
    • Codex CLI:OpenAI、ターミナル、OSS
    • Codex IDE 拡張:OpenAI、IDE、CLI と同エンジン

    混同を避けるコツは、「アプリ / CLI / IDE 拡張」という3つの提供形態軸を最初に立てること。同じ会社の窓口は内部的に近い親戚で、同じ提供形態どうしは別会社でも狙いが似ている。Anthropic と OpenAI を「2社 × 3形態 = 6窓口」のマトリクスとして眺めると、自分の使い方がどのセルに刺さるかが見えてくる。

    開発経験ゼロの私から見ても、両陣営とも「1本のサブスクで使える窓口を増やす」方向に動いているのは間違いなさそうで、しばらくはどちらに寄せても困らない時代に入っている。私はまず Cowork と Claude Code を使い倒すのが先になるけれど、地図だけは整えておくと、いざ片足踏み出すときに迷子にならない。整理整頓は事前にやるに限る。「備えあれば憂いなし」とはよく言ったもので、こういう地図づくりこそが開発経験ゼロの人間にとっての杖になる気がしている。


    参照した一次情報

  • Chat / Cowork / Code、それぞれ「新しく作る」タイミング ー 1つに全部詰めて、Claude を混乱させてた

    Chat / Cowork / Code、それぞれ「新しく作る」タイミング ー 1つに全部詰めて、Claude を混乱させてた

    「同じセッションで全部やったら、Claude が話題を見失った」

    ある日、ひとつの Cowork セッションで「英文メールの和訳 → Excel の整理 → 架空のスクリプトの修正」と立て続けに頼んでみた。詰め込みすぎたお弁当箱みたいなセッションです。
    3つ目に入ったあたりで、Claude が「先ほどのメールの件についてですが…」と、もう関係ない最初の話題を引っぱり出してきた。「先ほどの……って何ですか(こちらは Excel の話をしている)」。

    最初は「Claude が壊れたのかな」と思った。違いました。Claude は壊れてなくて、私が1つの場所に荷物を詰めすぎただけだった。要するに、引っ越し前日の段ボール状態です。何が入っているか、自分でも把握できていない。

    Cowork のサイドバーには「Chat」「Cowork(New task / セッション)」「Code」という3つの入口があり、それぞれ何を覚えているか(コンテキスト)が違う。新しい話を始めるたびに「これは続きにすべきか、新しく作るべきか」を判断するクセを付けてから、誤動作がぐっと減った。「クセを付けた」と書きましたが、実態は「やらかした回数だけ学んだ」です。


    なぜ「新しく作る」を意識するのか

    Claude は会話を続けるほど、その会話の中身を覚えていく。便利なんだけど、過去の話題が混ざると判断がブレる。便利の裏には、たいていトレードオフがいる。
    たとえば「Excel ファイル A」を読み込ませた直後に「画像を生成して」と頼むと、Claude は「Excel に貼る用の画像かな?」と勝手に推測してしまうことがある。気を利かせてくれているんですが、こっちは普通に SNS のアイコンを作りたかっただけです。私はこれを「コンテキストの引きずり」と呼んでいる(命名するほどには遭遇している)。

    加えて、長い会話はトークン(Claude が一度に扱える文章量の単位)を食う。動作も重くなるし、料金もかさむ。お腹いっぱいの Claude は、判断もちょっと鈍る——そんな気がしている。話題が変わったら新規にする、というのは「自分のためでもあり、Claude のためでもある」操作になっている。たぶん Claude も、毎回まっさらな机で仕事を始めたいはず。


    3種類 × 新規作成すべきタイミング

    ここで一旦整理。「だから何を、いつ新しくすればいいの?」という話を表にしました。

    種類主な使い道コンテキストの中身新しく作るべきタイミング
    Chat質問・即答・短文生成そのチャット内の会話履歴(必要に応じてチャット検索やメモリも参照される)。ファイル操作や MCP 連携は行わない話題が変わったら、迷わず新規。コストが軽いので「1質問1チャット」でも問題ない
    Cowork セッションファイル操作・MCP 連携・複数ステップ作業読んだファイル・実行したツール・出した結論対象プロジェクトやフォルダが変わるとき。失敗から始め直したいとき。長くなりすぎたとき
    Code セッションリポジトリ(=コードを置いてあるプロジェクトのフォルダ)単位のコーディングCLAUDE.md・git の状態・開いているリポジトリリポジトリを切り替えるとき。ブランチ運用で文脈が大きく変わるとき

    💡 補足: Cowork セッションは作業を後で続けられる設計。同じテーマの追加作業なら新規にせず、続きから頼む方が記憶を再利用できて速い。「昨日の私の続き」を今日の Claude が拾ってくれる感じで、地味にうれしい。
    一方で別テーマを始めるときは、続きにせず新規にした方が安全。引き継がせると、たまに昨日の経費の話が顔を出してくる。


    判断フロー(私の3問チェック)

    迷ったら、上から順にチェックする。本当はもっと迷うべきなんですが、3問にしないと自分が動けないので3問にしました。


    1. 「直前の会話と同じテーマ?」
      YES → 続行。NO → 新規。
      翻訳の続きで翻訳を頼むなら続行、Excel の話を始めるなら新規。境目はけっこうハッキリしているので、迷ったら2問目へ。



    2. 「Claude が前提にしているファイル状態は、まだそのまま?」
      YES → 続行。NO → 新規。
      Excel の構造を大きく変えた、フォルダの中身を入れ替えた、などの後は新規にする。「さっきのファイル覚えてる?」と聞いた時点で、もう新規が正解だったりする。



    3. 「セッションが長くなりすぎて、自分でも何が話されたか追えない?」
      YES → 新規 or /compact で要約。NO → 続行。
      /compact は履歴を圧縮するスラッシュコマンド。完全リセットせずに重さだけ落とせる。要するに会話のダイエット機能です(例えが合っているかは別として)。



    同じ作業、続けるか・新規か

    例:朝、Excel に経費を整理してもらった。午後、別の作業として「ブログ記事の下書きを書いてほしい」と頼みたい。完全に午前と午後で別人格になりたい日です。

    そのまま続けるとどうなるか:

    午前のセッションで…
    私: Documents/領収書/202603/ の JPG を OCR して
    expenses.xlsx に追記して。
    Claude: 12枚処理しました。3枚は要確認です。
    午後、同じセッションで…
    私: ブログ記事の下書きを書いて。テーマはコンテキスト管理。
    Claude: かしこまりました。経費レポートを踏まえつつ、
    コンテキスト管理についての記事を…
    (← 関係ない経費を引っぱってきた)

    経費の話題が引きずられて、関係ない場所に出てくる。記事に「3枚は要確認です」とか出てきても困る。

    新規にすると:

    午後、新しいセッションで…
    私: ブログ記事の下書きを書いて。テーマはコンテキスト管理。
    Claude: 何文字くらいで考えていますか?想定読者は?
    (← まっさらな状態でヒアリングが始まる)

    「初対面の Claude さん、こんにちは」状態。これがいちばん仕事が早い。
    判断のクセが付くまでは「Claude が変な前提で答えてきた瞬間に、新規にし直す」を続けると、リズムをつかみやすい。最初は新規にし直しすぎて、逆に毎回ゼロから説明する事故も起きました。バランスです、何事も。


    つまずき

    ここからは、私が実際にやらかした話です。先輩の失敗談を聞くつもりで読んでください(先輩というには日が浅いですが)。

    • Code セッションで雑談を始めてしまう: Code セッションはリポジトリのコードを前提に話を聞く設計なので、関係ない雑談を続けると「このコードを直そうとしてる?」と勝手に解釈し始めることがある。雑談は Chat 側に逃がすのが安全です。Code セッションでお昼ごはんの相談をしてはいけない(やった)。
    • Cowork セッションを使い捨てにしてしまう: 1つで完結するつもりで始めたのに、後から続きが出てきて「あのセッション、どこだっけ」になりがち。これはまさにシュレーディンガーのセッション——開いてみるまで、どれが目当てのやつかわからない。終わったセッションは名前の頭に【完了】を付けておくと、続きを開きたいときに区別しやすい。
    • 「重いから新規」と「履歴がほしいから続行」が両立しないとき: 答えは /compact。会話を要約して短くしつつ、流れは保てる。完全に切るほどではない、というときの中間オプションとして覚えておくと便利。「離婚するほどじゃないけど、ちょっと距離を置きたい」みたいなときに使ってください(例えが重い)。

    まとめ

    私が新しく作るときの判断は、結局この3問。

    • 直前と同じテーマ? → 続行(違うなら新規)
    • Claude が前提にしてるファイル状態は今もそのまま? → 続行(変わったなら新規)
    • 重くなりすぎ? → /compact で軽量化、それでもダメなら新規

    Chat は気軽に新規、Cowork セッションは「テーマ単位」で新規、Code セッションは「リポジトリ単位」で新規。
    コンテキストは、引き継ぐと便利な資産にも、引きずると重荷にもなる。場所を変えてリセットするのは、Claude を混乱させないためというより、自分が混乱しないため、という気がしている。冒頭の段ボール状態に戻ると、結局困るのは荷物を詰めた本人なんですよね。


    関連リンク

  • /compact ー リセット癖、ようやく卒業した

    /compact ー リセット癖、ようやく卒業した

    先に言っておく

    会話が長くなって Claude の返事がもったりしてくると、私はそっとウィンドウを閉じて新しいセッションを開いていた。さっきまでお願いしていた前提も、書きかけのファイル名も、全部やり直し。儀式みたいに毎回やっていたけど、これ、本当は要らない手順だった。

    /compact という1コマンドを打つだけで、会話の中身は要約されてコンパクトになり、続きから話を進められる。知ったときの最初の感想は「私の毎晩の引っ越し作業はなんだったのか」だった。


    ざっくり言うと

    /compact は Claude Code(Anthropic がターミナル向けに出している AI コーディングツール)に最初から入っている 会話圧縮コマンド だ。会話のはじまりから現在までを Claude 自身が要約して、重要な決定・ファイルパス・残っているTODOだけを残し、不要な部分をごっそり捨ててくれる。

    ここで出てくる「コンテキストウィンドウ」とは、Claude が一度に覚えていられる文字量の上限のこと。これを超えると応答が遅くなったり、肝心の指示が押し出されて忘れられたりする。/compact は、その上限が近づいてきたときの 会話の片づけスイッチ だと思っていい。

    どちらかというと、メアリー・ポピンズのカバンの逆ベクトルだ。広げすぎた荷物を要点だけスーツケースに詰め直して、次の宿に持っていく方の発想に近い。


    5分でできること

    1. Claude Code でしばらく会話を続けて、画面下部に「Context: 78%」のような表示が見えてきたら準備OK
    2. プロンプト入力欄に /compact と打って Enter(タイプミスして /compcat にしないように。私はやった)
    3. 数秒で「これまでの会話の要約」が画面に表示される
    4. そのままいつも通り次の指示を打つ。Claude は要約と最新指示だけを覚えた状態で続きを話してくれる
    5. 残したい話題があれば /compact 認証まわりの実装方針を重点的に残して のように引数を添える

    ポイントは、70〜80% を超えたあたりで自分から打つ こと。空き容量が逼迫してから自動圧縮に任せると、要約のクオリティが落ちて、肝心の前提が削られることがある。先手を打つ自分のほうが、慌てている自分より仕事ができるという話だ。冷蔵庫が満杯になってから整理する人と、隙間があるうちに整理する人の差、と言ってもいい。


    コピペして使える例

    架空の旅行計画アプリを Claude と一緒に作っていた、という想定で考えてほしい(実在しません。私の現実の旅行計画はだいたい当日に駅で決まる)。会話が長くなってきたので、私は途中でこう打った。

    >> /compact 行き先別の見積もりロジックと、API キーの管理方針は必ず残してください。
    UI のデザイン議論は捨てて構いません。
    (数秒後)
    ✓ Conversation compacted.
    Kept: 旅行計画アプリの仕様 / 見積もり関数 calcTripCost() の引数 /
    環境変数 TRAVEL_API_KEY を .env で管理する方針 / 残TODO 3件
    Dropped: ボタン配色の議論 / フォント比較 / 没になったランディングデザイン
    >
    > 続きで、見積もりロジックに「祝日割増」を追加したい

    💡 ポイント: 引数で「残してほしい話題」を指定するのが効く。引数なしでも動くが、Claude の要約は「全体的に万遍なく」になりがちで、自分が本当に守りたい1点が薄まることがある。/compact取捨選択を Claude に丸投げするコマンドではなく、自分の優先順位を伝えるコマンド だと思うとうまくいく。


    私が間違えたこと

    • /clear と混同していた: /clear は会話を 完全に消す コマンドで、要約すら残らない。/compact は要約を残して続きを話せる。最初の頃、軽い気持ちで /clear を打って「あ、全部消えた」となったのは私です。Web フォームの「送信」と「リセット」を間違えるあの感覚に近い。
    • コードまでは戻らない: /compact が圧縮するのは「会話履歴」だけ。すでに編集されたファイルは元に戻らない。「軽くするついでにファイルも巻き戻る」と勘違いしていたけど、ファイルを戻すのは前回の記事で書いた /rewind(チェックポイント)の仕事。担当が違う。
    • 満タンになる前に打たないと意味が薄い: 99% まで膨らんでから打つと、要約のための処理自体に苦戦する。私は 70〜80% を目安にすると決めた。RPG で「セーブはボス手前」ではなく「町に着いたら毎回」が結局いちばん安心、というのと同じ話だ。

    覚えておくこと

    /compact は、長くなった会話を要約しながら続きを話せるコマンド。70〜80% で自分から打つ・引数で残したい話題を指定する・/clear と混同しない、この3つを覚えておけば十分使える。

    3ヶ月のあいだ、私は会話が重くなるたびにウィンドウを閉じてコーヒーを淹れ直していた。あの儀式に費やしたカフェイン量を返してくれとは言わない。けれど、/compact を1日早く知っていたら、昨日の私はもう少し早く寝られたはずだ。


    関連リンク

  • Hooks ー Claudeの動きの「前後」に、自分の指示を差し込む

    Hooks ー Claudeの動きの「前後」に、自分の指示を差し込む

    ずっと「お願い」していた

    毎回 CLAUDE.md に「ファイルを編集したら必ず prettier をかけて」と書いていた。Claude は気が向くとやってくれるし、気が向かないと忘れる。私と犬のしつけが同じ進捗を辿っているのを見て、これは依頼ではなく自動化の話だと気づいた。

    そこで出会ったのが Hooks(フック)だった。「Claude が動いた瞬間に、私の用意したスクリプトを横から差し込める」という、要するに 「お願い」を「実行」に格上げする仕組みである。


    結論マップ(ビフォー/アフター)

    場面Hooks を知る前Hooks を入れたあと
    編集後の整形毎回「prettier かけて」と頼むファイル編集 → 自動で prettier が走る
    危ないコマンドrm -rf を打つ前に祈る設定で問答無用ブロックされる
    終わったら通知画面を見続けて待つ終了の瞬間にデスクトップ通知が出る

    3行で済んだ。Claude にいちいちお願いするより、Claude の周りに自動ドアを設置するほうが結局は早い、というだけの話だった。


    Hooks って何

    公式ドキュメントによれば、Hooks は Claude Code のライフサイクルの特定タイミングで自動的に走る、ユーザー定義のシェルコマンド・HTTP エンドポイント・LLM プロンプト のこと。日本語で言えば「Claude の動作の前後に、自分の処理を割り込ませる栓抜き」だ。

    たとえばツール(Bash や Edit)を使う直前に走らせれば、危険なコマンドを止められる。直後に走らせれば、編集したファイルを自動で整形できる。会話が始まるとき、終わるとき、ユーザーがプロンプトを送ったとき、それぞれにフックポイントがある。

    💡 似た言葉だが、いわゆる「Webhook(外部から呼ばれる仕組み)」ではない。Hooks は自分のマシンの中で動くしかけ。つまり LINE スタンプを送るのではなく、自分の家の玄関に自動センサーライトを付ける、くらいのスケール感。


    どこに書くのか

    設定ファイルは置き場所で 適用範囲(スコープ) が変わる。これは公式ドキュメントの記載どおり:

    置き場所適用範囲共有
    ~/.claude/settings.json自分の全プロジェクト自分のマシン内のみ
    .claude/settings.jsonそのプロジェクトのみgit にコミット可
    .claude/settings.local.jsonそのプロジェクトのみgitignored

    このほか、プラグインに同梱したり、スキルやサブエージェントの frontmatter(YAML のメタ情報部分)に書く方法もある。「自分専用なら ~/.claude/、チームで共有するなら .claude/settings.json」と覚えると整理しやすい。


    どんなイベントにフックできるのか

    公式リファレンスに載っているイベントはかなり多いが、初心者がまず触りそうなのは以下:

    • SessionStart / SessionEnd — セッションの開始・終了
    • UserPromptSubmit — 私が Enter を押した直後、Claude が読む前
    • PreToolUse / PostToolUse — Claude がツール(Bash, Edit, Write, etc.)を呼ぶ直前・直後
    • PostToolUseFailure — ツールが失敗したあと
    • Stop — Claude が応答を終えた瞬間
    • Notification — Claude が通知を出すとき(権限確認など)
    • PreCompact / PostCompact — 会話圧縮の前後
    • FileChanged / CwdChanged — 監視対象ファイルが変わった/作業ディレクトリが変わった

    このほかにも SubagentStartInstructionsLoadedWorktreeCreate など細かいものが並んでいて、要は 「Claude が何かする」ほぼ全タイミングに切れ目が用意されている。映画の隙にどこでも CM が入れられる、と思うと近い。


    実例1:ファイル編集後に自動 prettier

    公式ガイドにそのまま載っている、いちばん腑に落ちる例。.claude/settings.json に書く:

    {
    "hooks": {
    "PostToolUse": [
    {
    "matcher": "Edit|Write",
    "hooks": [
    {
    "type": "command",
    "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write"
    }
    ]
    }
    ]
    }
    }

    matcher で「Edit か Write のとき」と絞り込み、Claude が編集したファイルパスを jq(JSON を取り出すコマンド)で抜き出して prettier に渡す。「お願い」の文言を CLAUDE.md に何行書くより、これ1つ置くほうが効く。これは私の犬の食事よりも確実に動く。

    💡 公式が jq を前提にしているので、Mac なら brew install jq、Ubuntu なら apt-get install jq を先に入れておく。私はここで30分溶かした(jq が入っていないと、フックは静かに失敗する)。


    実例2:危ないコマンドを問答無用で止める

    PreToolUse に「Bash で rm 系のコマンドが来たら止める」スクリプトを差し込む。.claude/hooks/protect-files.sh を作って中身は公式の例から拝借(exit 2 でブロックする):

    #!/bin/bash
    INPUT=$(cat)
    COMMAND=$(echo "$INPUT" | jq -r '.tool_input.command')
    if echo "$COMMAND" | grep -qE 'rm -rf'; then
    echo "Blocked: rm -rf は禁止です" >&2
    exit 2
    fi
    exit 0

    実行権限を付けて(chmod +x .claude/hooks/protect-files.sh)、.claude/settings.json に登録:

    {
    "hooks": {
    "PreToolUse": [
    {
    "matcher": "Bash",
    "hooks": [
    {
    "type": "command",
    "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/protect-files.sh"
    }
    ]
    }
    ]
    }
    }

    ポイントは exit 2。終了コード 2 は「ブロッキングエラー」と決まっていて、これを返すとツール呼び出し自体が止まり、stderr の文字列が Claude にエラーとして渡る(公式ドキュメント「Exit code output」セクション)。Claude には「あ、それはダメだったのね」と伝わるので、別の手を考えてくれる。父親の「ダメ」と母親の「いいよ」が衝突したとき、強いほうが通るアレ、と説明したい。


    実例3:Claude が止まった瞬間に通知

    長いタスクを投げて待っている間、私は別の作業をしている。気がついたら Claude は10分前に終わっていた、というのを何度かやらかしたので、Stop イベント(Claude が応答を終えた瞬間)にデスクトップ通知を出す:

    {
    "hooks": {
    "Stop": [
    {
    "matcher": "",
    "hooks": [
    {
    "type": "command",
    "command": "osascript -e 'display notification \"Claude が応答を終えました\" with title \"Claude Code\"'"
    }
    ]
    }
    ]
    }
    }

    これは Mac の例(osascript を使う)。Linux なら notify-send、Windows なら powershell.exe 経由でメッセージボックスを出す例が公式ガイドに載っている。要は 「終わり」の瞬間を取れるということ。私のスマホがピンと鳴るたび、Claude のタスクが終わっていて、Pavlov の犬のようになる未来が見えた。


    ここで止まりそうなポイント

    • 設定の置き場所を間違える~/.claude/settings.json(自分の全体)と .claude/settings.json(プロジェクト用)は別物。間違えるとフックが動かない or 全プロジェクトで暴走する。私は「家の鍵と会社の鍵を同じキーホルダーに付けたまま、うっかり会社の鍵で家を開けようとした」レベルで混乱した
    • exit 2 以外はブロックしない:終了コード 1 は「ノンブロッキングエラー」。Unix の慣習で 1 を返したくなるが、フックを「拒否」として使いたいなら必ず 2 にする。これは公式ドキュメントの「Exit code output」セクションに明記されている
    • /hooks で確認できる:今どんなフックが効いているのか分からなくなったら、Claude Code 内で /hooks と打つと、設定済みのフックが一覧で読める。私はこれで「設定したつもりで動いていなかった」ことに気づいた

    セキュリティの話(ここは飛ばさず読んでほしい)

    公式ドキュメントの「Security considerations」に明記されているとおり、Hooks は私のユーザー権限で任意のシェルコマンドを実行する。つまり、信頼できないフック設定をうっかり共有リポジトリから取り込むと、ファイルを消されたり、認証情報を盗まれたりする可能性がある。

    ⚠️ 要するに、人がくれた .claude/settings.json の中身は、見知らぬ人がくれた USB を挿す前と同じ気持ちで一度開いて読む。コマンドが読める範囲かどうか確認してから取り込むこと。便利な道具ほど、初対面の相手から黙って受け取ってはいけない。

    公式が挙げているベストプラクティスは「入力を信用せず検証する」「シェル変数は必ずクォートする("$VAR")」「絶対パスを使う」「.env.git/ には触らない」など。家の鍵を二重ロックするのと同じ感覚で、フックも二重に守る。


    全部止めたいとき

    設定を1個ずつ消す前に、disableAllHooks: true を settings.json に書けば、その階層のフックを丸ごと黙らせられる(公式リファレンス「Disable or remove hooks」セクション)。トラブルシュート時にまずこれで切り分けると早い。ブレーカーを落としてから配線を見る、あの感じ。


    まとめ/次に試したいこと

    Hooks は 「Claude が動く瞬間の前後に、自分の処理を差し込める仕組み」。お願い文を増やすより、設定1つで自動化したほうが早い場面が確実にある。

    • PostToolUse + Edit|Write … 編集後の自動フォーマット
    • PreToolUse + Bash … 危険コマンドのブロック
    • Stop … 終了通知
    • SessionStart + compact … 圧縮後にプロジェクトの大事なルールを再注入

    私が次に試したいのは、コミット前に自動でテストを走らせる PostToolUse と、ログを残す SessionEnd の組み合わせ。気がつけばリポジトリの周りに自動ドアと監視カメラと宅配ロッカーが揃っていて、私は寝ていても進捗が出る家になっているはず(は、言いすぎた)。

    なお、本記事の設定例・コマンド・イベント名は2026-04-27 時点の公式ドキュメントに基づく。Claude Code の更新頻度は高いので、実際に組む前に必ず一次情報を確認してほしい。


    関連リンク(一次情報)

  • 「Dispatch」をClaude Codeで実現する方法 ー 「公式機能じゃない」で諦めるの早い

    「Dispatch」をClaude Codeで実現する方法 ー 「公式機能じゃない」で諦めるの早い

    【お詫びと訂正】

    本記事には一部誤りがあった。Claude Code に Dispatch 相当の公式機能が存在しないという前提で書いていたが、実際には Anthropic が 2026年2月25日に「Claude Code Remote Control」を Research Preview として公開していた。執筆時点で見落としていた点をお詫びしたい。各手段の詳細と比較は後続記事「Claude Codeをスマホから操作する4つの方法を調べた」を参照してほしい。

    以下、当時の本文を記録としてそのまま残す。


    先に言っておく

    Claude Code(Anthropic が提供するターミナル向けの AI コーディングツール)のターミナルで /dispatch と打って、見事に何も起きなかった。
    Claude Cowork(デスクトップアプリ版)で話題になった「Dispatch」が、Claude Code でも当然使えるものだと思い込んでいた。実際には、/dispatch という公式スラッシュコマンドは存在しない。
    そっか、ないなら作ればいい。お弁当だって「外で売ってないから家で作る」を毎日やっている。今日はそれの IT 版。


    何の役に立つのか

    そもそも「Dispatch」は2026年3月に Anthropic が Claude Cowork 向けに発表した機能。スマートフォンから Claude にタスクを依頼でき、実行は自分のデスクトップ側で勝手に進む。結果は帰宅してから受け取る、という遠隔バトンタッチが成立する。飛脚も真っ青の分業制。

    ところが Claude Code(CLI 版)にはこの公式機能が存在しない/dispatch も「dispatch」という名前の MCP(Model Context Protocol、Claude に外部機能を足す仕組み)も、リサーチプレビューを含めて公開されていない。

    💡 私は最初、Cowork の Dispatch と、コミュニティが作った Claude Code 用の dispatch スキルを「同じもの」だと勘違いしていた。実際には方向性も別で、前者は「スマホ→PCの遠隔指示」、後者は「メインの会話を軽くするためにサブエージェントへ仕事を回す」発想。名前が同じだとここまで紛らわしいとは思わなかった。


    それ、誰かが作ってませんでした?

    調べたら、Claude Code 用の dispatch というコミュニティスキルを GitHub で公開している人がいた。

    メインの会話を司令塔役にして、実際のリサーチや実装はサブエージェント(別の Claude が独立した会話の中で作業する仕組み)に丸投げする、という設計。コンテキストウィンドウ(Claude が一度に覚えていられる文章量の上限)を温存できるのが売りらしい。

    「自分で組むのは面倒」という人は、まずこのスキルを読むのが近道。インストール手順は別記事で扱う予定なので、今日は「世にこういうものが出回っている」という事実だけ握って先に進む。


    セットアップの全体像

    公式機能がなくても、Claude Code は部品を全部揃えてくれている。Anthropic 公式の @anthropic-ai/claude-agent-sdk(エージェントを作るための SDK、npm で配布されている公式パッケージ)を含め、組み合わせれば Dispatch っぽい挙動は手元で再現できる。役割は3つに分かれる。

    • サブエージェント ー タスクを切り出して、別コンテキスト(メインとは独立した会話空間)で動かす担当
    • フック(Hooks) ー サブエージェントの開始・終了を検知して、次の処理を自動で連鎖させる仕組み
    • スケジュールタスク ー 「指示は今、実行は後」の時間差を作る仕組み

    これを足すと「私は別のことをしていて、裏で勝手に分担が進んでいる」という Dispatch の本質が、Claude Code 単体で味わえる。料理でいうと、レンジ・オーブン・タイマーをそれぞれ仕掛けて、戻ってきたら全部できあがっているあのリズム。


    コピペして使える例

    ここからは実際にファイルを置いていく話。プロジェクトの直下に .claude/agents/ というフォルダを新しく作り、その中にサブエージェント定義ファイルを置く流れ。

    まず .claude/agents/researcher.md にサブエージェントを定義する(Markdown のフロントマターで書く形式)。

    ---
    name: researcher
    description: 指定したテーマの公式ドキュメントを読んで要点をまとめるエージェント
    tools: WebFetch, Read
    model: sonnet
    ---
    あなたはリサーチ専任のサブエージェントです。
    渡されたテーマについて、公式ドキュメントを優先して3点に要約してください。
    出力は Markdown の箇条書きで。
    

    次に .claude/settings.json にフックを書いて、サブエージェントが終わるたびにログを残す。

    {
      "hooks": {
        "SubagentStop": [
          {
            "matcher": "researcher",
            "hooks": [
              {
                "type": "command",
                "command": "echo \"researcher done at $(date)\" >> ~/dispatch.log"
              }
            ]
          }
        ]
      }
    }
    

    最後に scheduled-tasks(Claude のスケジュール実行機能)で「明日の朝7時に researcher を起動して結果を notes フォルダに保存する」を仕込めば、出かける前に予約 → 帰宅したら成果物がある、という Dispatch のリズムが再現できる。echo 1行でログを残しているだけなのに、ちょっと自動化マスターになった気がする。Hooks のいいところは、この勘違いを安く生産してくれること。

    💡 ポイントはサブエージェントが別コンテキストで動くこと。メインの会話をリサーチログで埋めずに済むので、結果として体感の作業効率が上がる。


    引っかかりやすいポイント

    • dispatch という名前の公式 MCP は存在しない: claude mcp add dispatch のような公式コマンドは通らない。スマホからの遠隔起動は Cowork 側の話で、Claude Code とは別物として整理する。
    • サブエージェントは Cowork の Dispatch と違って「常駐」しない: 起動するたびに新しい文脈で立ち上がるので、長期記憶を持たせたければ auto-memory(会話をまたいで情報を引き継ぐ自動記憶機能)か、ファイルに書き出して読ませる必要がある。記憶を持たないドリー(『ファインディング・ニモ』のあの魚)が毎回挨拶からやり直すあれ、と思っておけば事故が減る。
    • コミュニティスキルは公式サポート対象外: 不具合は GitHub の Issues で議論することになる。Anthropic 公式に問い合わせても答えてもらえないので、自己責任の精神で導入する。

    3行でまとめると

    Claude Code に「Dispatch」という公式機能はない。
    代わりにコミュニティスキルが GitHub にあり、自分で組むなら Agent SDK のサブエージェント+フック+スケジュールタスクで近い挙動が組める。
    次に /dispatch と打つときは、空打ちじゃなくて、ちゃんと自分で仕込んだエージェントが返事してくれる予定だ。


    関連リンク

  • Claude Codeをスマホから操作する4つの方法を調べた ー 前回「公式機能はない」と書いた直後に、公式が出ていた話

    Claude Codeをスマホから操作する4つの方法を調べた ー 前回「公式機能はない」と書いた直後に、公式が出ていた話

    先に訂正させてほしい

    前回の記事「「Dispatch」をClaude Codeで実現する方法」で、私は「Claude Code に公式の /dispatch は存在しない」と書いた。サブエージェントとフックとスケジュールタスクを組み合わせれば近い挙動は再現できる、という話で締めた。

    ところが、調べ直してみたら Anthropic は 2026年2月25日に「Claude Code Remote Control」を Research Preview として公開していた。前回の記事を書いたときに気づけていなかった。お弁当を作り終えてから「実は弁当屋さんが昨日オープンしてた」と通知されたような気分。

    ただ、Remote Control は Cowork の Dispatch とは似て非なるものらしい。Dispatch が「指示を投げて閉じる、結果はあとで受け取る」のに対して、Remote Control は「ローカルで動いている Claude Code セッションを、スマホから遠隔で触り続ける」。同じ「スマホから操作」でも、メンタルモデル(頭の中での使い方のイメージ)が違う。

    今日はその訂正もかねて、前回の記事で紹介した自前実装方式に加えて、公式・OSS・公式プラグイン系の3つを横並びで比較する。私がスマホから Claude Code を動かす方法として現実的に検討できそうな4択を、まだ実際には試さず、公式ドキュメントと OSS の README、そして前回の自分の記事を読み返した段階でまとめておく。実機検証は次回以降の宿題にする。


    比較対象の4つ

    調べた範囲で、初心者でも候補に乗りそうなものを4つに絞った。

    1. Anthropic 公式 Claude Code Remote Control

    ローカルの Claude Code セッションを、iOS / Android の Claude アプリや claude.ai/code ブラウザから操作できる公式機能。起動はターミナルでこれ一発、と公式ドキュメントには書かれている。

    claude rc
    

    実行すると QR コードとセッション URL が出るので、それを手元のスマホで読み込む流れ。コードの実行はずっとローカル PC、Anthropic のリレー(中継サーバー)は「会話文と tool_result」を中継するだけ、と説明されている。家にいる本人をスマホで遠隔操作するのに近いので、外出先から自分の自宅 PC を呼び出している私を想像するとちょっと面白い。

    2. CloudCLI(siteboon/claudecodeui)

    GitHub で1万 stars 級の OSS。npx で起動できる Web UI で、自宅 PC で Web サーバーが立ち、ブラウザから Claude Code を触れる。AGPL-3.0-or-later ライセンス。スマホブラウザにも対応していると README に記載されている。自宅 Wi-Fi の範囲なら追加設定なしで届くが、外から触りたい場合は別途トンネル(Tailscale や Cloudflare Tunnel など、自宅 PC のサービスを外から見えるようにする仕組み)を組む必要があるとのこと。

    3. Anthropic 公式の Telegram / Discord プラグイン

    Anthropic が直接管理する anthropics/claude-plugins-official リポジトリの中に、Telegram プラグインと Discord プラグインの両方が公式で用意されている。MCP(Model Context Protocol、Claude に外部機能を足す仕組み)サーバーがボットとして常駐し、スマホのメッセージアプリから DM すると Claude Code に転送される、という仕組み。Bun ランタイムが必要、6文字のペアリングコードでボットと PC をひも付ける、と README にある。

    4. 前回記事で紹介した自前実装方式(サブエージェント+Hooks+スケジュールタスク)

    前回の記事で書いた部品の組み合わせ.claude/agents/ 配下にサブエージェント定義ファイルを置き、.claude/settings.json の Hooks でサブエージェント終了を検知してログや後続処理に連鎖させ、Claude Code のスケジュールタスク機能(公式ドキュメント上はクラウド/デスクトップ/CLI セッション内の3層がある)で「明日の朝7時に動かす」を仕込む、という構成だった。スマホからリアルタイムで指示を出す仕組みではなく、出かける前に予約 → 帰宅したら成果物がある、という時間差バトンタッチ型。Cowork の Dispatch のメンタルモデルに一番近いのは、実はこれだ、と前回の自分は書いている。自分で書いた記事を、自分で「実は」と引用する違和感は、思ったより慣れない


    比較表

    観点① Remote Control② CloudCLI③ 公式 Telegram/Discord④ 自前実装(前回記事方式)
    公式性◎ Anthropic 公式× 第三者 OSS(活発)◎ Anthropic 公式プラグイン◎ 部品はすべて公式機能
    提供形態Research PreviewOSS(AGPL-3.0-or-later)公式プラグイン既存機能の組み合わせ(サブエージェント+Hooks+スケジュールタスク)
    導入手順の概略claude rc で QR を出すnpx で起動プラグイン導入+ボット作成.claude/agents/.claude/settings.json を書く+スケジュール登録
    プラン要件Max は提供中、Pro は順次プランの制約なしプランの制約は調べた範囲で見当たらずClaude Code が動けばOK
    スマホ側で必要なものClaude iOS/Android アプリ または ブラウザブラウザTelegram / Discord アプリなし(実行は PC 側、結果はあとで取りに行く)
    ローカル PC 側で必要なものClaude Code v2.1.52+Node + npx 実行環境Bun + プラグイン設定Claude Code、サブエージェント定義ファイル、settings.json
    通信経路Anthropic のリレー経由localhost または自前トンネルTelegram / Discord サーバー経由ローカル完結(外部リレーなし)
    リアルタイム性◎ 双方向で対話継続◎ 双方向○ チャット往復× 事前予約のみ、双方向ではない
    LTE / 外出先対応△(自宅 Wi-Fi 限定。外出先はトンネル追加)N/A(リアルタイム操作の概念がないため評価対象外)
    想定ユースケース出先からの遠隔継続自宅で別の部屋から触る/Web UI でコードを見たい通知ベースで結果を受け取る出かける前に予約→帰宅したら成果物が机に置いてある

    観点別の補足

    リアルタイム性とメンタルモデル: ①②③は「スマホから PC を遠隔で触り続ける」リアルタイム双方向型。一方で ④ は「出かける前に仕込む、帰ってから結果を見る」予約型で、そもそもスマホから操作する仕組みではない点が他の3つと根本的に違う。Cowork の Dispatch のメンタルモデル(投げて閉じる、結果はあとで)に一番近いのは ④ で、Claude Code を遠隔シェルのように使いたいなら ①②③ の方向、というのが調べていてだんだん見えてきた。

    公式性: ①と③は Anthropic が直接管理しているリポジトリ/機能。④は前回記事のとおりサブエージェント・Hooks・スケジュールタスクすべてが公式機能なので、土台は公式どうしの組み合わせ。②は第三者 OSS なので、不具合は GitHub の Issues で議論することになる、という前回記事と同じ自己責任の枠組み。

    通信経路: ① は Anthropic のリレーを通る。「コードはローカルから出ない、リレーは会話文と tool_result だけ」と公式ドキュメントに明記されている。③ は Telegram / Discord のサーバーを通るため、会話内容と出力が第三者のメッセンジャー上を流れる点が①とは決定的に違う。② は localhost で立ち上げるだけなら家の Wi-Fi の中で完結する。④ は外との通信がそもそも発生しない(実行はローカルの Claude Code だけ)ので、プライバシー観点では一番閉じている。

    プラン要件: ① は2026年2月の公式 X アカウントの投稿で「Research Preview for Max users, and coming soon to Pro users」と告知された。その後の公式ドキュメント上では Pro / Max / Team / Enterprise 全プラン対応となっているが、Team / Enterprise は管理者がトグルを ON にする必要がある、と記載されている。私のように Max プランなら提供対象だが、Pro 環境では実際の挙動が安定していないという GitHub Issue(「Pro なのにまだ使えない」報告)も2026-04 時点で上がっており、提供初期のロールアウトの揺らぎは残っているようだ。② と ④ は Claude Code 自体が動けばよく、プラン依存はないと README / 公式ドキュメントから読み取れる。

    LTE / 外出先: ① は Anthropic のリレー経由なので、PC とスマホが同じ Wi-Fi にいる必要はない。② は localhost のままだと家の中限定で、外出先から触りたければトンネルを別途組む必要がある。③ は Telegram / Discord のサーバーが受けるので、外出先の LTE で問題ない。④ は「リアルタイムで触る」という概念がないので、外出先かどうかはそもそも関係ない。

    OSS と自前実装のトレードオフ: ② と ④ は「自分で道具を抱える」点では似ているが、② は他人が書いた Web UI を使わせてもらう構図で、④ は自分で部品を組む構図。② はラクだが第三者コードへの依存があり、④ は完全に自分の手の内だが、書く分だけ手間がかかる。要は外食か自炊かの差で、開発経験ゼロの私の立場だと「②のほうが入口が広く、④のほうがあとで応用が利く」という棲み分けに見える。同じ料理でも、レシピ本を写しながら作るのと、コックさんに任せるのでは身につき方が違う、という孫子っぽい話。

    セキュリティの自分なりのまとめ: 「コードがどこを通るか」で見ると、① は Anthropic、③ は第三者メッセンジャー、② は環境次第、④ は外に出ない。プライバシーを最優先するなら ④、次点で ② をローカル限定、と現時点では判断している。ただし実際の通信内容を私自身がパケットキャプチャ(通信を直接覗いて中身を確認する手段)で検証したわけではないので、各公式ドキュメントと README の文面を信じている、という前提は付けておく。読者のなかにも「いや、ドキュメントは盛るでしょ」と思った人がいるかもしれない。その疑いは私も完全には捨てきれていない。


    開発経験ゼロの私が試す優先順位

    これから順番に試そうと思っている順序は次のとおり。まだ実際には試していないので、結果は次回以降の記事で答え合わせする。

    1. 第1候補:① Remote Control。CLI コマンド1発(claude rc)で QR が出るらしく、公式の手順が一番短い。Max プランで提供中なので、私のアカウントでも届いているはず(実際の挙動は試してから確認する)。
    2. 第2候補:② CloudCLI。Web UI で操作できるなら、ターミナルが苦手な私でも視覚的に追える可能性がある。npx 一発で起動、まずは家の Wi-Fi の範囲で試す予定。AGPL のライセンスなので、業務利用する人は条項を確認したほうがいい。
    3. 第3候補:④ 自前実装方式(前回記事の再演)。リアルタイム性を捨てる代わりに、外との通信を一切発生させずに「予約 → 帰宅したら成果物がある」を成立させる選択肢。私が Cowork でいう Dispatch の体験に一番近づきたいときには、これに戻るのが筋がいい気がしている。前回の記事の構成をそのまま動かす、という意味で再現性も高い。
    4. 第4候補:③ 公式 Telegram / Discord プラグイン。スマホ操作が一番カジュアルなのは魅力だが、会話の中身が Telegram / Discord を経由する点で、Claude に渡すファイル名やメモの扱いが気になる。情報漏れを気にしないリサーチ用途や、結果通知だけ受け取る使い方ならアリかも、という位置づけで温存しておく。

    順序は変わるかもしれない。試したら ② のほうが圧倒的にラクだった、という結末も普通にあり得る。


    試す前に気になっていること

    調べた範囲で疑問が残った点を正直に列挙しておく。試したときに答え合わせする。

    • Remote Control はローカル PC がスリープすると切れると公式ドキュメントに書かれている。Windows のスリープ設定を変えずに使うとどう困るのかは未検証。
    • Pro プランでの実挙動は公式ドキュメント上は対応扱いだが、GitHub Issue では「使えない」報告も残っている。私自身は Max プランなので影響はないが、Pro ユーザーの読者向けには継続してウォッチする必要がある。
    • CloudCLI のスマホ UX は README に「Responsive Design」と書かれているが、画面写真を眺めただけではタップ操作の細かい使い勝手はわからない。
    • Telegram / Discord プラグインのレートリミット(連投したらどうなるか)は公式ドキュメントから読み取れなかった。
    • 自前実装方式(④)のスケジュール実行が、PC スリープ中にどう振る舞うかは前回記事でも踏み込んでおらず、未検証のまま。
    • 4つの選択肢を併用したとき(Remote Control で動かしながら Telegram から通知を受ける、自前スケジュールタスクが裏で走る等)に競合や制約が出るのかは、現時点では公式情報では確認できなかった。

    まとめ

    公式 Remote Control の存在を見落としていたのが、今回いちばんの収穫だった。「リアルタイムで触り続ける」3択(①②③)と、「予約して結果だけ受け取る」1択(④=前回記事方式)は、そもそも別ジャンルの話だった、というのが4つを並べてみてはっきりした。スマホから Claude Code を動かしたい、という素朴なニーズに対しては ① Remote Control がいちばん素直な答えだと、公式ドキュメントを読んだ範囲では思える。一方で Cowork でいう Dispatch のメンタルモデルに近いのは ④ で、用途で選び分けるのが現実的、という結論に今は寄っている。

    実機で試した結果は別記事で書く予定。今日は「調べた段階でわかったこと」をここで止めて、次回は実際の挙動と詰まりポイントを記録する。4つ全部試したうえで、開発経験ゼロの目線で「結局これがいちばんラクだった」を選び直すつもり。お弁当の比喩を続けるなら、4軒の弁当屋(うち1軒は前回自分が組み立てた手作り弁当)を食べ比べる前の品書きを、今日は眺めただけ、という回。


    関連リンク

  • /clear ー 「会話、本当に全部消えるの?」と最初は怖かった

    /clear ー 「会話、本当に全部消えるの?」と最初は怖かった

    あれ、これだったのか

    /compact を覚えた翌日、また同じ場所でつまずいた。「で、/clear って何が違うんだっけ?」。前日の自分が「混同しないように」とわざわざメモまで残していたのに、翌朝の私は冷蔵庫の前で「あれ、何しに来たんだっけ」と固まる人みたいな顔になっていた。記憶喪失の主人公どころか、記憶喪失の脇役である。

    /clear を最初に打ったとき、私は本気で「Ctrl+Z で戻せる」と思っていた。戻せない。戻せないと知ってから、私はこのコマンドにきちんと敬意を払うようになった。


    結論マップ(ビフォー/アフター)

    場面/compact/clear
    会話の中身要約だけ残る完全に消える
    続きの作業前提を引き継げるゼロからやり直し
    こんな時同じ作業の続きで軽くしたい完全に別のテーマに切り替えたい

    3行で済んだ。これを最初に貼ってくれていたら、私の月曜の朝はもっと穏やかだった。


    要するに何ができるか

    /clear は Claude Code(Anthropic がターミナル向けに出している AI コーディングツール)に標準搭載されている 会話リセットコマンド だ。打った瞬間、これまでの会話履歴・要約・参照していたファイル一覧などすべてのコンテキスト(Claude が会話中に覚えている前提情報)が空になり、新しいセッションIDが発行される。

    似たコマンドに /compact があるけれど、こちらは「要約を残して続きを話せる」状態にする道具だ。/clear は要約すら残さない、文字通り 机を全部片付ける コマンドである。引っ越しではなくリセットボタン。映画でいうと、/compact は「主要キャラだけは思い出している記憶喪失モノ」、/clear は『メメント』のラスト直前で全部リセットされる側、と説明したい(観てない人ごめんなさい。要するに、めちゃくちゃ綺麗に忘れます)。


    とりあえずやってみる

    1. Claude Code を起動して、何か適当な会話を3〜4ターン続ける(例:架空のメモアプリの仕様を相談する)
    2. プロンプト入力欄に /clear と打って Enter
    3. 1秒もしないうちに Conversation cleared, new session started のような確認メッセージが返ってくる
    4. そのまま同じターミナル画面で、まったく別の話題を打ってみる(例:今度はレシピ管理アプリの設計)
    5. 試しに前の会話の単語(さっきのメモアプリ名など)を出してみると、Claude は素で「?」という顔をする(テキストなのに顔が見える、不思議)。きれいに忘れていれば成功

    私が使ったコマンド

    架空のレシピアプリ「fridge-friend」の設計を Claude と話し込んでいた、という想定で読んでほしい(実在しません。私の冷蔵庫は今だいたい白菜と豆腐で構成されています)。

    > /clear
    Conversation cleared, new session started.
    Session ID: sess_4f7a2c19b3e5d8a1
    > 別件です。jp-vacation-planner という旅行アプリの初期設計を相談したいです。

    💡 ポイント: Session ID が新しく発行されたら成功の合図。古いセッションは Claude 側でも参照できなくなるので、「さっきのレシピアプリの話、もう一回見せて」とお願いしても、Claude は丁重に「初めまして」と返してくる。完全に他人。同窓会で「俺だよ俺、覚えてないの?」と言われた側、と言ってもいい。

    /compact と違って引数(/clear 〇〇は残して のような指定)は基本的に効かない。残したいものがあるなら /compact、と覚えてしまったほうが手っ取り早い。


    ここで止まった

    • 「Ctrl+Z で戻せると思っていた」: 戻せない。/clear は完了系のコマンド(実行後は取り消し不可)。私はメモアプリの仕様を全部消したあと、5分くらい無の表情で画面を眺めた。タイムマシンが欲しくなる瞬間、上位5位には入ると思う
    • /compact の上位互換だと思っていた」: 違う。/clear は「要約も要らないから空にしてほしい」という主張のあるコマンドで、続きをしたいなら /compact、別件に切り替えるなら /clear、と用途で分けるのが正しい。柔道の払い腰と背負い投げを同じ技だと思っていた中学生の私と同じ間違いだ
    • 「auto-compact が動くなら自分で打つ必要ない?」: コンテキストが満杯近くになると確かに自動圧縮は走る。けれど、それは要約を残す動きで、別の話題に切り替えたい時はその要約がむしろ邪魔になる。レストランで前のお客さんの食器が残ったまま注文する、あの居心地の悪さ、と説明したい

    結論だけ言う

    /clear は会話を空にして新しいセッションを始めるコマンド。/compact が同じ仕事の続きを軽くする道具なら、/clear はテーマごと切り替える道具。両者を混ぜて使うと、やった本人だけが30分後に「あれ、さっきの話どこ行った」と途方に暮れることになる。

    私は /clear を覚えてから、別プロジェクトに切り替えるときの罪悪感が減った。「前の話、ちゃんと覚えていてあげなくちゃ」と Claude の背中を押すような気持ちで居続けていたけれど、別件は別件として 先に机を空にしてから始める ほうが、お互い気持ちよく仕事できる。引き出しは整理してから新しい服を入れる、というやつだ。


    関連リンク

  • コミュニティスキル ー 自作する前に、世界中のスキルを借りた方が早かった

    コミュニティスキル ー 自作する前に、世界中のスキルを借りた方が早かった

    知らなかった話

    「PowerPoint を作るスキルを自分で書こうかな」と一瞬本気で考えた夜があった。Claude にお願いするたびに同じ指示を貼り直すのが面倒で、これはもう自分専用のスキルを書くしかないと意気込んでいた。けっきょく書けなかった。書く前に、もっと立派な人がもっと立派なスキルをすでに公開していると知ったからだ。

    スキル(Claude に「この手順でやって」と教える定型プロンプトの束)は、世界中の人がすでに大量に作って GitHub やマーケットプレイスに置いてくれている。料理を始める前にレシピサイトを見るのと同じで、まず借りてくる方が早い。よく考えると、自作スキルなんてホイールキャップから手で削り出すような行為じゃないですか。私は素手でゴムを練ろうとしていた。


    要するに何ができるか

    「コミュニティスキル」とは、Anthropic 以外の人(個人や有志の組織)が公開しているスキルのことだ。Claude Code(Anthropic 公式のターミナル向け AI コーディングツール)に追加すると、文脈に合わせて Claude が自動で呼び出してくれる。明示的に呼びたいときはスラッシュコマンドで指定する(プラグイン経由のスキルは /プラグイン名:スキル名 のように名前空間が付く)。

    入れ方は大きく2通り。1つはプラグインマーケットプレイス経由、もう1つはGitHub から手動でフォルダに置く方法だ。前者はアプリストアっぽく一覧から選んで入れるイメージ、後者は自作スキルと同じ場所(~/.claude/skills/)に直接コピーするイメージ。

    公式マーケットプレイス(claude-plugins-official)は Claude Code を起動した時点で自動登録されているので、追加コマンドは不要。それ以外の有志のマーケットプレイスは「まずカタログを登録 → 中の好きなスキルを選んで入れる」という2段階になる。

    図書館に新しい棚を増設してから本を借りる、と思えばだいたい合っている。……この例え、伝わってますか?


    セットアップの全体像

    コマンド3つで終わると知った夜、私が git commit を100回打って練習した先週末は何だったのかと思った。

    プラグイン経由なら次の3ステップで終わる。

    1. カタログ登録:Claude Code 内で /plugin marketplace add 作者/リポジトリ を打って有志のマーケットプレイスを登録する(公式マーケットだけ使うならこの手順は不要)
    2. スキルを入れる/plugin install プラグイン名@マーケットプレイス名 で個別にインストール
    3. 読み直して有効化/reload-plugins で再読み込み。これでスラッシュコマンド一覧に追加される

    手動配置と聞くと急に身構えるけれど、要はフォルダを引き出しに放り込むだけだ。

    1. ダウンロード:GitHub からスキルが入ったフォルダ(中に SKILL.md がある)を git clone するか ZIP でダウンロードする
    2. 配置~/.claude/skills/ の下にそのフォルダごと置く(Windows なら C:\Users\ユーザー名\.claude\skills\ にあたる)。Claude Code を一度終了して起動し直すと認識される

    ~/.claude/skills/ は自分のすべてのプロジェクトで共通の引き出し。プロジェクト内だけで使いたいなら、そのプロジェクト直下の .claude/skills/ に置けば限定できる。


    動いた設定をそのまま

    架空の例で、recipe-helper という料理レシピ整形プラグインが chef-tanaka/claude-recipes というリポジトリで公開されているとしよう。プラグイン経由で入れるなら、Claude Code 内ではこんな見た目になる(> の行が私の入力、それ以外が表示結果)。

    > /plugin marketplace add chef-tanaka/claude-recipes
    Marketplace 'claude-recipes' added.
    > /plugin install recipe-helper@claude-recipes
    Installed 'recipe-helper' to user scope.
    > /reload-plugins
    Plugins reloaded.
    > /recipe-helper:recipe-helper きゅうり1本で何が作れる?

    手動で入れる場合は、ターミナルでこんな流れになる(Windows の PowerShell 例)。

    PS> cd $env:USERPROFILE\.claude\skills
    PS> git clone https://github.com/chef-tanaka/recipe-helper.git
    PS> ls recipe-helper
    SKILL.md examples/ scripts/

    このあと Claude Code を一度終了して再起動すると、/recipe-helper がそのまま呼べる。

    💡 ポイント: プラグイン経由のスキルは /プラグイン名:スキル名 のように名前空間が付く(プラグイン同士で同名スキルがぶつからないようにするため)。手動配置のスキルは /スキル名 だけで呼べる。短く呼びたいなら手動、まとめて管理したいならプラグイン。これだけ覚えておけば迷わない。


    私が間違えたこと

    ここ、絶対みんな一度はやるやつだと思うんですけど、ということでさらしておきます。

    • 公式マーケットを「追加」しようとしたclaude-plugins-official は最初から自動登録されている。私はこれを知らずに /plugin marketplace add を打って「すでにあります」と怒られた。最初に必要なのは /plugin install プラグイン名@claude-plugins-official の方だけ。
    • 置き場所を間違えた:手動配置のとき、~/.claude/skills/recipe-helper/SKILL.md ではなく ~/.claude/skills/SKILL.md のように1階層浅く置いてしまい、当然認識されなかった。フォルダごと置くのがルール。中身だけ移すと迷子になる。
    • 信頼できないリポジトリをそのまま入れかけた:スキルやプラグインはあなたのマシンで自由にコマンドを実行できる。要するに、見ず知らずの人の家のリモコンを自分の家に持ち込むのと同じだ(しかもチャンネルどころかテレビごと変えられる可能性まである)。SKILL.md の中身と、入っているスクリプトくらいは目を通してから入れる方が安全。

    覚えておくこと

    コミュニティスキルは、プラグイン経由なら3コマンド、手動なら GitHub からフォルダごとコピーで入る。プラグインは /プラグイン名:スキル名 の形式で名前空間が分かれるので衝突しないが、手動配置はシンプルに /スキル名 で呼べる。どちらも ~/.claude/skills/ の下に置けば、すべてのプロジェクトから使える。

    スキルは作るより借りる方が圧倒的に早い。GitHub の検索窓で「claude-code-skills」と打つだけで、誰かが私のかわりに考えてくれた手順がぞろぞろ出てくる。私は鍋を買う前にまずレシピを借りることにした。自作するのは、世界中の誰もまだ書いていないと確信できたときだけでいい。ボルヘスの『バベルの図書館』に置いてある気がするから、たぶん一生こない。


    関連リンク