---
name: curcuma-production
route: "Production engineering: Outlook, MSO, responsive, dark mode, footer compliance patterns"
router-terms: outlook, mso, conditional comments, bulletproof button, bulletproof buttons, ghost table, dark mode, responsive email, mobile stacking, preheader technical, CAN-SPAM, unsubscribe footer, render, email client, production HTML, VML, media query, alt text, accessibility email
description: |
  Production/engineering guidance for email HTML using corpus-mined patterns.
  Looks up real prevalence and production snippets via get_pattern, optionally
  finds reference emails that demonstrate the technique, and delivers a
  checklist + code guidance. Use for Outlook fixes, responsive, dark mode,
  footers, images/alt — not lifecycle strategy or subject brainstorming alone.
  Trigger on: Outlook, MSO, bulletproof button, dark mode, responsive email,
  footer compliance, render issues, VML, client-safe HTML.
---

# Curcuma Production / Compat

Ship email HTML that matches **what production emails actually implement**
for client safety and baseline hygiene.

## When to Use

- Outlook / MSO / VML / ghost tables
- Bulletproof buttons, responsive stacking, dark mode
- Footer: unsubscribe, physical address, preferences
- Image alt coverage, 600px structure norms
- “Will this break in email clients?” engineering checklist

## When NOT to Use

- New campaign creative from a brief → `curcuma-email-design` (may call patterns too)
- Lifecycle CRM planning → `curcuma-lifecycle`
- Subject/CTA copy research → `curcuma-subject-cta`
- Broader competitive design research → `curcuma-competitive` or `curcuma-email-research`

## Hard limits

- Prevalence is **what ships**, not what converts or what Gmail guarantees.
- Only cite stats from `get_pattern` (or explicit counts you compute in-session).
- Prefer pattern examples’ code over inventing new Outlook hacks.
- **Hard fail:** any “X% of emails/brands…” in the deliverable must be a
  **verbatim substring** of a `get_pattern` result from **this session**.
  Do not paste anti-pattern examples as free-floating percentages.
  If you did not call `get_pattern` for a check, omit the number.

## Workflow

### Step 1: Name the engineering goals

Map user pain → pattern keys:

| Pain | `get_pattern` name |
|---|---|
| Outlook broken layout | `mso-conditional`, `ghost-table` |
| Buttons fail in Outlook | `bulletproof-button` |
| No mobile | `responsive`, `mobile-stacking` |
| Dark mode | `dark-mode` |
| Preview text | `preheader` |
| Footer / legal | `footer` |
| Images / alt | `images` |
| Width / tables | `structure` |

### Step 2: Pull pattern evidence (required)

For each relevant pattern:

```
get_pattern(name="bulletproof-button")
get_pattern(name="mso-conditional")
get_pattern(name="responsive")
```

Record: prevalence string, variants, 1–2 code examples from the tool response.

### Step 3: Optional live references

If the user wants to *see* a real email using the technique:

```
search_emails(query="welcome", limit=5, max_per_company=1)
get_email_summary(slug="...")
```

Use summary structure notes; only call `get_email_html` if they need raw markup
and full-mirror mode is available.

### Step 4: Deliver production pack

1. **Checklist** — required vs recommended for their goal (tied to prevalence)
2. **Snippets** — from `get_pattern` examples (attribute company when provided)
3. **Do / Don't** — flexbox/grid, image-only CTAs without fallback, missing unsubscribe
4. **If fixing user HTML** — ordered change list; hand off deep rewrite to
   `curcuma-email-improve` when full HTML rewrite is needed

## Grounding

See `skills/GROUNDING.md`. Production snippets must come from `get_pattern`
(or cited summary HTML patterns), not invented “best practice” CSS.
Never recommend fake image hosts as a production fix.

## Anti-patterns

- DON'T invent prevalence numbers without `get_pattern` (never write a bare
  “X% of brands” unless that exact string came from the tool this session)
- DON'T recommend flexbox/grid as primary email layout
- DON'T skip `get_pattern` and give generic CSS email advice from training only
- DON'T claim Litmus-level multi-client test results
- DON'T “fix” missing images with placehold.co / dashed placeholders
