You can go from a Go struct to production-ready HTML and CSS in one pass, without writing a line of markup by hand. Define your content type, describe what you want the page to look like, and hand it to an AI design tool. That is the workflow we built.
When you build a new content type in Forge, the first question from any design tool is the same: "Can I see the live data?" The answer is always no. The site does not exist yet. There is no API endpoint, no JSON feed, no running server.
We kept running into this during our own work. Design tools are good, but they need something to work with. So we built a format that gives them everything they need without a live site.
forge-pattern.md
A forge-pattern.md is a single Markdown file that contains your content structure, 2-3 realistic sample records, your design intent, and explicit scope constraints. You give it to an AI design tool and get back HTML and CSS.
We validated this against Claude Design using the Forge blog example. One pass, no clarifying questions, no hallucinated navigation bars or footers. The output was production-quality HTML with all color tokens as CSS custom properties and the full markdown surface covered: headings, inline code, fenced code blocks, lists, blockquotes.
The blog example forge-pattern.md is at example/blog/forge-pattern.md if you want to see what a complete one looks like.
Two things that matter most
The font field. If you leave it out, the design tool will choose, and it will probably add a Google Fonts request you did not ask for. Include an explicit Font: line and make it your decision.
The scope section. Design tools fill every unspecified decision with their own choice. Name everything that should be absent. No nav bar. No footer. No JavaScript. No dark mode. If it is not listed, it might appear.
Skills
We added two skills to the Forge repository so you do not have to write the forge-pattern.md by hand:
skills/forge-design.md is a Claude Code skill. Point it at your Go struct and it generates the forge-pattern.md for you.
skills/forge-design-assistant.md is Claude.ai project instructions for non-technical users. It elicits design intent through conversation and produces the forge-pattern.md without requiring any Go knowledge.
Copy whichever fits your setup into your project.
The full guide
The complete workflow, including how to translate the static HTML output back to Go html/template syntax, is in the docs: Designing with AI.