Communityライティング&編集github.com

Anmolop97/Agent-Skills

Claude API / Anthropic SDK のリファレンス — モデルID、料金、パラメータ、ストリーミング、ツール使用、MCP、エージェント、キャッシング、トークンカウント、モデル移行。

Agent-Skills とは?

このスキルは、Claude API および Anthropic SDK を使用した LLM 駆動型アプリケーションの構築を包括的に支援します。モデル選択、料金体系、パラメータ設定、ストリーミング、ツール使用、MCP、エージェント、キャッシング、トークンカウント、モデル移行など、Claude 関連のあらゆるトピックをカバーしています。主に、Python、TypeScript、Java、Go、Ruby、PHP、C# など、主要なプログラミング言語向けの公式 SDK をサポートしており、各言語の SDK ドキュメント、コード例、ベストプラクティスが含まれています。このスキルは、Claude Code、Cursor、Codex などの AI エージェントプラットフォームで使用するために設計されており、拡張思考、ウェブ検索/ウェブフェッチツール、管理エージェント、ファイル API、スキル、評価の構築と最適化、マイグレーションなどの高度な機能を実装できます。AI エージェントは `migrate`、`prompt-audit`、`upgrade`、`cost-optimize`、`build-eval`、`preserved-thinking-migration`、`hillclimb` などのサブコマンドを使用して、特定のワークフロー(例:モデル移行、プロンプト監査、SDK アップグレード、コスト最適化、評価構築)を実行でき、各サブコマンドは専用のガイドに従って段階的に実行されます。

対応✓Claude Code✓Codex CLI~Cursor✓Antigravity✓Gemini CLI
npx skills add https://github.com/Anmolop97/Agent-Skills/tree/HEAD/skills/claude-api

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Claude を使用した LLM 駆動型アプリケーションの構築

このスキルは、Claude を使用した LLM 駆動型アプリケーションの構築を支援します。ニーズに基づいて適切なサーフェスを選択し、プロジェクトの言語を検出して、関連する言語固有のドキュメントを参照してください。

始める前に

