God Output
Choose the format
| Need | Best output |
|---|---|
| Website / landing page prototype | Single-file index.html with Tailwind (CDN for prototypes, a build step for production) or plain CSS |
| Production React app | React/Next.js components + Tailwind v4 tokens (+ shadcn/ui primitives when the project uses it) |
| Social graphic, poster, slide as an image | HTML/SVG at the exact pixel size → PNG via Playwright |
| Logo, icon, pattern | Hand-written SVG (optimised), plus PNG exports |
| Print document | SVG/PDF (vector), or HTML with Paged.js/WeasyPrint; final CMYK preflight in pro tools |
| Deck | deck.html (16:9 sections) or a .pptx spec / python-pptx |
| Table-based HTML, inline CSS, 600–640px wide, web-safe font fallbacks | |
| Design-tool handoff | Tokens JSON + specs + assets → Figma variables / Canva brand kit |
HTML/CSS baseline (copy into every page)
html<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Specific page title · Brand</title> <meta name="description" content="One specific sentence."> <meta property="og:image" content="/og.png"><!-- 1200×630 --> <link rel="icon" href="/favicon.svg" type="image/svg+xml"> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=...&display=swap" rel="stylesheet"> <style> :root { color-scheme: light dark; /* tokens from god-tokens */ } *, *::before, *::after { box-sizing: border-box; } body { margin: 0; font-family: var(--font-body); color: var(--color-text); background: var(--color-bg); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; } img, svg, video { display: block; max-width: 100%; height: auto; } :focus-visible { outline: 2px solid var(--color-focus, currentColor); outline-offset: 2px; } @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } } </style> </head> <body> <a class="skip-link" href="#main">Skip to content</a> <header>…</header><main id="main">…</main><footer>…</footer> </body></html>
Tailwind prototypes: <script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script> plus a <style type="text/tailwindcss">@theme { … }</style> block. For production, install tailwindcss with the Vite/PostCSS plugin.
React + shadcn/ui notes
- Map tokens to shadcn's CSS variables (
--background,--foreground,--primary,--primary-foreground,--muted,--border,--ring,--radius) inglobals.css. Then restyle. Default shadcn styling with zero changes is a slop tell. - Keep components presentational and accept
className. Usecvafor variants. - Use
next/font(Next.js) to self-host Google Fonts with zero layout shift.
Render HTML/SVG → PNG/PDF
bashnpx -y playwright@latest install chromium # once # PNG at an exact size (2x scale by default) node skills/god-output/scripts/render.mjs poster.html poster.png 1080 1350 # PDF, one page per slide/section node skills/god-output/scripts/render.mjs deck.html deck.pdf 1920 1080
(The script uses Playwright if installed and otherwise prints the manual command.)
Export settings
| Asset | Format | Settings |
|---|---|---|
| UI images/photos | AVIF/WebP with JPG fallback | Quality 70–82; srcset 1x/2x; explicit width/height |
| Graphics with text | PNG-24 or SVG | sRGB |
| Social images | PNG (graphics) / JPG 85–92 (photo) | Exact platform size, sRGB, < 8MB |
| Favicon set | favicon.svg + favicon.ico (32) + apple-touch-icon.png (180) + icon-192.png / icon-512.png (PWA manifest) | |
| OG image | PNG/JPG 1200×630 | Text ≥ 48px, centred safe area |
| PDF/X-4 or PDF/X-1a | CMYK, bleed, crop marks (pro tool preflight) | |
| Video | MP4 H.264 + AAC | 1080p, 30fps, platform bitrate limits |
File naming: brand_asset_variant_size@scale.ext → godofdesign_logo_horizontal_dark@2x.png.
Figma handoff
- Create Variables collections:
Primitives(raw colours, spacing),Semantic(roles) with modes Light/Dark, mirroringgod-tokensnames. - Text styles for each type-scale step; effect styles for shadows.
- Components with auto layout (padding = spacing tokens), variants for states, and properties for text/icon toggles.
- Frames at real device sizes, layout grids matching
god-layout. - Annotate: spacing, behaviour, breakpoints, motion specs (duration/easing), accessibility notes (heading levels, focus order, alt text).
- If a Figma MCP/API is available, read existing variables and components first and reuse them. Never duplicate the system.
Canva handoff
- Use custom dimensions matching the platform spec (e.g. 1080×1350 px for an IG portrait).
- Set up a Brand Kit: logos (SVG/PNG), colours (hex), fonts (upload brand fonts or choose the closest Canva fonts), plus a brand template.
- Provide a content sheet (CSV: one row per design, columns per text/image field) for Bulk Create or Autofill (Canva Connect API / Canva MCP
autofill-designwith a brand template). - Keep text as live text (editable). Avoid flattening into images.
- If the Canva MCP is connected: search brand templates → get the dataset (field names) → autofill with your content → export PNG/PDF. Always confirm with the user before publishing or sharing anything.


