npx skills add ...
npx skills add vercel-labs/json-render --skill next
Next.js renderer for json-render that turns JSON specs into full Next.js applications with routes, layouts, SSR, and metadata. Use when working with @json-render/next, building Next.js apps from JSON specs, or creating AI-generated multi-page applications.
npx skills add vercel-labs/json-render --skill next
Next.js renderer that converts JSON specs into full Next.js applications with routes, pages, layouts, metadata, and SSR support.
The top-level spec defines an entire Next.js application:
Slot component)Routes use Next.js URL conventions:
"/" -- home page"/about" -- static route"/blog/[slug]" -- dynamic segment"/docs/[...path]" -- catch-all segment"/settings/[[...path]]" -- optional catch-all segmentLayouts wrap page content. Every layout MUST include a Slot component where page content will be rendered. Layouts are defined once in spec.layouts and referenced by routes via the layout field.
next/link){ statePath, value }{ statePath, value, clearStatePath? }{ statePath, index }{ href }Server-side async functions that run in the Server Component before rendering. Results are merged into the page's initial state.
Pages are server-rendered automatically. The createNextApp Page component is an async Server Component that:
@json-render/next -- Client components (NextAppProvider, PageRenderer, Link)@json-render/next/server -- Server utilities (createNextApp, matchRoute, schema)@json-render/next/server)createNextApp(options) -- Create Page, generateMetadata, generateStaticParamsschema -- Custom schema for Next.js apps (for AI catalog generation)matchRoute(spec, pathname) -- Match a URL to a route specresolveMetadata(spec, route) -- Resolve metadata for a routeslugToPath(slug) -- Convert catch-all slug array to pathnamecollectStaticParams(spec) -- Collect static params for all routes@json-render/next)NextAppProvider -- Context provider for registry and handlersPageRenderer -- Renders a page spec with optional layoutNextErrorBoundary -- Error boundary componentNextLoading -- Loading state componentNextNotFound -- Not-found componentLink -- Built-in navigation component (wraps next/link)