Official CapiscIO GitHub Action to validate A2A (Agent-to-Agent) Agent Cards. Features schema validation, cryptographic verification, and live endpoint testing with 3D quality scoring.
validate-a2a is an early-stage TypeScript project in the AI payments / x402 ecosystem, focused on a2a, a2a-protocol, agent-card, agent-to-agent. It currently has 1 GitHub stars and 0 forks, and sits alongside related tools like capiscio-python, capiscio-sdk-python, capiscio-python, a2a-go, a2a-demos, tap.
GitHub Action to validate A2A protocol agent cards with three-dimensional scoring, cryptographic verification, and live endpoint testing
Powered by capiscio-core - High-performance Go binary (v2.2.0)
✅ Three-Dimensional Scoring - Compliance, Trust, and Availability evaluation
✅ JWS Signature Verification - Cryptographic authenticity validation
✅ Live Endpoint Testing - Real A2A protocol message testing
✅ Production Readiness - Clear thresholds for deployment decisions
✅ Rich Outputs - Scores, errors, warnings available for downstream steps
✅ Zero Dependencies - Uses standalone binary, no npm install required
name: Validate Agent Card
on: [push, pull_request]
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Validate A2A Agent Card
uses: capiscio/validate-a2a@v2
with:
agent-card: './agent-card.json'
- name: Validate for Production
uses: capiscio/validate-a2a@v2
with:
agent-card: './agent-card.json'
strict: true
test-live: true
- name: Validate Agent Card
id: validate
uses: capiscio/validate-a2a@v2
with:
agent-card: './agent-card.json'
- name: Check Production Readiness
run: |
echo "Result: ${{ steps.validate.outputs.result }}"
echo "Compliance Score: ${{ steps.validate.outputs.compliance-score }}"
echo "Trust Score: ${{ steps.validate.outputs.trust-score }}"
echo "Production Ready: ${{ steps.validate.outputs.production-ready }}"
- name: Validate Remote Agent
uses: capiscio/validate-a2a@v2
with:
agent-card: 'https://example.com/agent-card.json'
test-live: true
- name: Comprehensive Validation
uses: capiscio/validate-a2a@v2
with:
agent-card: './agent-card.json'
strict: true
test-live: true
skip-signature: false
timeout: 15000
fail-on-warnings: true
| Input | Description | Required | Default |
|---|---|---|---|
agent-card |
Path to agent-card.json or URL | No | ./agent-card.json |
strict |
Enable strict validation mode | No | false |
test-live |
Test live endpoint with real messages | No | false |
skip-signature |
Skip JWS signature verification | No | false |
timeout |
Request timeout in milliseconds | No | 10000 |
fail-on-warnings |
Fail action on validation warnings | No | false |
| Output | Description | Example |
|---|---|---|
result |
Validation result | passed or failed |
compliance-score |
Compliance score (0-100) | 95 |
trust-score |
Trust score (0-100) | 72 |
availability-score |
Availability score or "not-tested" | 88 or not-tested |
production-ready |
Meets production thresholds | true or false |
error-count |
Number of validation errors | 0 |
warning-count |
Number of validation warnings | 2 |
Compliance (0-100) - A2A v0.3.0 specification adherence
Trust (0-100) - Security and authenticity
Availability (0-100) - Operational readiness (requires test-live: true)
name: Post-Deploy Validation
on:
deployment_status:
jobs:
validate:
if: github.event.deployment_status.state == 'success'
runs-on: ubuntu-latest
steps:
- name: Validate Deployed Agent
uses: capiscio/validate-a2a@v2
with:
agent-card: ${{ secrets.DEPLOYED_AGENT_URL }}
strict: true
test-live: true
name: PR Validation
on: [pull_request]
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Validate Agent Card
id: validate
uses: capiscio/validate-a2a@v2
with:
agent-card: './agent-card.json'
- name: Comment on PR
uses: actions/github-script@v7
with:
script: |
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: `## Validation Results
📊 **Scores:**
- Compliance: ${{ steps.validate.outputs.compliance-score }}/100
- Trust: ${{ steps.validate.outputs.trust-score }}/100
- Availability: ${{ steps.validate.outputs.availability-score }}
🎯 **Production Ready:** ${{ steps.validate.outputs.production-ready }}
`
})
name: Multi-Environment Validation
on: [push]
jobs:
validate:
runs-on: ubuntu-latest
strategy:
matrix:
environment: [dev, staging, prod]
steps:
- name: Validate ${{ matrix.environment }}
uses: capiscio/validate-a2a@v2
with:
agent-card: https://api-${{ matrix.environment }}.example.com/agent-card.json
strict: ${{ matrix.environment == 'prod' }}
test-live: true
This action downloads the capiscio-core binary on first run and verifies its SHA-256 checksum
against the published checksums.txt from the GitHub release.
| Environment Variable | Description | Default |
|---|---|---|
CAPISCIO_SKIP_CHECKSUM |
Skip binary checksum verification (true/false) |
false |
CAPISCIO_CORE_VERSION |
Override the core binary version | Action default |
Note: Setting
CAPISCIO_SKIP_CHECKSUM=trueis not recommended for production workflows.
Apache-2.0 - See LICENSE for details
🚀 Access and manage the CapiscIO CLI easily with this Python wrapper, ensuring optimal performance across your system and architecture.
Runtime security middleware for A2A (Agent-to-Agent) protocol agents. Provides always-on validation, signature verification, and rate limiting for AI agent interactions.
The official CapiscIO CLI tool for validating A2A agents. A lightweight Python wrapper that automatically manages the capiscio-core binary.
Golang SDK for A2A Protocol
Demo agents showcasing CapiscIO Agent Guard and MCP Guard — trust badges, identity verification, and tool-level authorization for A2A and MCP protocols
Cross-vendor agent-to-agent protocol — Claude, Codex, and Gemini communicate via file-based P2P messaging.
A local-first AI agent with persistent memory, emotional intelligence, and a peer-to-peer skills economy.
The trust layer for agent-to-agent commerce — natural-language mandates, ERC-7710 delegated permissions, x402 payments, escrow, and dispute resolution as one open, catch-all Agent Skill / Claude Code plugin.
Agent behavior that compiles
The A2A x402 Extension brings cryptocurrency payments to the Agent-to-Agent (A2A) protocol, enabling agents to monetize their services through on-chain payments. This extension revives the spirit of HTTP 402 "Payment Required" for the decentralized agent ecosystem.
Aser is a lightweight, self-assembling AI Agent frame.
A small, powerful, open-source CLI coding agent that works with open models.