How to prompt OpenAI, Claude, Gemini, and other LLMs to write good MJML
AI-generated email code is getting much better, but most teams still run into the same problem: generic prompts create subpar MJML. The difference between unusable email code and production-ready templates usually comes down to constraints, examples, and workflow design. The best results rarely come from asking an LLM to “build an email.” They come from teaching the model how your email system already works.
Here are five good prompts for vibe coded MJML:
1. Generate MJML from scratch (simple one-off emails)
Best for
Fast campaign production
Lightweight newsletters
MVP lifecycle flows
Prompt
Why this works
Most LLMs need explicit output constraints. Without them, they tend to overcomplicate layouts, generate bloated MJML, or drift into prose.
2. Generate MJML that matches your existing templates
Best for
Real production teams
Consistent design systems
Large template libraries
Prompt
Why this works
This is probably the highest-leverage prompting pattern overall. LLMs perform dramatically better when grounded in real production templates.
3. Refactor messy MJML into production-quality code
Best for
Cleaning up AI-generated code
Junior developer outputs
Legacy templates
Prompt
Why this works
LLMs are often better at cleanup and refactoring than first-pass generation.
4. Build reusable MJML modules instead of full emails
Best for
Scalable lifecycle programs
Design systems
AI-assisted ecosystems
Prompt
Why this works
The strongest AI email workflows usually generate systems and reusable modules, not entirely new emails every time.
5. Use LLMs as MJML reviewers and QA engineers
Best for
Pre-Litmus QA
Catching Outlook risks
Improving maintainability
Prompt
Why this works
LLMs are surprisingly effective at structured review tasks when given explicit evaluation criteria.
Final thoughts
There is no magical “MJML super prompt.” The best outputs usually come from combining strong examples, narrow scope, reusable systems, and iterative refinement.
The shift from basic ChatGPT-generated MJML to more structured automated systems has drastically improved code reliability.
The teams getting the most value from OpenAI, Claude, Gemini, and similar models are not treating them like autonomous email developers. They are treating them like assistants working inside a carefully structured MJML ecosystem.



