claude-api スキルのモデルデフォルトを Claude Opus 4.7 へ更新、モデル移行ガイドを新設

anthropics/skills

claude-api スキル全体のデフォルトモデルを claude-opus-4-6 から claude-opus-4-7 へ移行すると同時に、Anthropic SDK を使ったコード資産をモデル間で移行するための包括的なガイド shared/model-migration.md が新たに追加された。

背景

claude-opus-4-7 のリリースに伴い、スキル全体のリファレンス実装を最新モデルへ追従させる必要が生じた。今回の更新前は、Python・TypeScript・Go・Ruby・PHP・Java・C#・cURL の全言語ガイドおよび Managed Agents ドキュメント内のサンプルコードが claude-opus-4-6 をハードコードしており、利用者がスキルに従ってコードを書くと旧モデルを参照し続ける状態だった。

加えて、モデルバージョン間の移行作業自体が Claude API スキルのユースケースとして認識されるようになった。SKILL.md のトリガー条件に「既存の Claude API コードをモデルバージョン間で移行する」が追加されており、スキルとして扱うべき用途が明示的に拡張されている。

技術的な変更

モデル ID の一括更新

すべての言語サンプルで claude-opus-4-6claude-opus-4-7 への置換が行われた。変更対象は Managed Agents の agents.create() 呼び出し、Messages API の基本例、ストリーミング、ツールユース、バッチ処理、Files API など広範に及ぶ。モデルテーブルにも claude-opus-4-7(コンテキスト 1M トークン)が追加され、claude-opus-4-6 も引き続き 1M トークン対応として併記された。

変更前(例: python/claude-api/README.md):

response = client.messages.create(
    model="claude-opus-4-6",
    max_tokens=16000,
    messages=[{"role": "user", "content": "What is the capital of France?"}]
)

変更後:

response = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=16000,
    messages=[{"role": "user", "content": "What is the capital of France?"}]
)

Opus 4.7 固有の破壊的変更の文書化

shared/error-codes.mdOpus 4.7 特有の 400 エラーが追記された。temperaturetop_ptop_k パラメータが Opus 4.7 では削除されており、これらを送信すると 400 が返る。また thinking: {type: "enabled", budget_tokens: N} も削除され、代わりに thinking: {type: "adaptive"} を使う必要がある。shared/models.md の API レスポンスサンプルも更新され、Opus 4.7 では thinking.types.enabled.supportedfalse になっている点が明示された。

Files API の scope_id パラメータ修正

Managed Agents のセッション出力ファイルを取得する際のパラメータが session_id から scope_id に修正された。あわせて、managed-agents-2026-04-01 ベータヘッダーを明示的に渡す必要があることが各言語のサンプルに反映されている。

変更前(python/managed-agents/README.md):

files = client.beta.files.list(session_id=session.id)

変更後:

files = client.beta.files.list(
    scope_id=session.id,
    betas=["managed-agents-2026-04-01"],
)

@anthropic-ai/sdk ≥ 0.88.0 / anthropic(Python)≥ 0.92.0 以上が必要なことも明記された。

shared/model-migration.md の新設(779 行)

最大の変更は 779 行に及ぶ shared/model-migration.md の追加だ。このファイルは以下の構成を持つ:

  • Step 0: 移行スコープの確認 — ファイル編集前にスコープを必ず確認するよう求める。「my project」「everywhere」などの曖昧な表現はスコープ未定義として扱い、明示的に確認することを非交渉可能なルールとして規定。
  • Step 1: ファイルの分類 — 各ファイルを swap / add-alongside / skip に分類する手順。
  • Per-SDK Syntax Reference — Python サンプルを TypeScript・Go・Ruby・Java・C#・PHP へ変換するためのリファレンス。
  • Destination Models / Retired Model Replacements — 移行先モデルの選定基準。
  • Breaking Changes by Source Model — Opus 4.6・Sonnet 4.6 への移行時の破壊的変更一覧。
  • Migrating to Opus 4.7 — Opus 4.7 固有の破壊的変更、サイレントなデフォルト変更、ふるまいの変化を詳述。
  • Opus 4.7 Migration Checklist[BLOCKS](必須)と [TUNE](任意調整)にタグ付けされたチェックリスト。
  • Verify the Migration — 編集後のランタイム検証手順。

設計判断

移行スコープ確認を「非交渉可能なルール」として明文化

model-migration.md は移行操作の開始前にスコープ確認を求めることを non-negotiable と明記しており、「migrate my codebase」「upgrade to Sonnet 4.6」のような命令的に聞こえるリクエストですら曖昧スコープとして扱う。これは、スキルが AI エージェントとして動作する際に意図しない大規模ファイル編集を防ぐためのガードレールとして機能する。

Archive の永続性を複数箇所で繰り返し警告

managed-agents-core.mdmanaged-agents-environments.mdmanaged-agents-events.mdmanaged-agents-overview.md の複数箇所に、エージェントおよび環境の archive が永続的(アンアーカイブ不可) であるという警告が追加された。セッションの archive はルーチンなクリーンアップとして許容される一方、エージェント・環境の archive はプロダクション運用上の重大操作として区別されている。

