---
name: curcuma-subject-cta
route: "Research or draft subject lines, preheaders, and CTA copy from real emails"
router-terms: subject line, subject lines, preheader, preview text, CTA, CTAs, call to action, button copy, headline copy, offer language, urgency copy, email copy, write subjects, subject patterns, CTA text
description: |
  Research or draft subject lines, preheaders, and primary CTA copy grounded in
  real production emails. Searches the relevant category, studies summaries for
  subject_analysis / preheader / cta_buttons / link_labels, clusters patterns,
  and delivers options with cited slugs. No open-rate claims; no invented stats.
  Trigger on: subject lines, preheader, CTA copy, button text, offer language,
  “what subjects do brands use for…”.
---

# Curcuma Subject + CTA Copy

Use the corpus as a **copy library for the inbox chrome**: subjects, preheaders,
and CTAs — not full design polish.

## When to Use

- User wants subject line options or patterns for a type (welcome, cart, launch…)
- User wants preheader pairings or CTA button language
- User wants offer/urgency framing examples from real sends

## When NOT to Use

- Full HTML email → `curcuma-email-design`
- Full lifecycle sequence plan → `curcuma-lifecycle`
- Render/Outlook engineering → `curcuma-production`

## Hard limits

- Subject patterns from `subject_analysis` are descriptive (e.g. “question”), not ranked by performance.
- Never invent open rates, CTR, or “highest converting subject.”
- Transform brand-specific names; cite sources; do not plagiarize long body copy.

## Workflow

### Step 1: Scope the copy job

Capture:
- Email type / moment
- Brand voice hints (if any)
- Deliverable: subjects only | subjects+preheaders | CTAs | all three
- Count of options wanted (default 8 subjects, 5 CTAs)

### Step 2: Search the moment

```
search_emails(query="<type keywords>", limit=12, max_per_company=1)
```

Examples: `welcome`, `abandoned cart`, `product launch`, `newsletter`, `winback`.
On weak coverage: `list_categories()` then retry with category language.

### Step 3: Study summaries (minimum 4 slugs)

```
get_email_summary(slug="<slug>")
```

From each summary collect:
- `title` / `subject_analysis` (word_count, patterns)
- `preheader`
- `cta_buttons` (and `cta_type`)
- `link_labels` (secondary CTAs / nav)
- Short notes from `visible_text` on offer framing (discount, urgency, social proof) — as **observed language**, not performance

### Step 4: Cluster & report

Deliver:

1. **Subject patterns observed** — e.g. question, emoji, brand-first, urgency (only if seen in sample)
2. **Subject options** — user-ready lines inspired by clusters; each batch cites 2+ source slugs
3. **Preheader options** — pair with subjects; note length discipline (~40–90 chars guidance as craft, not a measured corpus law unless you counted in-sample)
4. **CTA options** — primary button phrases; map to role (shop, continue, start trial, reset password)
5. **Citations table** — slug | subject | preheader snippet | CTAs

### Step 5: Optional draft pass

If the user wants final copy for *their* product, rewrite options with their product name while keeping structure patterns from citations.

## Grounding

See `https://curcuma.sud.fyi/.well-known/agent-skills/curcuma/GROUNDING.md`. Prefer **verbatim or lightly adapted** subjects /
preheaders / CTA labels from summaries. Label which are corpus-derived vs
new variants. Never invent “high converting” lines from training memory.

## Anti-patterns

- DON'T claim “this subject converts better”
- DON'T output subjects with zero corpus search
- DON'T study only titles from search hits without `get_email_summary` (you need preheader/CTAs)
- DON'T use `get_pattern` as a substitute for copy research (patterns are structural HTML)
- DON'T ship therapy-speak or clickbait that never appears in your sample
- DON'T omit slug citations for lines you adapted
