A skill your agent uses when an agent renders rich UI back to a client surface (cards, dashboards, forms, modals) using the A2UI v0.8.0 declarative protocol.

Apache-2.0Auto-check passed

Install A2ui Rendering

skills CLI
$ npx skills add GoogleCloudPlatform/race-condition --skill a2ui-rendering -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install GoogleCloudPlatform/race-condition a2ui-rendering --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/GoogleCloudPlatform/race-condition.git skills-src && mkdir -p .claude/skills && cp -r skills-src/agents/skills/a2ui-rendering .claude/skills/a2ui-rendering && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
a2ui-rendering
GitHub stars
234
Token cost
~1k tokens
SKILL.md length
318 words
Files
4
Skills in repo
16
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when an agent renders rich UI back to a client surface (cards, dashboards, forms, modals) using the A2UI v0.8.0 declarative protocol.

  • An agent renders rich UI back to a client surface (cards
  • SKILL.md covers When to Compose A2UI, Workflow, Message Structure and Typed Value Wrappers, plus 4 more sections
  • Runs Python scripts from its folder
  • Modals) using the A2UI v0.8.0 declarative protocol

What it does

A2ui Rendering is an agent skill from GoogleCloudPlatform/race-condition. Use when an agent renders rich UI back to a client surface (cards, dashboards, forms, modals) using the A2UI v0.8.0 declarative protocol. Required whenever the response should display structured components rather than plain text, or whenever the validateandemita2ui tool is in scope.

Its SKILL.md is about 1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `components.md`, `examples.md` and `tools.py`).

The repository describes itself as: The open source multi-agent simulation from the Developer Keynote at Google Cloud Next '26. A deployable reference architecture for autonomous AI agents using Gemini and ADK. The licence is Apache-2.0.

When your agent uses it

  • An agent renders rich UI back to a client surface (cards
  • Modals) using the A2UI v0.8.0 declarative protocol

Example prompts

  • “/a2ui-rendering”

Requirements

  • Python 3

What it can do on your machine

Read from SKILL.md and the folder at commit 26efc1b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Python), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

A2ui Rendering loads about 1k tokens when it runs. Until then it costs about 75 tokens; SKILL.md has 318 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~75
When it runs · the whole SKILL.md, loaded when a task matches
~1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from GoogleCloudPlatform/race-condition at commit 26efc1b, republished under its Apache-2.0 licence (© GoogleCloudPlatform). 318 words, ~1,030 tokens.

Download SKILL.mdSave it as .claude/skills/a2ui-rendering/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
a2ui-rendering
description
Use when an agent renders rich UI back to a client surface (cards, dashboards, forms, modals) using the A2UI v0.8.0 declarative protocol. Required whenever the response should display structured components rather than plain text, or whenever the validate_and_emit_a2ui tool is in scope.
license
Apache-2.0

A2UI Rendering

A2UI is a declarative JSON protocol for delivering rich UI from agents to client surfaces. UI is composed as a flat list of components where layout containers reference children by ID. The protocol enforces typed value wrappers and a fixed catalog of 18 primitives.

When to Compose A2UI

Compose A2UI only in response to a user message that needs rich visual output. Do not generate A2UI on session creation or proactively. Plain text remains the default for narrative responses.

Workflow

