codegen
Code generation utilities for json-render. Use when generating code from UI specs, building custom code exporters, traversing specs, or serializing props for…
Image renderer for json-render that turns JSON specs into SVG and PNG images via Satori. Use when working with @json-render/image, generating OG images from JSON, creating social cards, or rendering AI-generated image specs.
$ npx -y skills add vercel-labs/json-render --skill image --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/imageContext preview
The summary Claude sees to decide when to auto-load this skill.
Image renderer for json-render that turns JSON specs into SVG and PNG images via Satori. Use when working with @json-render/image, generating OG images from JSON, creating social cards, or rendering AI-generated image specs.
name: image description: Image renderer for json-render that turns JSON specs into SVG and PNG images via Satori. Use when working with @json-render/image, generating OG images from JSON, creating social cards, or rendering AI-generated image specs.
Image renderer that converts JSON specs into SVG and PNG images using Satori.
import { renderToPng } from "@json-render/image/render";
import type { Spec } from "@json-render/core";
const spec: Spec = {
root: "frame",
elements: {
frame: {
type: "Frame",
props: { width: 1200, height: 630, backgroundColor: "#1a1a2e" },
children: ["heading"],
},
heading: {
type: "Heading",
props: { text: "Hello World", level: "h1", color: "#ffffff" },
children: [],
},
},
};
const png = await renderToPng(spec, {
fonts: [{ name: "Inter", data: fontData, weight: 400, style: "normal" }],
});import { defineCatalog } from "@json-render/core";
import { schema, standardComponentDefinitions } from "@json-render/image";
export const imageCatalog = defineCatalog(schema, {
components: standardComponentDefinitions,
});import { z } from "zod";
const catalog = defineCatalog(schema, {
components: {
...standardComponentDefinitions,
Badge: {
props: z.object({ label: z.string(), color: z.string().nullable() }),
slots: [],
description: "A colored badge label",
},
},
});| Component | Category | Description | |-----------|----------|-------------| | `Frame` | Root | Root container. Defines width, height, background. Must be root. | | `Box` | Layout | Container with padding, margin, border, absolute positioning | | `Row` | Layout | Horizontal flex layout | | `Column` | Layout | Vertical flex layout | | `Heading` | Content | h1-h4 heading text | | `Text` | Content | Body text with full styling | | `Image` | Content | Image from URL | | `Divider` | Decorative | Horizontal line separator | | `Spacer` | Decorative | Empty vertical space |
| Export | Purpose | |--------|---------| | `renderToSvg` | Render spec to SVG string | | `renderToPng` | Render spec to PNG buffer (requires `@resvg/resvg-js`) | | `schema` | Image element schema | | `standardComponents` | Pre-built component registry | | `standardComponentDefinitions` | Catalog definitions for AI prompts |
| Export | Description | |--------|-------------| | `@json-render/image` | Full package: schema, components, render functions | | `@json-render/image/server` | Schema and catalog definitions only (no React/Satori) | | `@json-render/image/catalog` | Standard component definitions and types | | `@json-render/image/render` | Render functions only |
The Generative UI framework. Generate dynamic, personalized UIs from prompts without sacrificing reliability. Predefined components and actions for safe, predictable output.
Repo: vercel-labs/json-render
Code generation utilities for json-render. Use when generating code from UI specs, building custom code exporters, traversing specs, or serializing props for…
Core package for defining schemas, catalogs, and AI prompt generation for json-render. Use when working with @json-render/core, defining schemas, creating…
Drop-in inspector panel for any json-render app. Use when the user wants to debug a generative UI, inspect the spec tree, edit state at runtime, see dispatched…
Pre-built custom directives for json-render — formatting, math, string manipulation, and i18n. Use when working with @json-render/directives, defining custom…
Ink terminal renderer for json-render that turns JSON specs into interactive terminal UIs. Use when working with @json-render/ink, building terminal UIs from…
Jotai adapter for json-render's StateStore interface. Use when integrating json-render with Jotai for state management via @json-render/jotai.