PythonまたはTypeScriptでAnthropic SDKを使った自作スクリプトを書いている人向け
PythonやTypeScriptで書いた自作スクリプトのモデルを古い版(例: Sonnet 4.5)から新しい版(例: Sonnet 4.7)に上げたい時や、ツール使用・ストリーミング・バッチ処理・構造化出力の最新の正しい書き方を聞きたい時に、コマンドだけ叩いて参照資料をロードしてから具体的な質問を続ける流れで使う。<code>from anthropic import Anthropic</code> や <code>@anthropic-ai/sdk</code> を含むコードがフォルダ内にあれば、手で叩かなくても自動でロードされる
Anthropic API を自作プログラムから叩く人向けの、参照資料ロード用のスラッシュコマンドです。叩くと Claude Code が裏で Anthropic API の正しい書き方資料を読み込んで、こちらの質問に対して公式仕様に沿った回答ができる状態になります。
もう1つ大事なのは、後ろに migrate と書き足すと、すでに書いてある自作スクリプトを新しいモデルに上げる作業を半自動でやってくれる点です。Sonnet 4.5 で書いた本番スクリプトを 4.7 に乗り換える時など、モデル名の置き換え漏れや、バージョン間で変わった設定値の更新を一括で見てくれます。
噛み砕くと
Claude Code はふだん、Anthropic API のことを「だいたい知ってる」状態で動いています。ただ、最新の正しい書き方や、こまかい仕様の細部までは持っていません。/claude-api を叩くと、その分野の公式リファレンスを「今から机に広げる」感じになる、と思ってください。
図書館に例えるなら、ふだんは記憶だけで答えてもらってるところに、「今からはこの棚の本を見ながら答えてね」と頼む動きです。読み込まれる本の中身は、Anthropic公式が用意した、ツール使用・ストリーミング・バッチ処理・構造化出力・よくあるハマりどころの解説。それと Managed Agents のリファレンスも合わせてロードされます。
大事な前提:このコマンドは Claude Code 本体の設定変更ではない
名前から「Claude Code が使う API キーの差し替え画面が出る」と誤解されやすい場面があります。違います。これは Anthropic API を自作スクリプトに組み込みたい人向けの参照資料を読ませる仕組みで、Claude Code そのもののログイン情報やキー設定は何も触りません。
API キーを差し替えたい時に叩くべきは別のもの。/claude-api は、Python や TypeScript で書いた自前コードを Claude Code に手伝ってもらいたい時に効きます。
「Pythonの Slack 要約スクリプトを Sonnet 4.5 → 4.7 に上げる」で手順を見る
題材は、私が以前書いた Slack のチャンネルログを要約してメールに流す Python スクリプト。中身は from anthropic import Anthropic で SDK を呼んで、claude-sonnet-4-5 に投げて要約させているだけのシンプルなもの。これを claude-sonnet-4-7 に上げて、ついでに prompt caching も入れたい。手作業でも30分くらいでできるけど、/claude-api migrate でどこまで楽になるか試します。
ステップ1: スクリプトのあるフォルダで Claude Code を起動
summarize_slack.py が置いてあるフォルダで claude と打って起動します。
$ cd ~/projects/slack-summary
$ claude
このフォルダの中身に from anthropic import Anthropic や import anthropic が入っていると、Claude Code が「あ、Anthropic API 使ってるスクリプトだな」と気づいて、/claude-api の参照資料を自動でロードしてくれます。これが公式が言う「自動発火」の挙動です。
もしロードされてるかどうか分かりにくい場合は、手で /claude-api と打てば確実に読み込まれます。
ステップ2: migrate サブコマンドを叩く
> /claude-api migrate
後ろに migrate と書き足したパターン。これを叩くと、Claude が「どのファイルをスキャンする?」「どのモデルに上げる?」と聞いてきます。全自動で勝手にコードを書き換え始めるわけではなく、確認ステップが入る設計になっています。
ここで初心者がやりがちな勘違いがあります。/claude-api migrate を「フォルダ内の全 .py ファイルを問答無用で書き換えるコマンド」と思い込んで、本番ブランチで叩いてしまうケース。実際は対話形式で、対象範囲とターゲットモデルを毎回聞かれるので、いきなり破壊的なことは起きません。
ステップ3: 対象ファイルとターゲットモデルを答える
Claude: どのファイルをスキャンしますか?
> summarize_slack.py のみ
Claude: ターゲットモデルは?
> claude-sonnet-4-7
これだけで、Claude が summarize_slack.py を読み込んで、現状の model ID を claude-sonnet-4-5 から claude-sonnet-4-7 に置き換える差分を提案してくれます。さらに、4.5 → 4.7 の間で変わった thinking configuration の書き方も検知して、必要なら追加修正案を出します。
ステップ4: prompt caching を入れたいと追加で頼む
> ついでに prompt caching も入れたい。システムメッセージを使い回す形で。
migrate が走った直後は、Anthropic API の参照資料がロードされた状態なので、prompt caching の正しい書き方もそのまま聞けます。資料を読み込まずに同じことを頼むと「Claude のうろ覚えの書き方」が返ってきがちですが、ロード後は公式仕様ベースで返ってきます。cache_control ブロックをどこに付けるか、どの単位で使い回す範囲を区切るか、といった細部も公式リファレンスから引っ張ってきます。
ステップ5: 差分をレビューしてマージ
Claude が提案する diff を y で受け入れるか、修正指示で書き直してもらう。私は普段、いったん別ブランチを切って差分を眺める派です。
$ git checkout -b migrate-to-sonnet-4-7
# Claude の提案を採用
$ python summarize_slack.py # 動作確認
ステップ6: 動作確認して main にマージ
Slack の小さいチャンネルで実行してみて、要約の質が落ちてないかを目視で確認。問題なければ main に戻す。手作業より速いかと言われると、慣れてれば 30 分 → 15 分くらいの体感差。ただし「変わった設定値の見落とし」を Claude が拾ってくれる安心感は大きい。
つまり /claude-api は何をしてくれるのか
- やってくれる: Anthropic公式の正しい書き方資料 ― ツール使用・ストリーミング・バッチ・構造化出力・よくあるハマりどころ ― と、Managed Agents のリファレンスを Claude Code 側にロードする。
migrate付きなら既存コードのモデル更新を対話形式で進める - やってくれない: Claude Code 本体の API キー設定変更、Anthropic アカウントの管理、課金設定、API キーの発行。これらは Anthropic Console 側で行う
- 意味が薄い場面: Anthropic API を使わない案件。
anthropicも@anthropic-ai/sdkも import してないコードベースだと、自動発火もしないし手で叩いても参照資料がそのプロジェクトには無関係になる
使いどころ3シナリオ(具体題材で再現)
シナリオ1: Discord Bot をモデル更新する週末
私が個人で動かしている、Discord の小さいサーバーで AI 司会をやらせている Python の Bot。半年放置していて中の model ID が claude-sonnet-4-5 のままだった。週末に /claude-api migrate で 4.7 に上げて、ついでに「最近どんな API 新機能が出てる?」と聞いた。streaming の最新パターンが返ってきて、Bot の体感速度を上げる改修も同じ流れで入れられた。
シナリオ2: TypeScript の社内ツールに tool use を後付け
TypeScript で書かれた社内の問い合わせ仕分けツールがあって、ただテキストを判定するだけだったのを「データベースを叩いて該当ユーザーの過去履歴も見て判断する」形に拡張したい。@anthropic-ai/sdk を import している状態でフォルダを開くと /claude-api が自動発火して、tool use の書き方資料がロードされる。「過去30日の問い合わせ履歴を取る関数」をツールとして登録する手順が、公式仕様に沿って返ってくる。
シナリオ3: 古いバッチスクリプトを Batches API に移す
毎日1回、500件くらいの記事を要約してデータベースに書き戻すバッチ処理スクリプト。今は1件ずつ同期で叩いているせいで30分かかる。これを Batches API に移したい時、/claude-api を叩いて参照資料をロード後に「このスクリプトを Batches API に書き直して」と頼む。Batches の正しい呼び方・ステータス確認・結果取得の流れが、公式仕様の最新版で返ってくる。
初心者が踏みやすい落とし穴
- 叩いただけで使い方が一発で分かると思って何も質問しない。
/claude-apiは参照資料を裏でロードするだけで、画面に「使い方ガイド」がドカッと出るわけではない。叩いた後に「streaming の書き方を教えて」「tool use のサンプル見せて」と具体的に質問しないと意味がない - Claude Code 本体の API キー設定を変える機能だと誤解する。これは Anthropic API を自作スクリプトに組み込む人向けの参照資料ロードコマンドであって、Claude Code 自体のログイン情報やキーは何も触らない
- OpenAI SDK や Gemini SDK しか使ってないプロジェクトで自動発火を期待する。自動発火条件は
anthropicまたは@anthropic-ai/sdkの import だけ。他社 SDK では発火しない - Rust や Swift や Kotlin で書いていて参照資料が薄いと感じる。公式が対応を明記しているのは Python / TypeScript / Java / Go / Ruby / C# / PHP / cURL の8つ。それ以外の言語は資料の厚みが落ちる
/claude-api migrateがフォルダ内の全ファイルを問答無用で書き換える、と思い込んで本番ブランチで叩く。実際は対話形式で「どのファイル?」「どのモデル?」を聞かれる。差分は最終承認まで適用されないmanaged-agents-onboardを既存プロジェクトに対して叩く。これは Managed Agent を新規作成するための案内なので、すでに動いている自作スクリプトを Managed Agent に移行する用途には噛み合わない- bundled skill であることを忘れて、独自定義したスキルが上書きしていないかを確認しない。同名の
.claude/skills/claude-api/をプロジェクトに置くと挙動が変わる可能性がある。挙動が変な時は/skillsでロード状況を見る
書き方
/claude-api
/claude-api migrate
/claude-api managed-agents-onboard
やってみるとこうなる
入力
/claude-api migrate
出力例
Claude: どのファイルをスキャンしますか?
> summarize_slack.py
Claude: ターゲットモデルは?
> claude-sonnet-4-7
→ Claudeが対象ファイルを読み、model IDの置き換え案とバージョン間で変わったパラメータ(thinking設定など)の更新案を差分で提案する
このページに出てきた言葉
- Anthropic API
- Claudeを自分のプログラムから呼び出すための、Anthropic公式の窓口。月額契約のClaude.aiアプリとは別の、開発者向けの仕組み
- SDK
- プログラムからAPIを叩くための、言語ごとに用意された便利キット。Pythonなら<code>anthropic</code>、TypeScriptなら<code>@anthropic-ai/sdk</code>
- bundled skill
- Claude Codeに最初から入っている、プロンプトベースで動く参照資料セット。<code>/simplify</code> <code>/batch</code> <code>/debug</code> <code>/loop</code> <code>/claude-api</code> の5つ
- model ID
- Anthropic APIでモデルを指定する識別子。<code>claude-sonnet-4-5</code> <code>claude-sonnet-4-7</code> <code>claude-opus-4-7</code> など
- prompt caching
- プロンプトの一部をAnthropic側で一時的に保存して、次回以降の呼び出しを安く速くする仕組み
- tool use
- Claudeに外部の関数やAPIを呼ばせる仕組み。データベース照会・Web検索など外の世界と繋ぐ時に使う
- streaming
- Claudeの応答を、全部できあがるまで待たず、1文字ずつ流しながら受け取る書き方
- Batches API
- 複数のリクエストをまとめて非同期で処理する仕組み。同期で1件ずつ叩くより安く、まとめて処理できる
- Managed Agent
- Anthropicが用意した、エージェント型アプリの土台。自前でループ処理・状態管理を全部書かなくていい