ターゲットファイル(またはターゲットファイルがない場合は、プロンプトとプロジェクト)をスキャンして、非 Anthropic プロバイダーのマーカー(import openai、from openai、langchain_openai、OpenAI(、gpt-4、gpt-5、agent-openai.py や *-generic.py などのファイル名、またはコードをプロバイダー中立に保つ明示的な指示)がないか確認します。見つかった場合は、処理を停止して、このスキルが Claude/Anthropic SDK コードを生成することをユーザーに伝え、ファイルを Claude に切り替えるか、Claude 以外の実装を希望するかを尋ねます。Anthropic SDK コールを含む非 Anthropic ファイルを編集しないでください。(例外:prompt-audit サブコマンドは非対話型であり、ここでは停止しません。レポートの明示された前提条件に非 Anthropic プロバイダーマーカーを記録し、非 Anthropic ファイルを Anthropic SDK に切り替えることを提案しません。)

出力要件

ユーザーが Claude 機能の追加、変更、または実装を依頼した場合、コードは以下のいずれかを通じて Claude を呼び出す必要があります。

  1. 公式 Anthropic SDK(プロジェクトの言語に応じて:anthropic、@anthropic-ai/sdk、com.anthropic.* など)。これは、プロジェクトにサポートされている SDK が存在する場合のデフォルトです。
  2. 生 HTTP(curl、requests、fetch、httpx など)。ユーザーが明示的に cURL/REST/生 HTTP を要求した場合、プロジェクトがシェル/cURL プロジェクトである場合、または言語に公式 SDK がない場合に限ります。

この2つを決して混在させないでください。Python や TypeScript プロジェクトで、軽量だからといって requests/fetch を使用しないでください。OpenAI 互換のラッパーにフォールバックしないでください。

SDK の使用法を推測しないでください。 関数名、クラス名、名前空間、メソッドシグネチャ、インポートパスは、明示的なドキュメント(このスキルの {lang}/ ファイル、または公式 SDK リポジトリ、あるいは shared/live-sources.md にリストされているドキュメントリンク)から取得する必要があります。必要なバインディングがスキルファイルに明示的に文書化されていない場合は、コードを書く前に shared/live-sources.md から該当する SDK リポジトリを WebFetch してください。cURL シェイプや別の言語の SDK から Ruby/Java/Go/PHP/C# API を推測しないでください。

WebFetch またはリポジトリへのアクセスが失敗した場合(ネットワーク制限、タイムアウト、クローンブロック):再試行を続けずに、{lang}/ ファイルのパターンと名前空間/パッケージテーブルからコードを書き、コンパイラまたはインタプリタを実行し、エラー出力を繰り返し修正してください。静的に型付けされた SDK(C#、Java、Go)の場合、ローカルエラーに対するコンパイル修正ループの方が、ブロックされたネットワークリサーチよりも迅速に動作するコードに到達します。

デフォルト

ユーザーが別途要求しない限り、以下のデフォルトを使用します。

Claude モデルバージョンには、Claude Opus 5.5 を使用してください。これは正確なモデル文字列 claude-opus-5-5 でアクセスできます。多少複雑なことには、デフォルトでアダプティブ思考(thinking: {type: "adaptive"})を使用してください。最後に、長い入力、長い出力、または高い max_tokens が予想されるリクエストには、デフォルトでストリーミングを使用してください。これにより、リクエストのタイムアウトを防ぎます。個々のストリームイベントを処理する必要がない場合は、SDK の .get_final_message() / .finalMessage() ヘルパーを使用して完全なレスポンスを取得してください。ストリーミングリクエストでユーザー定義(クライアント)ツールを定義する場合は、それらの各ツールに eager_input_streaming: true を設定して、大きなツール入力(ファイル内容、コード、ドキュメント)が、サーバーがバッファリングを終えた後に一度に到着するのではなく、生成されると同時にストリーミングされるようにします。クライアントは検証を担当します。SDK の寛容なパーサーは、エラーを発生させる代わりに、暗黙的に切り捨てられた入力を返す可能性があるため、各パース済みツール入力をスキーマに対して検証してから実行してください(betaZodTool / 型付き @beta_tool などの型付きランナーヘルパーはこれを行います。betaTool() JSON-Schema ツールと手動ループは自分で検証する必要があります)。失敗は無効な JSON と同様に扱います(ツール結果の保持時に INVALID_JSON エラー tool_result、それ以外の場合は再発行)。ツールを実行する前に max_tokens / refusal 停止理由を確認し、SDK の JSON エラーのみをキャッチし、型付き API エラーは決してキャッチしないでください。パターンは shared/tool-use-concepts.md -> Eager input streaming を参照してください。非ストリーミングリクエスト、サーバーツール、およびプロキシまたはフィールドを拒否する古い Bedrock モデルデプロイメントを経由するリクエストでは、これをオフにしてください。

警告:API の乖離 - トレーニングの事前知識が古くなっている可能性があります

一般的な Claude API のシェイプのいくつかは、2025~2026 年に変更されました。トレーニングからパターンを思い出した場合は、コードを書く前に、このスキルの {lang}/ ファイルでそれを確認してください。以下の行は、最も頻繁な乖離ポイントです。

領域古い事前知識現在の API
拡張思考thinking: {type: "enabled", budget_tokens: N}Claude 4.6 以降のモデルの場合:thinking: {type: "adaptive"}。Opus 4.6 / Sonnet 4.6 では budget_tokens は非推奨であり、Fable 5/5.1 / Sonnet 5.5 / Sonnet 5 / Opus 5.5 / 5 / 4.8 / 4.7 では 400 で拒否されます。4.6 より前のモデルでは引き続き budget_tokens を使用します。
ウェブ検索 / ウェブフェッチツールタイプweb_search_20250305、web_fetch_20250910Opus 5.5/5/4.8/4.7/4.6、Sonnet 5.5、Sonnet 5、Sonnet 4.6 では web_search_20260209、web_fetch_20260209(動的フィルタリング)。古いモデルは基本バリアントを維持します。Vertex AI では基本の web_search_20250305 のみ利用可能です(ウェブフェッチは Vertex では利用できません)。以下のサーバーツール QR を参照してください。
PHP パラメータ名snake_case ワイヤー名を名前付き引数として使用(max_tokens)トップレベルの名前付き引数は camelCase(maxTokens)です。ネストされた配列キーは機能によって異なります(例:'taskBudget'、'skillID'、'mcp_server_name')。文書化された例から正確なキーをコピーしてください。一括変換しないでください。
管理エージェントの認証情報カスタムツールを介してシークレットをホスト側で保持(Vault が出荷される前の唯一のオプション)Vault environment_variable 認証情報 - Anthropic によって保存され、出力時に置き換えられ、サンドボックスで表示されることはありません(shared/managed-agents-tools.md -> Vaults)。ホスト側のカスタムツールは、セルフホスト型サンドボックスのフォールバックとして残ります。
Files API / Skillsclient.beta.files.* / client.beta.skills.*(ベータヘッダー files-api-2025-04-14 / skills-2025-10-02 を使用)ベータ版を卒業:client.files.* / client.skills.*、ベータヘッダーなし。現在の SDK では、client.beta.files / client.beta.skills は以前のバージョンから破壊的なシェイプ変更があり、安定版の名前空間と一致しています。shared/live-sources.md -> Files API / Skills Guide に従って移行してください。

このスキルの {lang}/ ファイルは、思い出したパターンよりも優先されます。


サブコマンド

このプロンプトの下部にあるユーザーリクエストが生のサブコマンド文字列(散文なし)である場合、このドキュメント内のすべてのサブコマンドテーブル(以下に追加されたセクションを含む)を検索し、一致するアクション列に直接従ってください。これにより、ユーザーは /claude-api <subcommand> を介して特定のフローを呼び出すことができます。ドキュメント内のどのテーブルも一致しない場合、リクエストを通常の散文として扱います。

サブコマンドアクション
migrate既存の Claude API コードを新しいモデルに移行します。shared/model-migration.md をすぐに読み、その順序に従ってください:ステップ 0(スコープを確認 - 編集前にどのファイル/ディレクトリかを尋ねる)、ステップ 1(各ファイルを分類)、次に対象ごとの破壊的変更セクション。ガイドを要約せず、実行してください。ユーザーがターゲットモデルを指定しなかった場合は、スコープの質問と同じターンで、どのモデルに移行するかを尋ねてください。対象ごとの変更が適用された後、スコープ内のプロンプトテキスト、ツールの説明、およびリクエストコードを shared/prompt-audit.md に対して監査してください。ソースモデル用に書かれたプロンプトはすべての移行の一部であり、それ自体は通知しません。
prompt-audit既存のプロンプト、ツールの説明、スキル、およびエージェント設定ファイル(CLAUDE.md、ルールファイル、コマンド、サブエージェント)を、時代遅れのパターン(「クルフト」)について監査します:古いモデル向けに書かれたテキスト、およびリポジトリが成長しきった、または互いに矛盾している指示。shared/prompt-audit.md をすぐに読み、その順序に従ってください:ステップ 0(リクエストとリポジトリからスコープとターゲットモデルを確立 - 前提条件をレポートに記載し、確認のために停止しない)、インベントリ、来歴、次にパターンスキャン。両方の成果物(監査レポート(発見事項と file:line、パターン、時代遅れの理由、信頼度)と提案された差分)を、確認のために一時停止せずに完全に生成します。リクエストが明示的に編集を求めた場合にのみ編集を適用します。ガイドを要約せず、実行してください。
upgradeプロジェクトの Anthropic SDK 依存関係をメジャーバージョン間でアップグレードします。現在のところ、Python SDK anthropic の 0.x -> 1.x へのアップグレードです。後続の単語は、言語やスコープを指定する場合があります(upgrade python、upgrade python sdk src/)。python/claude-api/sdk-upgrade.md をすぐに読み、その順序に従ってください:ステップ 0(スコープを確認し、現在のバージョンとターゲットバージョンを確立 - ピンを書き込む前に公開された 1.x が存在する必要があります)、ステップ 1 のインベントリ、各番号付きセクション、次に検証とレポート。ガイドを要約せず、実行してください。検出された、または指定された言語にこのスキルの sdk-upgrade.md がない場合は、その SDK のメジャーバージョンアップグレードガイドがまだバンドルされていないことを伝え、その SDK の CHANGELOG(shared/live-sources.md のリポジトリ)を参照するようにユーザーに指示してください。Python ガイドから推測して独自に作成しないでください。これはモデル移行ではありません。コードを新しい Claude モデルに移行するには、migrate を使用してください。
cost-optimize既存の Claude API コードの実行コストを、出力品質を犠牲にすることなく削減します。shared/cost-optimization.md をすぐに読み、その順序に従ってください:ステップ 0(スコープ、品質基準、ベースラインを確立)、トークンプロファイル - ユーザーが Admin API キーを持っている場合は Usage and Cost Admin API を通じて測定、アプリ独自の response.usage ログがある場合(尋ねる)はそれを使用、それ以外の場合はコードから推定 - 次に、節約額でランク付けされたレバーのショートリスト(利用可能なデータソースに応じて、金額、請求額の割合、または相対的なバケットで見積もる)、トレードオフ(予算、労力、モデル選択、マルチモデル)の前に、無料の勝利(キャッシング、入力トークンの衛生、ループの衛生、出力トークンの衛生、バッチ)を提示します。場所を獲得したレバーは、それぞれ独自の差分になります。デフォルトでは提案のみ。ユーザーが依頼して承認した場合に、そのレバーが触れるトラフィックをカバーする評価に対して適用および測定されます。「変更推奨なし」も有効な結果です。2つの原則:モデルを実行するすべての実行は実際の費用が発生するため、最初にユーザーの承認を得てください。また、レバーのコンテキストが不足している場合は、ユーザーと対話的に作業を進めてください。このワークフローは、一度で監査を完了することは想定されていません。ガイドを要約せず、実行してください。プロファイルとランク付けされた計画をユーザーに提示することは、実行の一部です。
build-evalユーザーが Claude 搭載アプリの評価セットを構築するのを支援します。shared/evals/build-eval.md をすぐに読み、そのインタビューを実行してください:ステップ 0(評価対象は何か)、ステップ 1(プロンプトのソース - 既存の評価 / トランスクリプト / 合成)、ステップ 2(採点方法)、ステップ 3(実行可能なスクリプト + 測定コスト)。評価を生成する前に、入力、採点方法、およびコストについてユーザーの明示的な承認を得てください。
preserved-thinking-migration既存の統合を保存された思考と互換性を持たせます。これは、思考ブロックがそれを生成した会話内でのみ有効であることを確認するチェックです。shared/preserved-thinking-migration.md をすぐに読み、その順序に従ってください:ステップ 0(スコープ、トラフィッククラス、プラットフォームとモデル、実施ステータス、品質基準、ベースライン)、ステップ 0.5(3リクエストのセルフテストでチェックが実行されていることを確認)、ステップ 1(リクエスト本文をキャプチャし、連続するペアを shared/preserved-thinking-migration/prefix_diff.py で差分比較し、コード内の原因をスキャンし、各編集に名前を付け、それが意図的なものかどうかを判断)、ステップ 2(thinking-binding-controls-2026-08-01 ヘッダーの下で prefix_mismatch_behavior: "drop_block" を使用してテストスライスを再生し、会話ごとに新たにドロップされたブロックをカウントし、存在する場合は診断ヘッダーを読み取る)、ステップ 3(失われた推論の順序で、原因ごとに 1 つの差分 - デフォルトでは提案、ユーザーが要求した場合に適用 - その後再測定、維持または差し戻し。評価が存在する場合は3アームプロトコル)、モデル切り替えセクション(shared/preserved-thinking-migration/causes.md、原因テーブルと保持リストを含む)をハーネスがモデル間でルーティングする場合、ステップ 4(ブレークプロファイルと変更)。2つの原則:すべての再生は実際の費用が発生するため、最初に測定予算のユーザーの承認を得てください。「変更推奨なし」 - スライスが思考を再生し、何もドロップされなかった - は有効な結果です。新しいベータ版でのみ追加専用形式を持つ原因(末尾保持とバックグラウンドコンパクション:compact-2026-09-04、同名ツール変更:inline-tools-2026-09-15)は、そのベータ版が利用できない場合、測定および決定され、書き換えられません。理由(3ステップチェック、追加専用編集テーブル)については、shared/model-migration.md -> 破壊的変更 3 にチェーンします。ガイドを要約せず、実行してください。
hillclimb既存の評価に対してユーザーのアプリを反復的に改善します。shared/evals/eval-hillclimb.md をすぐに読み、それに従ってください:ステップ 0(実行可能な評価が存在することを確認 - 存在しない場合は build-eval にルーティング)、ステップ 1(何を変更するか / 何を禁止するか)、ステップ 2(測定された実行ごとのコストからの予算 + 停止条件)、計画の承認を得て、次に、ディスク上の状態とトレーニング/検証/テスト分割を使用した、読み取り->提案->適用->実行->記録のループを実行します。

言語検出

コード例を読む前に、ユーザーがどの言語で作業しているかを判断します(例外:prompt-audit サブコマンドの場合は、このセクションの質問手順をスキップしてください。監査は非対話型であり、そのインベントリは言語に依存しません。言語が推測できない場合は、質問せずに進め、レポートに前提条件を記載してください):

  1. プロジェクトファイルを調べて、言語を推測します。
  • *.py、requirements.txt、pyproject.toml、setup.py、Pipfile -> Python - python/ から読み取ります。
  • *.ts、*.tsx、packag

...

[以下、元のコンテンツが省略されています。翻訳可能な部分は全て翻訳されています。]

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

関連スキル