SuperOptiX AI
Agent-to-Agent (A2A) Interoperability and Optimization Layer
Agent-to-agent communication, without framework lock-in.
Make the agents you already run callable by any other agent, and get them discovered.
What it does
Agents built on different frameworks cannot call each other. A2A is the protocol that lets them, and SuperOptiX gives an agent an A2A interface without asking you to rewrite it.
Point it at an agent you already run. SuperOptiX reads its structure, works out the skills a calling agent would route on, and writes an Agent Card and a conformant server. Your code is not modified.
Being reachable is only half the problem. Whether another agent chooses to call yours depends on how its card describes it, so SuperOptiX also measures that and improves it.
Install
One line, on macOS, Linux and WSL. It installs uv if it is missing, then installs SuperOptiX into an isolated tool environment. It never uses sudo.
curl -fsSL https://superoptix.ai/install.sh | sh
Extras and an exact version can be selected with environment variables:
curl -fsSL https://superoptix.ai/install.sh | SUPEROPTIX_EXTRAS=a2a sh
curl -fsSL https://superoptix.ai/install.sh | SUPEROPTIX_VERSION=0.3.5 sh
If you already have uv and would rather run it yourself:
uv tool install superoptix
To adapt or serve agents over A2A:
uv tool install superoptix --with "superoptix[a2a]"
To add SuperOptiX to an existing project:
uv add superoptix
Adapt an existing agent
super a2a adapt --entrypoint mycrew:crew --framework crewai
This writes three files to ./a2a:
| File | Contents |
|---|---|
agent-card.json |
A2A 1.0 Agent Card, advertising both the 1.0 and 0.3 spec lines |
a2a_server.py |
ASGI application that imports your agent and serves it |
agentspec.json |
The generated intermediate representation |
Serve it with any ASGI host:
uvicorn a2a.a2a_server:app --port 8000
curl localhost:8000/.well-known/agent-card.json
The framework is detected when you omit --framework. Use --url to set the
address the card advertises, and --out to choose the output directory.
Supported runtimes
| Runtime | --framework |
Skills derived from |
|---|---|---|
| DSPy | dspy |
Signature instructions, inputs and outputs |
| CrewAI | crewai |
Crew tasks, or agent roles when there are none |
| OpenAI Agents SDK | openai |
Tool names and descriptions |
| Pydantic AI | pydantic-ai |
Function toolset entries |
| Google ADK | google-adk |
Agent description, plus sub-agents |
| Claude Agent SDK | claude-sdk |
Agent definition or system prompt |
| DeepAgents | deepagents |
Subagent names and descriptions |
| Microsoft Agent Framework | microsoft |
Agent description and instructions |
Install the matching extra to work with a runtime, for example
uv tool install superoptix --with "superoptix[frameworks-openai]".
CrewAI installs separately, because it requires chromadb~=1.1.0 while the
vector store extras require chromadb>=1.5.5:
uv tool install superoptix --with "crewai>=1.15"
Conformance
Measured against the official A2A Technology Compatibility Kit:
| Level | Passed / exercised | Not exercised |
|---|---|---|
| MUST | 73 / 73 | 21 |
| SHOULD | 7 / 7 | 4 |
| MAY | 4 / 4 | 0 |
Zero failures. Every requirement the TCK is able to exercise against the conformance harness passes.
The TCK also prints a headline percentage, currently 77.7% at MUST. That figure counts the 25 requirements it cannot exercise here as non-compliant. They break down as 13 for authentication and TLS, 4 for Agent Card JWS signatures, 4 for cross-binding equivalence, 3 for version negotiation probes and 1 for the gRPC binding. None of them are failures, and none can be exercised until those features exist. Authentication, card signing and a gRPC binding are not implemented today.
Run it yourself with super a2a adapt, the TCK SUT harness and
.github/workflows/a2a-conformance.yml, which is a manual workflow that fails
on any conformance failure rather than on a percentage.
An adapted agent scores lower on the headline figure than the SuperOptiX endpoint because the TCK drives protocol states through magic messageId prefixes that a production agent should not honour.
A live endpoint runs at a2a.superoptix.ai, with its Agent Card published at superoptix.ai/.well-known/agent-card.json.
Protocol surface
All eleven A2A 1.0 methods answer. Push notification configuration and the extended agent card return the errors the specification defines for an agent that does not offer them.
Both the JSON-RPC 2.0 and HTTP+JSON bindings are served. One endpoint handles
A2A 1.0 and 0.3, selected with the A2A-Version request header, because five of
the eight supported runtimes declare no A2A dependency and the three that do sit
below 1.0.
gRPC and signed Agent Cards are not implemented.
Agents adapted by SuperOptiX keep using their MCP tools. SuperOptiX changes how an agent is reached rather than how it works, and exposing an agent as an MCP server is not supported.
Discoverability
A calling agent decides whether to invoke yours by reading skills[].description
on your card. Those strings are the routing interface.
Four sibling skills, identical queries, differing only in how each describes itself:
| Catalogue | Invocation | Discovery |
|---|---|---|
| Vague | 12.5% | 75% |
| Specific | 100% | 100% |
superoptix.protocols.a2a.routing scores this, and GEPA improves it by
rewriting the descriptions. On the vague catalogue above it raises invocation
from 12.5% to 75%.
Compiling from a specification
SuperOptiX also compiles agents from SuperSpec, a declarative YAML format, into native code for any supported runtime.
super agent pull developer
super agent compile developer --framework dspy
super agent run developer --framework dspy --goal "Design a migration strategy"
GEPA optimization is available on the compiled agent:
super agent compile developer --framework dspy --optimize
super agent optimize developer --framework dspy --auto light
Release records
super agent evaluate can write an Agent Quality Record: what was measured,
what held, and the way back.
super agent evaluate developer --gauge-out record.yaml
The format is SuperGauge. The
record carries the playbook digest, the scenario manifest, the agent's declared
capabilities, and interop.routing_invocation, which reports how often a calling
agent selects yours from a catalogue. That becomes a quality dimension once
agents route work to one another.
See Agent Quality Records.
Documentation
- Adapting an existing agent
- A2A conformance
- Routing quality
- Quick start
- CLI reference
- Runtime feature matrix
- Troubleshooting
Full documentation is at superagenticai.github.io/superoptix.
Telemetry
SuperOptiX collects anonymous usage data. Disable it with:
export SUPEROPTIX_TELEMETRY=false
Links
- Website: superoptix.ai
- Package: pypi.org/project/superoptix
- Source: github.com/SuperagenticAI/superoptix
- Changelog: CHANGELOG.md
License
Apache License 2.0. See LICENCE.
Release files for superoptix 0.3.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| superoptix-0.3.7.tar.gz | 5.6 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| superoptix-0.3.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.9 MB
Release files / superoptix-0.3.7.tar.gz
| Download URL | superoptix-0.3.7.tar.gz |
|---|---|
| Size | 5.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
61318a70e3b3363d9fe8c30ed9239266cb606ff507aca31e8a21c96400c38679
|
|
BLAKE2b-256 checksum How to use checksums |
7822115cbddc62893cb5c424e941da307fdc4091bd87d4bbc6fdd830faae1ec8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / superoptix-0.3.7-py3-none-any.whl
| Download URL | superoptix-0.3.7-py3-none-any.whl |
|---|---|
| Size | 1.4 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6a4690c863f52b1e646af03c1b67031bb47c239848f3962b9cda0f023914d9c3
|
|
BLAKE2b-256 checksum How to use checksums |
6f4d5570482781b4128a821003afb589dc2d4c503d340a3bde96bf90b2d578dd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|