design-a2a-agent-card
について
このスキルは、相互運用性のためにエージェントの能力、認証、サポートされるコンテンツタイプを定義するA2Aエージェントカードマニフェスト(agent.json)を生成します。マルチエージェントオーケストレーションのための検出可能なエージェントを構築する際や、既存のエージェントをA2Aプロトコルに移行する際にご利用ください。これは、エージェント統合とレジストリ利用のための公開契約を確立するのに役立ちます。
クイックインストール
Claude Code
推奨npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/design-a2a-agent-cardこのコマンドをClaude Codeにコピー&ペーストしてスキルをインストールします
ドキュメント
設計 A2A 代理卡
建合標 A2A 代理卡,宣告代理身份、技能、認證、能力,為他代理所發現。
用
- 構代理須為他 A2A 代理所發現
- 露代理能力於多代理編排
- 遷現代理至 A2A 協議
- 實作前定代理公契約
- 接代理註冊處或目錄
入
- 必:代理名+述
- 必:技能列(名、述、入/出 schema)
- 必:代理托管基 URL
- 可:認證法(
none、oauth2、oidc、api-key) - 可:超
text/plain之內容型(如image/png、application/json) - 可:能力標(流、推通知、狀態轉換歷史)
- 可:供應方組織名+URL
法
一:定代理身份+述
1.1. 擇身份字段:
{
"name": "data-analysis-agent",
"description": "Performs statistical analysis, data visualization, and report generation on tabular datasets.",
"url": "https://agent.example.com",
"provider": {
"organization": "Example Corp",
"url": "https://example.com"
},
"version": "1.0.0"
}
1.2. 書清晰可行之述答:
- 覆何域?
- 可理何任務?
- 有何限?
1.3. 設代理卡服務之規範 URL 於 /.well-known/agent.json。
得: 完整身份塊含名、述、URL、供應方、版本。
敗: 代理覆多域→思當為一含多技能代理抑多聚焦代理。A2A 偏聚焦代理含清界。
二:列技能含入/出 schema
2.1. 定每技能:
{
"skills": [
{
"id": "analyze-dataset",
"name": "Analyze Dataset",
"description": "Run descriptive statistics, correlation analysis, or hypothesis tests on a CSV dataset.",
"tags": ["statistics", "data-analysis", "csv"],
"examples": [
"Analyze the correlation between columns A and B in my dataset",
"Run a t-test comparing group 1 and group 2"
],
"inputModes": ["text/plain", "application/json"],
"outputModes": ["text/plain", "application/json", "image/png"]
},
{
"id": "generate-chart",
"name": "Generate Chart",
"description": "Create bar, line, scatter, or histogram charts from tabular data.",
"tags": ["visualization", "charts"],
"examples": [
"Create a scatter plot of height vs weight",
"Generate a histogram of the age column"
],
"inputModes": ["text/plain", "application/json"],
"outputModes": ["image/png", "image/svg+xml"]
}
]
}
2.2. 每技能供:
- id:獨識(kebab-case)
- name:人可讀名
- description:一二句述
- tags:發現關鍵字
- examples:觸此技能之自然語例
- inputModes:接 MIME 型
- outputModes:生 MIME 型
2.3. 確技能界清不重疊。每任務當精映一技能。
得: 技能數組,每項有 id、name、description、tags、examples、I/O 模式。
敗: 技能重疊甚→合為一較廣技能含多例。技能過廣→拆為聚焦子技能。
三:配認證
3.1. 按部署上下文定認證:
無認證(本地/信任網):
{
"authentication": {
"schemes": []
}
}
OAuth 2.0(生產宜):
{
"authentication": {
"schemes": ["oauth2"],
"credentials": {
"oauth2": {
"authorizationUrl": "https://auth.example.com/authorize",
"tokenUrl": "https://auth.example.com/token",
"scopes": {
"agent:invoke": "Invoke agent skills",
"agent:read": "Read task status"
}
}
}
}
}
API Key(簡共享密):
{
"authentication": {
"schemes": ["apiKey"],
"credentials": {
"apiKey": {
"headerName": "X-API-Key"
}
}
}
}
3.2. 擇最小可行認證匹部署環境:
- 本地開發:
none - 內部服務:
apiKey - 公面代理:
oauth2或oidc
3.3. 錄令牌/鑰配給流於代理卡供應方段或外文檔。
得: 認證塊匹部署安全要求。
敗: 無 OAuth 2.0 設施→起於 API 鑰認證+計遷。勿部公代理以 none 認證。
四:指明能力
4.1. 宣告代理支何協議功能:
{
"capabilities": {
"streaming": true,
"pushNotifications": false,
"stateTransitionHistory": true
}
}
4.2. 按實作就緒設每能力標:
- streaming:
true若代理支經tasks/sendSubscribe之 SSE 流。啟長任務實時進度。 - pushNotifications:
true若代理可於任務狀態變時送 webhook 回調。需代理存+調 webhook URL。 - stateTransitionHistory:
true若代理維任務狀態轉換全史(submitted、working、completed 等)。利審計跡。
4.3. 僅當實作全支時設為 true。宣未支能力破互操作性。
得: 能力對象含匹實實作之布爾標。
敗: 未定能力將實作否→設為 false。能力可於後版加。除能力為破壞變。
五:驗+發代理卡
5.1. 組完整代理卡:
{
"name": "data-analysis-agent",
"description": "Performs statistical analysis and visualization on tabular datasets.",
"url": "https://agent.example.com",
"version": "1.0.0",
"provider": {
"organization": "Example Corp",
"url": "https://example.com"
},
"authentication": {
"schemes": ["oauth2"],
"credentials": { ... }
},
"capabilities": {
"streaming": true,
"pushNotifications": false,
"stateTransitionHistory": true
},
"skills": [ ... ],
"defaultInputModes": ["text/plain"],
"defaultOutputModes": ["text/plain"]
}
5.2. 驗代理卡:
- 解 JSON 驗無語法錯
- 驗諸必字段存(name、description、url、skills)
- 驗每技能有 id、name、description,至少一入/出模式
- 驗 URL 可達並於
/.well-known/agent.json服卡
5.3. 發代理卡:
- 於
https://<agent-url>/.well-known/agent.json服 - 設
Content-Type: application/json - 跨源發現→啟 CORS 頭
- 於相關代理目錄/註冊處註冊
5.4. 以拉卡測發現:
curl -s https://agent.example.com/.well-known/agent.json | python3 -m json.tool
得: 有效 JSON 代理卡於 well-known URL 服,可為任 A2A 客戶解析。
敗: JSON 驗失→用 JSON linter 察語法錯。URL 不可達→查 DNS、SSL 證、服務器配。需 CORS→加 Access-Control-Allow-Origin 頭。
驗
- 代理卡為有效 JSON 無語法錯
- 諸必字段存:name、description、url、skills
- 每技能有 id、name、description、inputModes、outputModes
- 認證方案匹部署安全要求
- 能力標準確反映實作狀態
- 代理卡於
/.well-known/agent.json含正 Content-Type 服 - A2A 客戶可成拉+解卡
- 技能之例現實且觸正技能
忌
- 過諾能力:設
streaming: true或pushNotifications: true而無實作→用此功能時客戶失敗。宜保守。 - 技能述模糊:「做數據事」防精確匹。宜具體陳入、出、域。
- 缺 CORS 頭:無正 CORS 配瀏覽器 A2A 客戶不可拉卡。
- 技能重疊:兩技能可理同任務→客戶代理不能定調何。確清界。
- 忘默認模式:省
defaultInputModes與defaultOutputModes→客戶或不知送何內容型。 - 版本停滯:技能/能力變時更卡版本。客戶或緩舊版。
- 實作前發:代理卡為契約。發未實作技能→運行時失。
參
implement-a2a-servertest-a2a-interopbuild-custom-mcp-serverconfigure-mcp-server
GitHub リポジトリ
関連スキル
content-collections
メタこのスキルは、Content Collections(Markdown/MDXファイルを型安全なデータコレクションに変換するTypeScriptファーストのツール)の本番環境でテストされた設定を提供します。Zodバリデーションによる型安全性を実現し、ブログ、ドキュメントサイト、コンテンツ重視のVite + Reactアプリケーション構築時にご利用ください。Viteプラグインの設定、MDXコンパイルから、デプロイ最適化、スキーマバリデーションまで、すべてを網羅しています。
polymarket
メタこのスキルは、開発者がPolymarket予測市場プラットフォームを活用したアプリケーション構築を可能にします。API統合による取引や市場データの取得に加え、WebSocketを介したリアルタイムデータストリーミングにより、ライブ取引や市場活動を監視できます。取引戦略の実装や、ライブ市場更新を処理するツールの作成にご利用ください。
creating-opencode-plugins
メタこのスキルは、開発者がコマンド、ファイル、LSP操作など25種類以上のイベントタイプにフックするOpenCodeプラグインを作成することを支援します。JavaScript/TypeScriptモジュール向けに、プラグイン構造、イベントAPI仕様、および実装パターンを提供します。カスタムイベント駆動ロジックでOpenCode AIアシスタントのライフサイクルをインターセプト、監視、または拡張する必要がある場合にご利用ください。
sglang
メタSGLangは、高性能なLLMサービングフレームワークであり、RadixAttentionプレフィックスキャッシュを活用したJSON、正規表現、エージェントワークフロー向けの高速で構造化された生成を特長とします。特にプレフィックスが繰り返されるタスクにおいて、大幅に高速な推論を実現し、複雑な構造化出力やマルチターン対話に最適です。制約付きデコードが必要な場合や、広範なプレフィックス共有を伴うアプリケーションを構築する場合は、vLLMなどの代替案ではなくSGLangを選択してください。
