Use when adding A2UI rendering to any AG-UI-supported framework or custom AG-UI application, scaffolding an AG-UI app that should render A2UI, adapting an AG-UI integration to emit A2UI surfaces, or wiring the AG-UI A2UI middleware/toolkit with a compatible renderer.
65
78%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./skills/ag-ui-a2ui-integration/SKILL.mdUse this skill to add A2UI rendering to an AG-UI application. Treat AG-UI as
the transport and agent integration layer, @ag-ui/a2ui-middleware as the
server-side bridge that detects and paints A2UI operations, and A2UI as the UI
payload format that the client renderer displays.
This is a developer-facing skill artifact. It is meant to be loaded by coding agents and used against a real app or repo, not published as a docs page.
a2ui_operations envelope with
createSurface, updateComponents, and updateDataModel.generate_a2ui) delegates to a
sub-agent that streams render_a2ui args through A2UIMiddleware.references/framework-adapters.md, or use that reference to find the
closest AG-UI integration pattern. Preserve the app's existing agent
architecture.references/a2ui-runtime-and-renderer.md. Avoid double-applying
A2UIMiddleware; use either runtime-level A2UI config or per-agent
agent.use(new A2UIMiddleware(...)) for a given agent.a2ui={{ catalog }}) auto-enables A2UI and auto-derives
defaultCatalogId from the catalog's id. Only when you are not forwarding a
catalog, ensure the middleware or adapter sets a defaultCatalogId matching
the renderer-registered catalog.references/verification.md: AG-UI stream,
a2ui-surface activity snapshots or a2ui_operations, rendered A2UI
surface, and a user interaction flowing back through AG-UI.This skill is not limited to the framework examples below. For any target
framework, first check the AG-UI repository's integrations/ directory, the
AG-UI docs, the framework adapter's A2UI files, and the current CLI source. If
AG-UI supports the framework, use that integration's documented package,
endpoint helper, A2UI tool factory, or scaffold path. If there is no framework
A2UI adapter, implement the custom AG-UI agent path, return a2ui_operations
from backend tools for fixed layouts, and keep the middleware/client wiring the
same.
Use the CLI flags that exist in sdks/typescript/packages/cli/src/index.ts.
The table is a quick reference for known scaffold paths, not the full AG-UI
support matrix. Do not invent flags.
| Framework | CLI flag |
|---|---|
| ADK | --adk |
| LangGraph Python | --langgraph-py |
| LangGraph JavaScript | --langgraph-js |
| CrewAI Flows | --crewai-flows |
| Mastra | --mastra |
| Pydantic AI | --pydantic-ai |
| LlamaIndex | --llamaindex |
| Agno | --agno |
| AG2 | --ag2 |
Strands has AG-UI integration packages and examples, but no Strands CLI flag is present in the current AG-UI CLI source. Use the Strands integration docs instead of guessing a scaffold command.
A2UIMiddleware or runtime A2UI config on the
server, and an A2UI-capable renderer/catalog on the client.generate_a2ui; the sub-agent
should stream render_a2ui args so the middleware can progressively paint.a2ui_operations envelope from backend tools
rather than asking the model to invent component trees.createSurface once per surfaceId; use update operations for later
changes.catalogId is derived automatically;
otherwise the host/middleware/adapter should stamp a defaultCatalogId that
matches the client-registered catalog.references/framework-adapters.md - framework-specific AG-UI adapter
patterns.references/a2ui-runtime-and-renderer.md - server/client A2UI wiring and
catalog patterns.references/verification.md - checks to confirm the integration works.sources.md - source files and docs used by this skill.34c3e0c
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.