A2UI Render Progress:
- [ ] Decide what information to present
- [ ] Choose primitives (Text, Card, Column/Row, etc.)
- [ ] Compose the surfaceUpdate JSON with unique component IDs
- [ ] Call validate_and_emit_a2ui with the surfaceUpdate JSON
- [ ] If validation fails, fix the violations and re-validate
- [ ] Compose the beginRendering JSON pointing to the root component
- [ ] Call validate_and_emit_a2ui with the beginRendering JSON
- [ ] Wrap both validated payloads in ```a2ui markdown fences

validate_and_emit_a2ui MUST be called twice per surface: once for surfaceUpdate and once for beginRendering. Without beginRendering, the frontend will not render the surface.

<!-- [START a2ui_skill_message_structure] -->

Message Structure

surfaceUpdate (defines components)
json
{
  "surfaceUpdate": {
    "surfaceId": "my-surface",
    "components": [
      {"id": "unique-id", "component": {"TypeName": { ...props }}}
    ]
  }
}
  • surfaceId: unique identifier for this UI surface.
  • components: flat array of component definitions (NOT nested trees).
  • Each component has id (unique string) and component (object with exactly one key = the type name).
beginRendering (tells the frontend which component is root)
json
{
  "beginRendering": {
    "surfaceId": "my-surface",
    "root": "root-component-id"
  }
}
  • surfaceId: must match the surfaceUpdate's surfaceId.
  • root: the id of the outermost component (usually a Card).
<!-- [END a2ui_skill_message_structure] -->
<!-- [START a2ui_skill_wrappers] -->

Typed Value Wrappers

CRITICAL: Never use raw JSON primitives. All values MUST be wrapped.

TypeWrapperExample
String{"literalString": "value"}"text": {"literalString": "Hello"}
Number{"literalNumber": 42.0}"value": {"literalNumber": 3.14}
Boolean{"literalBoolean": true}"autoplay": {"literalBoolean": true}
Binding{"path": "some.data.path"}"text": {"path": "user.name"}

Raw "value", raw 42, or raw true as property values will be rejected by validate_and_emit_a2ui.

<!-- [END a2ui_skill_wrappers] -->

Container Children

Layout containers reference children by ID:

  • Multiple children: "children": {"explicitList": ["child-id-1", "child-id-2"]} (NEVER raw arrays)
  • Single child: "child": "child-id" (used by Card, Button)

Component ID Rules

  • IDs MUST be unique within a surfaceUpdate.
  • Use descriptive names: "title-heading", "main-card", "details-column".
  • All ID references (child, children.explicitList, entryPointChild, contentChild, tabItems[].child) MUST resolve to IDs in the same components array.

Component Catalog

For the full catalog of 18 primitives, with required and optional props plus per-type notes, see components.md.

Examples

For three complete surfaceUpdate + beginRendering payloads (simple info card, data list card, dashboard with action button), see examples.md.

© GoogleCloudPlatform, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files in agents/skills/a2ui-rendering of GoogleCloudPlatform/race-condition.

  • SKILL.md
  • components.md
  • examples.md
  • tools.py

Open the folder on GitHubat commit 26efc1b

Compare with similar skills

A2ui Rendering next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

A2ui Rendering compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
A2ui Rendering this skillGoogleCloudPlatform/race-condition234—~1kAutomated safety check: PassApache-2.0
Markdown Renderingsickn33/agentic-awesome-skills47k1 repos~751Automated safety check: PassMIT
Render Blockingthedaviddias/Front-End-Checklist74k—~430Automated safety check: PassMIT
RenderLeoYeAI/openclaw-master-skills2.2k—~4.8kAutomated safety check: PassMIT
Workspace Surface Auditaffaan-m/ECC274k3 repos~1.3kAutomated safety check: NotesMIT
A2uiPrism-Shadow/penguin-harness2.5k—~3kAutomated safety check: PassApache-2.0

Similar skills

  • Markdown Rendering

    sickn33/agentic-awesome-skills

    Open Markdown reliably in cmux panes and recover from blank rendered surfaces.

    47k GitHub starsUsed in 1 repo~751 tokens
    Documents & OfficeAuto-check passed
  • Render Blocking

    thedaviddias/Front-End-Checklist

    A skill your agent uses when auditing slow page loads, heavy assets, or rendering delays related to Eliminate render-blocking resources.

    74k GitHub stars~430 tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Render

    LeoYeAI/openclaw-master-skills

    Deploy and operate apps on Render (Blueprint + one-click Dashboard deeplink, same flow as Codex render-deploy).

    2.2k GitHub stars~4.8k tokensUpdated 2 mo ago
    Productivity & AutomationAuto-check passed
  • Audit the active repo, MCP servers, plugins, connectors, env surfaces, and harness setup, then recommend the highest-value ECC-native skills, hooks, agents, and operator workflows.

    274k GitHub starsUsed in 3 repos~1.3k tokens
    Agent WorkflowsAuto-check: notes
  • A2ui

    Prism-Shadow/penguin-harness

    Make a reply easier to read and act on with rich blocks inside ordinary Markdown — a choice the user picks from, a form that collects several answers, a procedure as steps with warnings in place, a…

    2.5k GitHub stars~3k tokensUpdated today
    DevelopmentAuto-check passed
  • Multi Surface Render

    yonatangross/orchestkit

    Multi-surface rendering with json-render — one JSON spec produces React web, Next.js, React Native, Ink terminal UIs, PDFs, emails, Remotion videos, OG images, and 3D scenes.

    288 GitHub stars~4k tokensUpdated yesterday
    Media & CreativeAuto-check passed

More from GoogleCloudPlatform/race-condition

All 16 skills in this repo
  • Gis Spatial Engineering

    GoogleCloudPlatform/race-condition

    A skill your agent uses when the marathon plan needs a 26.2-mile physical route generated from road-network GeoJSON, or when the request mentions traffic impact, route variety via seed, finishing…

    234 GitHub stars~672 tokensUpdated 2 days ago
    Auto-check passed
  • Contributing

    GoogleCloudPlatform/race-condition

    Guides the developer workflow for contributing to Race Condition.

    234 GitHub stars~930 tokensUpdated 2 days ago
    Auto-check passed
  • Deploying

    GoogleCloudPlatform/race-condition

    Guides deployment of Race Condition to a GCP project. An agent skill from GoogleCloudPlatform/race-condition.

    234 GitHub stars~3k tokensUpdated 2 days ago
    Auto-check passed
  • Exploring The Codebase

    GoogleCloudPlatform/race-condition

    Explains the Race Condition architecture, the design decisions behind it, and where to read code first.

    234 GitHub stars~2.6k tokensUpdated 2 days ago
    Auto-check passed
  • Getting Started

    GoogleCloudPlatform/race-condition

    Guides setup of the Race Condition project from clone to running simulation.

    234 GitHub stars~1k tokensUpdated 2 days ago
    Auto-check: notes
  • Preparing The Race

    GoogleCloudPlatform/race-condition

    A skill your agent uses when the simulator receives a validated plan from the planner and must initialize the race: parsing the plan, spawning runner agents, starting the telemetry collector, and…

    234 GitHub stars~563 tokensUpdated 2 days ago
    Auto-check passed

Questions about A2ui Rendering

What does A2ui Rendering do?

A skill your agent uses when an agent renders rich UI back to a client surface (cards, dashboards, forms, modals) using the A2UI v0.8.0 declarative protocol. A2ui Rendering is an agent skill from GoogleCloudPlatform/race-condition.0 declarative protocol.

When should I use A2ui Rendering?

A2ui Rendering fits situations like: an agent renders rich UI back to a client surface (cards; modals) using the A2UI v0.8.0 declarative protocol.

How do I install A2ui Rendering in Claude Code?

Run `npx skills add GoogleCloudPlatform/race-condition --skill a2ui-rendering -a claude-code`. Or copy the skill folder (agents/skills/a2ui-rendering in GoogleCloudPlatform/race-condition) into .claude/skills/a2ui-rendering in your project. Claude Code loads it when a task matches its description.

How do I install A2ui Rendering in Codex?

Run `npx skills add GoogleCloudPlatform/race-condition --skill a2ui-rendering -a codex`. Or copy the skill folder (agents/skills/a2ui-rendering in GoogleCloudPlatform/race-condition) into .agents/skills/a2ui-rendering in your project. Codex loads it when a task matches its description.

Can I use A2ui Rendering in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add GoogleCloudPlatform/race-condition --skill a2ui-rendering -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/a2ui-rendering, .gemini/skills/a2ui-rendering, .github/skills/a2ui-rendering and .opencode/skills/a2ui-rendering in your project.

What does A2ui Rendering need to run?

Going by SKILL.md and its folder, A2ui Rendering needs Python for the scripts in its folder. Our summary lists: Python 3.

Does A2ui Rendering access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is A2ui Rendering safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does A2ui Rendering use?

A2ui Rendering is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does A2ui Rendering use?

About 1k tokens (SKILL.md is roughly 4.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to A2ui Rendering?

Skills that share tags, products or a category with A2ui Rendering: Markdown Rendering (sickn33/agentic-awesome-skills, 47k stars), Render Blocking (thedaviddias/Front-End-Checklist, 74k stars), Render (LeoYeAI/openclaw-master-skills, 2.2k stars) and Workspace Surface Audit (affaan-m/ECC, 274k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains A2ui Rendering?

GoogleCloudPlatform (a GitHub organization) maintains it in GoogleCloudPlatform/race-condition, which has 234 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on October 5, 2026.

Source: GoogleCloudPlatform/race-condition on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.