Claude Skills API、computer use、Files APIが2026年8月20日に一般提供(GA)へ移行しました。ベータ用ヘッダーは不要になり、computer useでは1回のモデル呼び出しで複数アクションを実行できるようになり、新しいbrowser useツールも加わっています。ただし、GAになっても解決しない問題があります。Skillを実際に呼び出すかどうかは、依然としてClaudeの判断次第です。つまり、本番運用ではバージョン固定と呼び出し設計が欠かせません。
8月20日のGA移行で何が変わったのか
既存のベータ版インテグレーションは、移行が完了するまでそのまま使えます。今回の変更点については、Anthropicの発表記事に具体的な内容がまとまっています。
- ベータ用ヘッダーが不要に。 現在のSkillsガイドが示す前提条件は、Claude APIキーと、リクエストで有効化したコード実行の2つだけです。GA前のチュートリアルに登場していたベータ用ヘッダーは、ドキュメントからなくなりました。
- 1回の呼び出しで複数アクション。 更新されたcomputer useツールでは、クリック、入力、キー操作、スクリーンショットなどを、モデル呼び出しごとに複数実行できます。Anthropicの@ClaudeDevsアカウントによると、早期アクセスの顧客ではタスクあたりの往復回数が20~40%減少しました。
- browser useツールを追加。 スクリーンショットとページ構造を組み合わせ、ピクセル座標ではなく特定の入力欄やボタンを狙える仕組みです。保険申請ポータルのようなWebサイトでの利用が想定されています。
- Files APIを大幅に拡張。 組織あたり1 TBのストレージ、レート制限は5倍(@ClaudeDevsのスレッドによると500 RPM)、さらにファイルの自動有効期限にも対応しました。
- コンプライアンス対応。 AnthropicとのBAA(事業者契約)の下で、computer useがHIPAA規制対象のワークロードに利用可能になりました。
- クラウドでも利用可能。 Skills APIとFiles APIはMicrosoft Foundryでも利用できます。更新されたcomputer useとbrowser useツールはVertex AIにも「近日提供予定」ですが、具体的な日付は示されていません。
3つのAPIを1つの処理フローで使う
Anthropicの保険金請求エージェントの例では、一連の処理がわかりやすく示されています。Files APIでファイルIDから受付書類を取得し、Skills APIで申請手順のSkillを適用。computer useのbrowser useで保険会社のポータルを操作し、最後に確認結果をファイルとして保存します。書類は最初に一度アップロードしておけば、以降はfile_idで参照できます。リクエストのたびに再送する必要はありません。
今回示された2種類の数値はいずれもベンダー側の報告です。発表記事では、リサーチエンジニアのDavide Locatelli氏が、最長の保険金請求ワークフローを32分から13分に短縮し、完了率が100%に達したと報告しています。一方、Asteroid共同創業者のDavid Mlčoch氏は、早期アクセス期間中に医療分野のcomputer useフローをテストしました。
「モデル呼び出しが32~52%減少し、タスクあたりのコストは25~32%低下。すべてのワークフローで完了率100%を達成し、以前の77%から向上した」— @MlcochDavid
Messages APIからClaude Skills APIを呼び出す
Skillの追加に必要なのは、Messages APIのリクエストにskills配列を持つcontainerオブジェクトを指定することです。各エントリにはtype(anthropicまたはcustom)、skill_id、そして任意のversionを指定します。
このパラメーターの扱いについて、公式Skillsガイドの要点をまとめると次のとおりです。
- コード実行を有効にし、対応モデルを使う必要があります。ガイドの例では、
claude-opus-5、code_execution_20250825タイプのツール、max_tokens=4096を使用しています。 - 1つのリクエストで指定できるSkillは最大20個です。
- SkillはAnthropicのコード実行サンドボックスで動作します。ネットワークアクセスと実行時のパッケージインストールはできません。リクエストごとに新しいコンテナが作られますが、返却された
container.idをターン間で再利用することは可能です。各レスポンスにはexpires_atも含まれます。 - Skillファイルを自分でホスティングする必要はありません。Anthropicがコンテナ内で実行します。
response = client.messages.create(
model="claude-opus-5",
max_tokens=4096,
tools=[{"type": "code_execution_20250825"}],
container={
"skills": [
{"type": "anthropic", "skill_id": "xlsx", "version": "20251013"},
{"type": "custom", "skill_id": "skill_01...", "version": "skver_01..."},
]
},
messages=[{"role": "user", "content": "Build the Q3 revenue summary"}],
)
入力書類は逆の手順です。まずFiles APIでアップロードし、その後、container uploadブロックから参照します。リクエスト形式は標準的なAnthropic Messages APIなので、直接APIキーを使う場合だけでなく、AIReiterのClaude APIのようなAnthropic互換リレー経由でも利用できます。
組み込みSkillのIDはpptx、xlsx、docx、pdfのように短く、人間にも読みやすい形式です。バージョンには20251013のような日付形式やlatestを使います。カスタムSkillには、ワークスペース内で管理されるskill_01...形式のIDが付与されます。
カスタムSkillを公開する:アップロード時に弾かれるルール
カスタムSkillはディレクトリとして構成し、トップレベルにYAMLフロントマター付きのSKILL.mdを置きます。フロントマターにはnameとdescriptionが必要で、同じディレクトリにスクリプトや参照ファイルを配置することもできます。最小構成は次のようになります。
---
name: eu-claims-filing
description: Use when filing or amending EU insurance claims. Loads the
carrier-specific submission procedure, required fields, and rejection
codes before filling any portal form.
---
# EU claims filing procedure
1. Pull the intake document by file_id ...
アップロードはZIPアーカイブ、または個別ファイルで行います。Python SDKにはfiles_from_dirも用意されています。Skillが実行される前に、AnthropicがSkillsガイド記載の上限を検証します。
| ルール | 上限・条件 |
|---|---|
name | 64文字以下。小文字、数字、ハイフンのみ。anthropicとclaudeは予約語 |
description | 1~1,024文字。空欄不可、XMLタグ不可 |
display_name(任意) | 255文字以下 |
| バンドルサイズ | 非圧縮で30 MB未満 |
| 1リクエストあたりのSkill数 | 20 |
| 組織あたりのワークスペース数 | デフォルトで100 |
管理には、同じガイドに記載されているant CLI、またはその背後にあるAPIエンドポイントを使います。ファイルをアップロードして本番用の固定バージョンを作成するまでの流れは次のとおりです。
ant skills create ./eu-claims-filing # returns skill_01...
ant skills:versions create skill_01... # returns skver_01... — pin this in production
初めて運用するチームが驚きやすい仕様が2つあります。新しいバージョンは完全なスナップショットであり、ファイル一式をすべて再アップロードする必要があります。省略したファイルは引き継がれません。また、Skillを削除すると、そのSkillに紐づくすべてのバージョンも削除されます。
本番運用のチェックリスト:固定・分離・キャッシュ
本番で問題になりやすいのは、変更可能なバージョン、ワークスペース単位の権限、そしてキャッシュミスです。Skillsガイドでも、この3点が明確に説明されています。
- バージョンを固定する。
latestを使う、またはバージョンを指定しない場合、ワークスペースにアクセスできる誰かが新しいバージョンをアップロードした瞬間に、デプロイ済みエージェントの実行内容が変わります。本番ではskver_...形式のIDを固定し、latestは開発中に限定しましょう。 - ワークスペースをテナント境界として扱う。 ワークスペース内のすべてのAPIキーは、その中にある全カスタムSkillの読み取り、呼び出し、削除が可能です。分離の単位はユーザーやセッションではなくワークスペースです。マルチテナントアプリケーションではテナントごとにワークスペースを分け、デフォルトの上限が100ワークスペースである点にも注意してください。
- キャッシュのためSkillリストを安定させる。 Skillのリストを変更すると、順番を変えただけでもシステムプロンプトの先頭部分が変わり、プロンプトキャッシュが無効になります。カスタムSkillのバージョンを固定することは、この先頭部分を守る意味でも重要です。再アップロードされた
latestの説明文が、そこを書き換えてしまう可能性があるためです。トークン単位の課金では、リクエストごとにSkillリストが揺れると、キャッシュヒットによる節約効果が気づかないうちに失われます。 pause_turnを処理する。 実行時間の長いSkillはstop_reason: "pause_turn"を返します。継続する場合は、返されたコンテンツを後続のリクエストで再送します。中断したい場合は会話を変更してください。- データ保持ポリシーを把握する。 Agent Skillsはゼロデータ保持契約の対象外です。Skill定義と実行データには、Anthropicの標準保持ポリシーが適用されます。Compliance APIを有効にすると、Activity FeedにSkillとSkillバージョンの作成・削除が記録されます。ただし、記録されるのは有効化後の操作だけです。
- 適切なエラーを捕捉する。 呼び出しは
anthropic.BadRequestErrorを捕捉できるようにし、Skill関連の失敗と、その他の無効なリクエストエラーを切り分けます。 - 使わないSkillは添付しない。 ドキュメントにも明記されているとおり、未使用のSkillを含めるとパフォーマンスに影響します。
APIを変えても解決しない「呼び出されない」問題
GAで強化されたのはSkillを取り巻くインフラであり、ClaudeがSkillを選ぶ仕組みそのものではありません。ユーザーの議論で繰り返し指摘されているのは、Skillが追加のシステムプロンプトではなく、条件に応じて呼び出される手順として動作するという点です。
「Claude Skillsについて困っているのは、実際にはSkillではないことです。Claudeに使わせる仕組みが何もありません。Claudeは好きなように動きます……単なるmdファイルです」— GA前に書かれた@Yampelegの投稿。呼び出しの仕組みはGA後も変わっていません
Skillは本当に機能するのかを議論したr/ClaudeAIのスレッドでは、実際の対策が簡潔に整理されています。
「userstyleは毎ターン先頭に追加されるが、SkillはClaudeがdescriptionをもとに呼び出すと判断したときだけ動く」— u/samxu01
「Skillには、シンプルで明確なメタデータの説明が必要です。Claudeが実行するアクションにも焦点を当てるべきです」— u/Chadum
これらの議論から導ける実践的なルールは4つです。
- descriptionは人格や役割ではなく、発火条件となるフレーズと実行するアクションを中心に書く。
- 手順、確認事項、ルール、使うツールは本文に記載する。u/MartinMystikJonasのテスト方法は「エージェントが実行すべき手順、確認すべきこと、従うべきルール、使うべきツールをSkillに定義すれば、それは役に立つ」です。
- Claudeが標準機能だけでは苦手とする作業を組み込む。これはu/Actual_Committee4670の指摘です。
- 常に適用したい要件はシステムプロンプトやCLAUDE.mdに移す。前述のu/samxu01によれば、これらは毎ターン先頭に追加されます。フックはコミット前など、ライフサイクル上の特定タイミングに限定しましょう。
よくある疑問
Skills APIにベータ用ヘッダーはまだ必要ですか?
いいえ。2026年8月20日のGA以降、現在のドキュメントで示されている前提条件は、Claude APIキーとコード実行の有効化だけです。ベータ用ヘッダーは必要ありません。
Skillを付けるとコンテキストウィンドウを消費しますか?
最初に読み込まれるのはメタデータだけです。Skillsガイドによると、Claudeは各Skillのフロントマターを最初に受け取り、ファイルをコンテナへコピーします。詳細な手順は、タスクで必要になった時点で読み込まれます。未使用のSkillを添付しないようドキュメントが注意しているのは、この仕組みが理由です。
SkillとMCPは何が違いますか?
Skillは、ネットワークアクセスのないClaudeのサンドボックス内で実行される指示とスクリプトのパッケージです。一方、MCPはClaudeを外部の稼働中システムへ接続します。これはAnthropicがSkillsの概要で示している違いです。保険金請求のワークフローなら、契約情報データベースにはMCPサーバー、申請手順にはSkillというように、両方を組み合わせられます。
同じSKILL.mdをClaude.ai、Claude Code、APIで使えますか?
SKILL.mdの形式は共通ですが、提供方法は環境ごとに異なります。APIではワークスペースにアップロードしたSkill、Claude Codeでは.claude/skillsディレクトリ、Claude.aiアプリではプラン単位のアップロードを使います。
Skills APIはゼロデータ保持で利用できますか?
いいえ。Agent Skillsはゼロデータ保持契約の対象外です。Skill定義と実行データには、標準の保持ポリシーが適用されます。
要件に応じて使い分ける
どの仕組みを選ぶかは、呼び出すタイミングで決めます。
| 要件 | 適した仕組み |
|---|---|
| トリガーされたときに実行したい専門的なタスク(「保険金請求の申請時はこの手順に従う」) | Skill |
| 毎回のターンで必ず適用するルール | システムプロンプト(API)/CLAUDE.md(Claude Code) |
| ライフサイクル上の特定タイミングで行う処理(ツール実行後、コミット前など) | Hook |
| 外部システムとのライブ接続 | MCPサーバー |
| 一度きりのタスクの指示 | 通常のプロンプト |
8月20日のGA移行でSkillの仕組みは本番運用に耐えるものになりました。ただし、表にある各仕組みが同じものになったわけではありません。
関連記事:モデル・トークン別Claude API料金ガイド、Claude CodeでClaude Skillを記録する方法