Ask for an interface
The user asks for a task-specific view.
Generative UI as a validated data contract
Ask for an outcome. The model returns a safe JSONX payload. Your app renders it through approved React components while the host controls safety, design, and behavior.
npm i jsonx react react-domCreate a support triage screen for a refund request.
{
"component": "DemoShell",
"props": { "title": "Support Triage" },
"children": [
{ "component": "MetricRow", "props": { "items": [
{ "label": "Open cases", "value": "18" },
{ "label": "Refund risk", "value": "Medium" }
] } }
]
}The middle path
Text answers are limited when users need forms, dashboards, triage views, approval flows, and task-specific controls. Generated source code is useful for durable apps, but it is too slow and risky for every response. JSONX keeps runtime UI as data that can be validated, logged, replayed, and audited.
How it works
The user asks for a task-specific view.
The model returns one JSON object using approved components.
The host checks component names, props, children, and action names.
JSONX renders through the trusted registry. Buttons call local named actions.
Live browser demo
Start with a sample, paste a JSONX payload, or connect your own model endpoint to see structured responses render as cards, tables, actions, quizzes, and polls instead of plain text.
Agent skills
Use the core JSONX skill for package work. Add the generative UI skill when you want agents to produce validated interface payloads. Codex, Claude Code, and OpenCode can install either family from the same repo with one installer command.
Plugins and hosted renderer
Core JSONX and generative UI are separate plugin packages for Codex and Claude Code. The Apps SDK renderer provides the ChatGPT inline UI path. Optional animation belongs in the renderer, not in model output or the core npm package.
Install jsonx-codex-plugin for package work or jsonx-generative-ui-plugin for generated UI, validator fixtures, app wiring templates, and the repo-local Codex marketplace flow.
Install claude-jsonx-plugin for package help or claude-jsonx-generative-ui-plugin for generated UI handoff files.
Provides the stateless MCP tool and iframe renderer for ChatGPT Apps SDK UI. The hosted endpoint is live at https://jsonx-renderer-app.netlify.app/mcp. GSAP motion is available as a renderer-owned option.
Terminal and IDE agents can write .jsonx/ui/*.json files using the same contract. VS Code or a local preview can render those files without changing the root JSONX npm package.
Review kit
The current kit gives reviewers one place to inspect the Codex plugins, Claude Code plugins, ChatGPT Apps renderer metadata, screenshots, prompt evidence, package-boundary checks, and remaining manual gates.
Use the queue as the handoff for package review. It lists each submission, required manual checks, public evidence URLs, receipt fields, and recorder commands to run after marketplace forms are sent.
Read queueQueue JSONOpenAI core packetOpenAI UI packetClaude core packetClaude UI packet
The manifest and full-objective audit map generated packages, app metadata, screenshots, prompt cases, hosted MCP checks, browser demo checks, issue tracking with requirement status, gate access, and npm package-boundary evidence.
Artifact manifestObjective auditIssue evidenceSource docsGate accessReadiness checklistAudit checker
Review the listing copy for the core JSONX plugin and the generative UI plugin before submitting to the OpenAI/Codex and Claude Code channels.
OpenAI coreOpenAI generative UIClaude coreClaude generative UI
After app IDs, ChatGPT developer-mode transcripts, Claude Code smoke results, policy review, or marketplace receipts exist, record them with the controlled CLI and rerun the checkers.
External gate runbookReceipt recorderGate checkerPublic URL checker
VS Code renderer
The VS Code extension watches .jsonx/ui/*.json files and opens a webview for safe JSONX payloads. Codex, Claude Code, or a terminal agent can write the same handoff file when they are connected to the workspace.
Write generated UI to .jsonx/ui/<short-purpose>.json using the jsonx.generative-ui.v1 envelope. The extension validates the payload before rendering quiz controls, slider polls, review panels, tables, checklists, and action panels.
Safe generated-output profile
Allowed output is limited to known demo components, approved props, plain text children, arrays of children, quiz questions, slider polls, choice lists, and named local actions. Dangerous evaluation props, injected components, raw HTML, inline event handler strings, unknown props, unknown components, arbitrary CSS, and stored API keys are blocked.