--- name: a2a-conformance description: Evaluate an existing Agent-to-Agent (A2A) protocol service or agent for specification compliance, security best practices, and quality design. Uses static inspection, a2acli probes, and official TCK orchestration to produce a structured conformance report with stable check IDs. Use when asked to audit an A2A agent, run conformance checks, evaluate a service against the A2A spec, or check compatibility. license: Apache-2.0 compatibility: Requires a2acli binary for live probes. Optional python3/uv/git for Tier 2 TCK. metadata: category: protocol-engineering --- # A2A Conformance & Audit Skill Evaluate any A2A Protocol v1.0 remote agent (server) implementation for normative spec compliance, multi-transport behavioral equivalence, security, and quality design. ## Core Evaluation Principles 1. **RFC 2119 Normative Strictness:** Every MUST failure is blocking and results in a `NOT CONFORMANT` verdict. No exceptions. 2. **Multi-Tier Assessment:** Escalate from static metadata review (Tier 0) to active `a2acli` black-box probes (Tier 1) to official `a2a-tck` execution (Tier 2). 3. **Stable Check IDs:** Map all findings to stable `A2A--` IDs defined in the conformance checklist. 4. **Actionable Remediation:** Always provide specific, copy-pasteable SDK code/configuration fixes for every identified warning or failure. ## Reference Manifest (Progressive Disclosure) Load additional reference documents as needed for each phase of review: - [references/checklist.md](references/checklist.md) — Master normative checklist (~110 rules across 9 areas with stable `A2A-*` IDs and spec citations). - [references/static-review.md](references/static-review.md) — Tier 0 instructions for Agent Card JSON inspection and Go/Python SDK code audits. - [references/probes.md](references/probes.md) — Tier 1 `a2acli` probe battery commands and expected JSON assertions. - [references/tck.md](references/tck.md) — Tier 2 instructions for orchestrating `a2aproject/a2a-tck` via Python/uv. - [references/scoring.md](references/scoring.md) — Verdict rules (`CONFORMANT`, `CONFORMANT WITH WARNINGS`, `NOT CONFORMANT`), area summary tables, and worked example report. ## Step-by-Step Execution Workflow ### Step 1: Identify Evaluation Target & Scope Determine the target A2A service URL (e.g. `http://localhost:9001`) and available access level: - **Card-only / Static source:** Perform Tier 0 static review. - **Live HTTP/gRPC endpoint:** Perform Tier 0 + Tier 1 probes. - **Full compliance validation requested:** Perform Tier 0 + Tier 1 + Tier 2 TCK. ### Step 2: Execute Tier 0 Static Review 1. Fetch or inspect `/.well-known/agent-card.json`. 2. Validate required fields (`name`, `version`, `supportedInterfaces`, `skills`, `capabilities`). 3. Follow guidelines in [references/static-review.md](references/static-review.md) and check against `A2A-CARD-*` rules in [references/checklist.md](references/checklist.md). ### Step 3: Execute Tier 1 Live Server Probes Run the automated probe script or execute `a2acli` commands manually: ```bash # Automated probe battery ./skills/a2a-conformance/scripts/probe.sh http://127.0.0.1:9001 # Manual key probes a2acli discover --service-url http://127.0.0.1:9001 --output json a2acli conformance --service-url http://127.0.0.1:9001 --output json a2acli send "conformance probe" --service-url http://127.0.0.1:9001 --wait --output json a2acli list tasks --service-url http://127.0.0.1:9001 --limit 5 --output json ``` Evaluate outputs against [references/probes.md](references/probes.md) and record `PASS`, `WARN`, or `FAIL` for each `A2A-*` ID. ### Step 4: Execute Tier 2 Official TCK (Optional / Full Conformance) If the user requests full TCK verification or a formal compatibility certificate: ```bash ./skills/a2a-conformance/scripts/run-tck.sh http://127.0.0.1:9001 ``` Review `reports/compatibility.json` generated by the TCK per [references/tck.md](references/tck.md). ### Step 5: Generate Conformance Report 1. Use the report template at `assets/report.template.md`. 2. Calculate MUST pass/fail counts and SHOULD pass/fail counts. 3. Apply verdict logic from [references/scoring.md](references/scoring.md): - **`CONFORMANT`**: 100% MUST checks pass, 0 MUST failures. - **`CONFORMANT WITH WARNINGS`**: 100% MUST checks pass, but SHOULD warnings or quality recommendations exist. - **`NOT CONFORMANT`**: 1 or more MUST checks fail. 4. Output the filled markdown report to the user. ## Mandatory Verification Checklist When generating a conformance report, ensure: - [ ] Every finding cites a stable `A2A--` ID and specification section. - [ ] No MUST failure is marked as optional or ignored. - [ ] Multi-transport equivalence (`A2A-BIND-001`) was verified across all declared interfaces. - [ ] The report includes top 3 actionable remediation steps with code snippets.