バッファリングを自前で書かずに SDK のストリームヘルパーを優先

managed-agents-overview.md の Common Pitfalls に「HTTP ライブラリのタイムアウトをウォールクロックの上限として信頼しない」という注意が追加された。requestshttpx のタイムアウトがチャンクごとにリセットされる per-chunk read timeout である点を明示し、SDK の sessions.events.stream() を優先するよう誘導している。

カスタムツールによるシークレットのホスト側保持パターン

コンテナ内に環境変数を注入する手段が現時点では存在しないことを明示したうえで、managed-agents-client-patterns.md Pattern 9 として「カスタムツールを経由してシークレットをホスト側に置く」パターンが強化された。agent.custom_tool_use → オーケストレーター側で認証実行 → user.custom_tool_result という SSE ストリーム上でのフローが図示されており、パブリックエンドポイントを公開しないセキュリティ特性も説明に加えられた。

まとめ

この PR は単純なモデル ID の一括置換に留まらず、モデル移行そのものをスキルとして体系化した点に意義がある。Opus 4.7 固有の破壊的変更(temperature / top_p / top_k の削除、budget_tokens の廃止)をエラーコードドキュメントと移行ガイドの両面から文書化することで、スキルを利用するエージェントが旧パラメータを誤って使用するリスクを構造的に低減している。

記事メタデータ

Generated by:
Claude Sonnet 4.6 for DiffDaily
LLM Trace:
452f3156

この記事はAIによって自動生成されています。内容の正確性については、必ずソースコードやPRを確認してください。

品質レビュー結果

Review Status:
承認済み
Review Count:
1回
Reviewed by:
Gemini 2.5 Pro for DiffDaily

Review Criteria:

記事構成 ✓ PASS

Title, Context, Technical Detailの存在と明確さ

記事全体の構成が「総論→各論→結論」の3部構成に準拠しており、リード文、背景、技術的な変更、まとめの各要素が明確に配置されています。任意項目である「設計判断」も含まれており、模範的な構成です。

カスタムMarkdown構文 ✓ PASS

シンタックスハイライト・GitHubリンク記法の正確性

ファイル名付きシンタックスハイライト(例: ```python:skills/claude-api/python/claude-api/README.md)およびGitHubのPRリンク記法(例: [PR #956](URL))が正しく使用されています。

対象読者への適合性 ✓ PASS

エンジニア向けの適切な技術レベルと表現

SDKのパラメータやベータヘッダーなど、専門知識を持つエンジニアを対象とした適切な技術レベルで書かれており、冗長な初心者向けの説明はありません。

パラグラフ・ライティング ✓ PASS

トピックセンテンス・1段落1トピック・段落長

各セクションが要約から始まる構成になっており、各段落もトピックセンテンスで始まるなど、パラグラフ・ライティングの原則が守られています。可読性が非常に高いです。

Diff内容との照合 ✓ PASS

コードブロックとDiff内容の一致

記事内のコードブロックは、提供されたDiff情報と完全に一致しています。モデルIDの変更(claude-opus-4-6 → claude-opus-4-7)や`files.list`のパラメータ変更(session_id → scope_id)などが正確に引用されています。

技術用語の正確性 ✓ PASS

技術用語の正確な使用

「scope_id」「temperature」「top_p」「top_k」「budget_tokens」などの技術用語が、PRの文脈に沿って正確に使用されています。

説明の技術的正確性 ✓ PASS

技術的主張の正確性と論理性

Opus 4.7でのパラメータ削除やFiles APIのパラメータ変更に関する説明は、Diff内の `error-codes.md` や各言語の `README.md` の変更点に裏付けられており、技術的に正確です。

事実の突合 ✓ PASS

PR情報による主張の裏付け(ハルシネーション検出)

記事内のすべての主張(例: `model-migration.md`が779行であること、SDKの特定バージョンが必要なこと)は、PRのDescriptionやDiff内容によって裏付けられており、ハルシネーションは検出されませんでした。

数値・固有名詞の確認 ✓ PASS

PR番号・コミットID・バージョン等の正確性

PR番号(#956)、モデルバージョン(4.6, 4.7)、SDKバージョン(0.88.0, 0.92.0)、ファイル行数(779)など、すべての数値と固有名詞が正確です。

タイトル・説明との一致 ✓ PASS

記事タイトル・説明とPR内容の一致

PRの汎用的なタイトル「chore: update claude-api skill」に対し、記事のタイトルは「モデルデフォルトの更新」と「移行ガイドの新設」というPRの核心を的確に要約しており、内容と完全に一致しています。

外部知識の正確性 ✓ PASS

PRに記載のない外部知識(LTS、サポート状況など)の不使用

記事はPR情報とDiff内容のみに基づいており、サポート状況やリリース日程など、PR外の知識を持ち込んでいません。

時間表現の正確性 ✓ PASS

時間表現がPR情報と一致しているか

「更新前は」「変更後」といった時間表現が、PRによる変更の前後関係を正確に反映しています。