SKILL·5E5199

design-a2a-agent-card

pjt222
Aktualisiert 1 month ago
9 Ansichten
26
3
26
Auf GitHub ansehen
Metadesign

Über

Diese Fähigkeit erzeugt ein standardkonformes A2A-Agent-Card-Manifest (`agent.json`), um Ihren Agenten in Multi-Agenten-Systemen auffindbar und interoperabel zu machen. Es definiert die Fähigkeiten, Skills, Authentifizierung und unterstützten Inhaltstypen des Agenten als öffentlichen Vertrag. Verwenden Sie es beim Erstellen, Migrieren oder Integrieren eines Agenten, der mit anderen A2A-konformen Agenten und Registrierungen zusammenarbeiten muss.

Schnellinstallation

Claude Code

Empfohlen
Primär
npx skills add pjt222/agent-almanac -a claude-code
Plugin-BefehlAlternativ
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternativ
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/design-a2a-agent-card

Kopieren Sie diesen Befehl und fügen Sie ihn in Claude Code ein, um diese Fähigkeit zu installieren

Dokumentation

Design A2A Agent Card

Standards-compliant A2A Agent Card → advertises identity, skills, auth, caps for discovery.

Use When

  • Discoverable by other A2A agents
  • Expose caps → multi-agent orchestration
  • Migrate agent → A2A protocol
  • Public contract before impl
  • Integrate → registries

In

  • Required: Agent name + desc
  • Required: Skills list (name, desc, I/O schemas)
  • Required: Base URL host
  • Optional: Auth (none, oauth2, oidc, api-key)
  • Optional: Content types beyond text/plain
  • Optional: Cap flags (streaming, push, state history)
  • Optional: Provider org + URL

Do

Step 1: Identity + desc

1.1. Identity fields:

