claude-agent-sdk
Claude Agent SDK(@anthropic-ai/claude-agent-sdk)のリファレンスです。Claude Agent SDKやclaude-agent-sdkパッケージ、@anthropic-ai/claude-agent-sdkからインポートされるコードを扱う際は必ず使用してください。SDKのクエリAPI、ツール設定、フック、サブエージェント、MCP統合、構造化出力に対応しています。汎用的なエージェント開発や他のエージェントフレームワークには使用しないでください。
description の原文を見る
Reference for Claude Agent SDK (@anthropic-ai/claude-agent-sdk). MUST use when working with Claude Agent SDK, claude-agent-sdk package, or code that imports from @anthropic-ai/claude-agent-sdk. Covers the SDK's query API, tool configuration, hooks, subagents, MCP integration, and structured output. Do NOT use for generic agent development or other agent frameworks.
SKILL.md 本文
Claude Agent SDK
ファイルの読み取り、コマンドの実行、コードの編集、ウェブ検索など、様々な機能を持つ自律型AIエージェントを構築します。このSDKはClaudeコードを支える同じツール、エージェントループ、およびコンテキスト管理を提供します。
コアコンセプト
重要な設計原則:Claudeにコンピュータを与える。bashコマンドの実行、ファイルの編集、ファイルの作成、ファイルの検索といったツールを提供することで、Claudeは人間がデジタルタスクに取り組むのと同じように機能できます。
エージェントループパターン
効果的なエージェントは、このフィードバックループに従います:コンテキスト収集 → アクション実行 → 作業検証 → 繰り返し
┌─────────────────────────────────────────────────────┐
│ AGENT LOOP │
├─────────────────────────────────────────────────────┤
│ 1. GATHER CONTEXT │
│ - Read files, search codebase │
│ - Use subagents for parallel information │
│ - Query external APIs via MCP │
│ │
│ 2. TAKE ACTION │
│ - Execute tools (Read, Write, Edit, Bash) │
│ - Generate and run code │
│ - Call external services │
│ │
│ 3. VERIFY WORK │
│ - Run linters, tests, type checkers │
│ - Visual feedback (screenshots) │
│ - LLM-as-judge for fuzzy validation │
│ - Apply deterministic rules │
└─────────────────────────────────────────────────────┘
クイックスタート
インストール
npm install -g @anthropic-ai/claude-code
npm install @anthropic-ai/claude-agent-sdk
export ANTHROPIC_API_KEY=your-api-key
最小限のエージェント(TypeScript)
import { query } from "@anthropic-ai/claude-agent-sdk";
async function main() {
for await (const message of query({
prompt: "What files are in this directory?",
options: {
model: "opus",
allowedTools: ["Glob", "Read"],
maxTurns: 250
}
})) {
if (message.type === "assistant") {
for (const block of message.message.content) {
if ("text" in block) console.log(block.text);
}
}
}
}
main();
最小限のエージェント(Python)
import asyncio
from claude_agent_sdk import query, ClaudeAgentOptions
async def main():
async for message in query(
prompt="What files are in this directory?",
options=ClaudeAgentOptions(allowed_tools=["Bash", "Glob"])
):
if hasattr(message, "result"):
print(message.result)
asyncio.run(main())
リファレンスドキュメント
詳細な実装パターンについては、以下を参照してください:
api_reference.md:完全なAPI、オプション、フック、サブエージェント、V2 APIPATTERNS.md:コードレビュー、リサーチ、自動化、チャットパターンTOOLS.md:組み込みツールとMCP統合PRODUCTION.md:デプロイメント、サンドボックス、セキュリティ、監視
スクリプト
create_agent.ts:テンプレートから新しいエージェントプロジェクトを生成
組み込みツール
| ツール | 目的 |
|---|---|
| Read | 作業ディレクトリ内の任意のファイルを読み取る |
| Write | 新しいファイルを作成する |
| Edit | 既存ファイルの正確な編集を実行する |
| Bash | ターミナルコマンドを実行する |
| Glob | パターンでファイルを検索する |
| Grep | 正規表現でファイル内容を検索する |
| WebSearch | ウェブを検索する |
| WebFetch | ウェブページを取得してパースする |
| Task | 並列処理用にサブエージェントをスポーンする |
ユースケース別エージェントタイプ
コードレビューエージェント: allowedTools: ["Read", "Glob", "Grep"]
ファイル自動化エージェント: allowedTools: ["Read", "Write", "Edit", "Bash", "Glob"]
リサーチエージェント: allowedTools: ["WebSearch", "WebFetch", "Read", "Write"]
マルチエージェントオーケストレータ: allowedTools: ["Read", "Glob", "Grep", "Task"]
主要なオプション
options: {
model: "opus" | "sonnet" | "haiku", // Model selection
maxTurns: 250, // Max agent iterations
allowedTools: [...], // Tools available to agent
permissionMode: "default" | "acceptEdits" | "bypassPermissions",
systemPrompt: "...", // Custom system instructions
settingSources: ["project"], // Load skills from .claude/skills/
outputFormat: { type: "json_schema", schema: {...} } // Structured output
}
メッセージストリームタイプ
for await (const message of query({...})) {
switch (message.type) {
case "system": // Session init, available tools
case "assistant": // Claude's responses and tool calls
case "result": // Final result with cost info
}
}
各パターンを使う時機
シンプルなタスク、単一ファイル:基本的なツールを使った直接クエリ 複雑な分析:構造化出力スキーマを追加 大規模なコードベース:並列検索用にサブエージェントを使用 外部統合:カスタムツール用にMCPサーバーを追加 本番環境へのデプロイ:監査とガードレール用にフックを追加
検証戦略
- リント/型チェック:コード生成後に実行
- ビジュアルフィードバック:UI作業用のスクリーンショットレンダリング
- 決定論的ルール:特定の条件をチェックするフック
- LLM-as-judge:出力品質を評価するサブエージェント
コンテキストエンジニアリング
ファイルシステムはコンテキストに取り込むことが できる 情報を表現します:
- プロジェクトレベルの指示には
CLAUDE.mdを使用 - エージェンティック検索用にデータフォルダを整理
- 大きなファイルに対して
grep/tailをClaudeに使わせる - コンテキストを分離して要約を返すにはサブエージェントを使用
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- AlexAtmtit
- ライセンス
- MIT
- 最終更新
- 2026/3/8
Source: https://github.com/AlexAtmtit/custom-skills / ライセンス: MIT
関連スキル
agent-browser
AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。
anyskill
AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。
engram
AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。
skyvern
AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。
pinchbench
PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。
openui
OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。