json-ui-schemaslisted
Install: claude install-skill fusedio/skills
# Fused JSON UI widget schemas
Reference for every supported widget `type` and its prop schema.
The full JSON Schema for each component (with descriptions, defaults, required fields, and enum values) is available from the fused CLI. See the `fused-cli` skill for how to read it. Read it before authoring or modifying widget JSON.
The authoritative reference to JSON schema is available from the CLI. There is also a reference in `reference.md`, but it is an offline copy that may be out of date.
JSON UI files are in JSON5 format, which may have trailing commas, comments, etc.
## Widget node structure
Every widget in a JSON UI file follows this envelope:
```json
{
"type": "<widget-type>",
"props": {
/* ALL component properties go here: value, sql, param, style, label, chart options, etc. */
},
"children": [
/* child widget nodes — only valid for container types: div, form, sql-runner */
]
}
```
**Critical rules:**
- ALL component properties (`value`, `sql`, `param`, `style`, `label`, chart options, etc.) MUST be nested under `"props"`. Never place them directly on the node object.
- `"children"` is an array of widget nodes. Only container types (`div`, `form`, `sql-runner`) accept children. Omit it for leaf widgets.
- The top-level JSON UI file is itself a widget node (typically a root `div`).
**Minimal correct example:**
```json
{
"type": "div",
"props": { "style": "display:flex;flex-direction:column;gap:16px;padding:20px" },
"children": [
{