{
  "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. Desc answers:

  • Domains?
  • Tasks?
  • Limitations?

1.3. Canonical URL → /.well-known/agent.json.

→ Complete identity: name, desc, URL, provider, ver.

If err: Multi-domain → one agent w/ many skills vs many focused agents. A2A favors focused w/ clear bounds.

Step 2: Skills + I/O schemas

2.1. Define each:

{
  "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. Each skill:

  • id: Unique (kebab-case)
  • name: Display
  • description: 1-2 sentences
  • tags: Searchable
  • examples: NL task examples
  • inputModes: MIME accepts
  • outputModes: MIME produces

2.3. Bounds clear + non-overlap. Each task → one skill.

→ Skills array w/ id, name, desc, tags, examples, I/O.

If err: Skills overlap → merge broader w/ more examples. Too broad → split focused.

Step 3: Auth

3.1. Scheme by deploy:

No auth (local/trusted):

{
  "authentication": {
    "schemes": []
  }
}

OAuth 2.0 (rec prod):

{
  "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 (shared-secret):

{
  "authentication": {
    "schemes": ["apiKey"],
    "credentials": {
      "apiKey": {
        "headerName": "X-API-Key"
      }
    }
  }
}

3.2. Min viable:

  • Local dev → none
  • Internal svc → apiKey
  • Public → oauth2 / oidc

3.3. Doc token/key provisioning → provider section or external docs.

→ Auth block matches deploy sec reqs.

If err: No OAuth infra → start apiKey + plan migration. NEVER public w/ none.

Step 4: Caps

4.1. Protocol features:

{
  "capabilities": {
    "streaming": true,
    "pushNotifications": false,
    "stateTransitionHistory": true
  }
}

4.2. Flags by impl:

  • streaming: true if SSE via tasks/sendSubscribe. Real-time progress.
  • pushNotifications: true if webhook callbacks on state. Requires store + call webhooks.
  • stateTransitionHistory: true if full history (submitted, working, completed). Audit.

4.3. Only true if fully supported. Advertising unsupported → breaks interop.

→ Caps obj w/ flags matching impl.

If err: Unsure → false. Add in future. Removing = breaking change.

Step 5: Validate + publish

5.1. Assemble:

{
  "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. Validate:

  • Parse JSON, no syntax errs
  • Required fields (name, desc, url, skills)
  • Each skill: id, name, desc, ≥1 I/O mode
  • URL reachable, card at /.well-known/agent.json

5.3. Publish:

  • Serve → https://<agent-url>/.well-known/agent.json
  • Content-Type: application/json
  • CORS if cross-origin
  • Register → agent directories

5.4. Test discovery:

curl -s https://agent.example.com/.well-known/agent.json | python3 -m json.tool

→ Valid JSON served at well-known URL, parseable by A2A client.

If err: JSON fail → lint. URL unreachable → DNS, SSL, web server. CORS → Access-Control-Allow-Origin.

Check

  • Valid JSON, no syntax errs
  • Required: name, desc, url, skills
  • Each skill: id, name, desc, inputModes, outputModes
  • Auth matches deploy sec
  • Caps reflect impl
  • Served at /.well-known/agent.json + Content-Type
  • A2A clients fetch + parse OK
  • Examples realistic + trigger correct skill

Traps

  • Overpromising caps: streaming: true / pushNotifications: true w/o impl → client fails. Conservative.
  • Vague skill desc: "does data stuff" → no match. Specific I/O + domains.
  • Missing CORS: Browser A2A clients can't fetch w/o CORS.
  • Skill overlap: 2 skills same task → clients can't pick. Clear bounds.
  • Forget default modes: Missing defaultInputModes/defaultOutputModes → clients no MIME.
  • Ver stagnation: Update ver when skills/caps change. Clients cache.
  • Publish before impl: Card = contract. Publishing un-impl'd → runtime fails.

  • implement-a2a-server — server behind card
  • test-a2a-interop — validate conformance + interop
  • build-custom-mcp-server — MCP alt/complement
  • configure-mcp-server — MCP patterns applicable

GitHub Repository

pjt222/agent-almanac
Pfad: i18n/caveman-ultra/skills/design-a2a-agent-card
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams
FAQ

Frequently asked questions

What is the design-a2a-agent-card skill?

design-a2a-agent-card is a Claude Skill by pjt222. Skills package instructions and resources that Claude loads on demand, so Claude can perform design-a2a-agent-card-related tasks without extra prompting.

How do I install design-a2a-agent-card?

Use the install commands on this page: add design-a2a-agent-card to Claude Code as a plugin, or clone its repository into your skills directory, then restart Claude so it picks up the skill.

What category does design-a2a-agent-card belong to?

design-a2a-agent-card is in the Meta category, tagged design.

Is design-a2a-agent-card free to use?

Yes. design-a2a-agent-card is listed on AIMCP and free to install. It runs inside Claude, so no separate service account is required to use the skill itself.

Verwandte Skills

content-collections
Meta

Diese Skill bietet eine produktionsgetestete Einrichtung für Content Collections – ein TypeScript-first-Tool, das Markdown/MDX-Dateien in typsichere Datensammlungen mit Zod-Validierung umwandelt. Verwenden Sie ihn beim Erstellen von Blogs, Dokumentationsseiten oder inhaltsstarken Vite + React-Anwendungen, um Typsicherheit und automatische Inhaltsvalidierung zu gewährleisten. Er behandelt alles von der Vite-Plugin-Konfiguration und MDX-Kompilierung bis hin zur Deployment-Optimierung und Schema-Validierung.

Skill ansehen
polymarket
Meta

Diese Fähigkeit ermöglicht es Entwicklern, Anwendungen mit der Polymarket-Prognosemärkte-Plattform zu erstellen, einschließlich API-Integration für Handel und Marktdaten. Sie bietet außerdem Echtzeit-Datenstreaming über WebSocket, um Live-Trades und Marktaktivitäten zu überwachen. Nutzen Sie sie zur Implementierung von Handelsstrategien oder zur Erstellung von Tools, die Live-Marktaktualisierungen verarbeiten.

Skill ansehen
creating-opencode-plugins
Meta

Diese Fähigkeit unterstützt Entwickler dabei, OpenCode-Plugins zu erstellen, die in über 25 Ereignistypen wie Befehle, Dateien und LSP-Operationen eingreifen. Sie bietet die Plugin-Struktur, Event-API-Spezifikationen und Implementierungsmuster für JavaScript/TypeScript-Module. Nutzen Sie sie, wenn Sie den Lebenszyklus des OpenCode KI-Assistenten mit benutzerdefinierter ereignisgesteuerter Logik abfangen, überwachen oder erweitern müssen.

Skill ansehen
sglang
Meta

SGLang ist ein hochperformantes LLM-Serving-Framework, das sich auf schnelle, strukturierte Generierung für JSON, Regex und agentenbasierte Workflows unter Verwendung seines RadixAttention-Prefix-Cachings spezialisiert. Es bietet deutlich schnellere Inferenz, insbesondere für Aufgaben mit wiederholten Präfixen, was es ideal für komplexe, strukturierte Ausgaben und Mehrfachdialoge macht. Wählen Sie SGLang gegenüber Alternativen wie vLLM, wenn Sie constrained decoding benötigen oder Anwendungen mit umfangreicher Präfix-Weitergabe entwickeln.

Skill ansehen