Best for
- Use when the user wants to build an email sequence, set up a welcome flow, recover lapsed users, send a broadcast, manage a list / audience / segment, or asks about lifecycle / drip / nurture campaigns.
hyperfx-ai/marketing-skills/skills/email-lifecycle/SKILL.md
Plan, build, and run lifecycle email programs through the Hyper MCP — welcome / onboarding, nurture, re-engagement, win-back, and abandoned-cart sequences across whichever provider fits (Klaviyo for ecommerce, Resend for SaaS / dev tools, Beehiiv for newsletters, Gmail for low-volume ops). Use when the user wants to build an email sequence, set up a welcome flow, recover lapsed users, send a broadcast, manage a list / audience / segment, or asks about lifecycle / drip / nurture campaigns.
Decision brief
End-to-end lifecycle email — pick the right provider for the job, build the audience, draft the sequence, launch, and measure. Cross-provider patterns at the top; provider-specific tool calls below.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/hyperfx-ai/marketing-skills --skill "skills/email-lifecycle"Inspect the Agent Skill "email-lifecycle" from https://github.com/hyperfx-ai/marketing-skills/blob/bb080b81e2b633c4d46cd8d38d31f14ad95b478a/skills/email-lifecycle/SKILL.md at commit bb080b81e2b633c4d46cd8d38d31f14ad95b478a. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Get the user to commit to:
Get the user to commit to:
Five patterns cover 95% of lifecycle work. See references/sequence-patterns.md for full templates with copy, timing, and provider-specific notes.
Audience setup is provider-specific. Examples for the most common case (welcome flow):
For each email in the sequence:
Permission review
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 91/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 77 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
End-to-end lifecycle email — pick the right provider for the job, build the audience, draft the sequence, launch, and measure. Cross-provider patterns at the top; provider-specific tool calls below.
| Request | Send them to |
|---|---|
| Cold outbound to people who haven't opted in | cold-email-outreach |
| Generating images for email creatives | image-generation |
| Generating ad creatives that run alongside the lifecycle program | ad-creative-generation |
| SEO research / blog content for the newsletter | seo-research |
If none of those tool prefixes (klaviyo_*, resend_*, beehiiv_*, gmail_*) appear in the agent's tool list, stop and tell the user to enable the Hyper MCP and connect the provider they intend to use.
The wrong provider is the most common reason a lifecycle program fails. Pick first.
| You are… | Use | Why |
|---|---|---|
| An ecommerce / DTC brand on Shopify, BigCommerce, WooCommerce | Klaviyo | Native ecom event listeners (Placed Order, Started Checkout, Browsed Product), mature flow editor, tight Shopify sync. |
| A SaaS / dev tool / API product sending product + lifecycle on the same domain | Resend | Same API for transactional + marketing, audience management, broadcasts, automation runs. Excellent deliverability for product mail. |
| Running a content-led newsletter (free + paid tiers) | Beehiiv | Built around the newsletter-as-product model — segments, automations, paid tiers, referral program, post stats. |
| Running a small ops list (≤500 contacts), founder-mode broadcasts | Gmail | Zero new infra, label-based segmentation, easy templating. Don't scale beyond ~500 — see cold-email-outreach for sender deliverability if you do. |
You can run more than one. The pattern is: Klaviyo for marketing, Resend for transactional + product onboarding (when the brand also runs ecom). Or Beehiiv for the newsletter and Resend for the product. Decide once per program, not per email.
| Phase | Klaviyo | Resend | Beehiiv | Gmail |
|---|---|---|---|---|
| Audience setup | klaviyo_create_list, klaviyo_add_member_to_list, klaviyo_create_segment, klaviyo_create_profile, klaviyo_update_profile | resend_create_audience, resend_create_contact, resend_list_contacts, resend_update_contact | beehiiv_create_subscription, beehiiv_create_segment, beehiiv_add_tags, beehiiv_list_subscriptions | gmail_labels_create, gmail_labels_add, gmail_labels_remove |
| Sequence build | klaviyo_create_campaign, klaviyo_update_campaign_message | resend_create_automation, resend_update_automation, resend_get_automation | beehiiv_create_post, beehiiv_list_automations, beehiiv_add_to_automation | gmail_drafts_create, gmail_drafts_update |
| Send / launch | klaviyo_send_campaign, klaviyo_get_campaign_send_job | resend_send_email, resend_send_broadcast | beehiiv_create_post (publish), beehiiv_update_post | gmail_messages_send, gmail_drafts_send |
| Measure | klaviyo_get_metrics, klaviyo_get_metric, klaviyo_get_campaign | resend_list_automation_runs, resend_get_automation_run | beehiiv_get_post_stats, beehiiv_get_subscription | gmail_messages_list |
Full per-provider mechanics, gotchas, and concrete tool-call examples in references/provider-mechanics.md.
resend_send_broadcast (large blast → throttled), gmail_messages_send (~500/day soft cap), and klaviyo_send_campaign (account-tier dependent).Get the user to commit to:
If the user can't answer the trigger or the goal, the flow isn't ready to build.
Five patterns cover ~95% of lifecycle work. See references/sequence-patterns.md for full templates with copy, timing, and provider-specific notes.
| Pattern | Trigger | Typical length | Goal |
|---|---|---|---|
| Welcome / onboarding | List signup | 3–5 emails over 7–10 days | First conversion (purchase, activation, paid signup) |
| Nurture | Lead magnet download, content opt-in | 4–7 emails over 3–6 weeks | Product-qualified action |
| Abandoned cart (ecom only) | Started Checkout, no Placed Order | 2–3 emails over 24–72 hours | Complete the purchase |
| Re-engagement | Lapsed activity (e.g., no opens in 60d, no purchase in 90d) | 2–3 emails over 7–14 days | Re-open / re-engage |
| Win-back | Lapsed customer (no purchase in 180d+) | 2–3 emails over 14–21 days | Repeat purchase |
Audience setup is provider-specific. Examples for the most common case (welcome flow):
Klaviyo — create the list, then a flow trigger on "Subscribed to List":
klaviyo_create_list(list_name="newsletter-2026")
# triggers + flows are configured in Klaviyo UI; the API surface here is
# for adding profiles, building segments, and sending one-off campaigns.
Resend — create an audience, then an automation triggered by contact.created:
resend_create_audience(name="newsletter-2026")
resend_create_automation(
name="welcome-2026",
trigger="contact.created",
audience_id="aud_...",
...
)
Beehiiv — subscriptions trigger automations directly when added to a segment / publication:
beehiiv_create_subscription(
publication_id="pub_...",
email="[email protected]",
utm_source="signup-form",
)
beehiiv_add_to_automation(
automation_id="aut_...",
subscription_id="sub_...",
)
Gmail — labels are the segment. Start with a label per program:
gmail_labels_create(name="lifecycle/welcome-2026")
# manual contact list maintained outside Gmail (Sheets, CSV) — Gmail
# is best for ≤500 contacts, founder-led sends.
Provider-specific gotchas (e.g., Klaviyo's profile-merging behavior, Resend's audience-vs-segment distinction) are in references/provider-mechanics.md.
For each email in the sequence:
{{first_name}}, {{event.product_name}}, {{custom_field.plan_tier}}). Never use a token without a fallback ({{first_name|"there"}}).Drafts-first by default — for any new sequence, build the first email and test send it to yourself before moving on. Provider previews look correct in the editor and broken in production more often than not.
Pull the conversion to goal metric, not opens or clicks. Open rate post-MPP is noise.
| Provider | Conversion metric source |
|---|---|
| Klaviyo | klaviyo_get_metric(metric_id=<conversion-event>) — e.g., Placed Order attributed to the flow |
| Resend | resend_list_automation_runs(automation_id=...) — count completed runs that hit the goal step |
| Beehiiv | beehiiv_get_post_stats(post_id=...) and segment-membership transitions |
| Gmail | gmail_messages_list(query="label:lifecycle/<program> newer_than:30d") — look for replies / conversions |
Iteration rule: don't tune copy until the audience is right. If the welcome flow has a 1.2% conversion and the same product organic conversion is 4%, the audience is misaligned (too broad, wrong source, suppression rules missing) — fix that first. Copy comes second.
Read the whole sequence end-to-end as if you're a single person receiving it over the planned timing. Reject any sequence that fails:
Hi , after a missing first-name.| Reference | When to read |
|---|---|
references/sequence-patterns.md | Building a welcome / nurture / abandoned-cart / re-engagement / win-back sequence — full templates with copy, timing, and benchmarks |
references/provider-mechanics.md | Klaviyo flows, Resend automations, Beehiiv segments — concrete tool-call patterns and provider-specific gotchas |
Frequently asked questions
End-to-end lifecycle email — pick the right provider for the job, build the audience, draft the sequence, launch, and measure. Cross-provider patterns at the top; provider-specific tool calls below.
The source record exposes this install command: npx skills add https://github.com/hyperfx-ai/marketing-skills --skill "skills/email-lifecycle". Inspect the command and pinned source before running it.
Alternatives
garrytan/gbrain
End-to-end discipline for turning any large data source (audio libraries, email takeouts, document corpora, chat exports, API dumps) into brain pages at scale. The lifecycle spine: SCHEMA → ACCESS → TRIAL → EVALUATE → IMPROVE → CODIFY → TEST → SKILLIFY → BULK → MONITOR. State is tracked in a durable JSON manifest (see MANIFEST-PATTERN.md) so any crash, session boundary, or subagent fan-out resumes from ground truth instead of memory.
alirezarezvani/claude-skills
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist
dotnet/skills
Migrates .NET test projects from VSTest to Microsoft.Testing.Platform (MTP). Use when user asks to "migrate to MTP", "switch from VSTest", "enable Microsoft.Testing.Platform", "use MTP runner", set OutputType=Exe only for test projects in Directory.Build.props, or mentions EnableMSTestRunner, EnableNUnitRunner, or UseMicrosoftTestingPlatformRunner. USE FOR: MTP behavioral differences vs VSTest (exit code 8, zero tests discovered, --ignore-exit-code, TESTINGPLATFORM_EXITCODE_IGNORE); centralizing
oaustegard/claude-skills
Generate hierarchical _FEATURES.md files that describe what a codebase DOES from a user/consumer perspective, anchored to source symbols via tree-sitting. Supports large complex codebases through feature-driven decomposition into sub-feature files. Uses a multi-pass synthesis: orientation → detail → overview rewrite. Use when someone says "what does this do", "document features", "feature inventory", "_FEATURES.md", or needs to understand a codebase's purpose before modifying it. Complements tre