Skip to content
Back to skills

lifecycle-email

CSecurity

Draft a lifecycle email as a welcome, delivery of the bargain, then nurture tied to the pain they showed. Use when someone already opted in and the sequence must not be a generic drip or a cold email.

  • 1 star
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 2, 2026
ai-agentspythongoshellbash

Security analysis

C71/100
  • mediumReads environment variables which may contain secretsin assets/card.mjs
  • criticalUses os.system(), subprocess, or similar Python execution methodsin tests/test_score.py

Pro scans all 11 files and shows the line behind each finding

Scanned October 2, 2026

npx -y skills add cmj-hub/claude-email-sequence --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of lifecycle-email?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for lifecycle-email
[![Security: C — Skills Directory](https://www.skillsdirectory.com/api/skills/cmj-hub-lifecycle-email/badge)](https://www.skillsdirectory.com/skills/cmj-hub-lifecycle-email)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: lifecycle-email
description: "Draft a lifecycle email as a welcome, delivery of the bargain, then nurture tied to the pain they showed. Use when someone already opted in and the sequence must not be a generic drip or a cold email."
models: ""
---

# Lifecycle email

Someone raised a hand. The sequence has three parts, in this order. Welcome them. Hand over the thing they opted in for. Then keep writing about the pain they already showed.

The build guide teaches a human. This pack teaches an agent.

## The three parts

1. Welcome. The first note after the opt-in. It names that they asked, and it starts the relationship. It is not an introduction to a stranger.
2. Bargain. Delivery of the thing they were promised: the checklist, the sample, the access. The bargain is the exchange, handed over.
3. Nurture. Later notes that stay on the pain they showed on the form or in the reply. The pain is in the words. A calendar of tips is not nurture.

## What the scorer refuses

The scorer refuses a generic drip and a cold email. A generic drip is a day-1, day-3, day-7 tip series, or a note that calls itself a generic drip. A cold email speaks to someone who never opted in, introduces a product to a stranger, or is labeled a cold email.

A welcome can be short. It still has to be for a person who opted in, and the nurture still has to name their pain.

## Checklist

Copy this list and tick it in order.

- [ ] 1. Name the pain they showed.
- [ ] 2. Fill the sequence shell: welcome, bargain, nurture.
- [ ] 3. Run `python3 scripts/score.py --file draft.json`.

Check again until the script exits 0.

Go back to step 2 if step 3 fails.

## Run

```bash
python3 scripts/score.py --file examples/lifecycle-good.json
python3 scripts/score.py --file examples/lifecycle-refused.json
```

The good file exits 0 and prints the welcome, the bargain, and the nurture. The refused file exits 1.

The JSON object has four strings: `pain`, `welcome`, `bargain`, and `nurture`. A broken JSON exits non-zero and does not echo the raw input.

Python 3 standard library only. No network. No send.

## Shell

```json
{
  "pain": "the trial dies after the first login",
  "welcome": "You asked for the trial checklist. This note starts there.",
  "bargain": "The checklist is the bargain. It is attached, the thing you opted in to receive.",
  "nurture": "The next note stays on the pain you showed: the trial dies after the first login."
}
```

Files in this skill

  • CONTRIBUTING.md2.9 KB
  • SKILL.md2.4 KB
  • assets/card.mjs6.1 KB
  • assets/demo.mjs6.8 KB
  • assets/lockup.png21 KB
  • assets/social-lockup.png21 KB
  • assets/spec.json860 B
  • examples/lifecycle-good.json323 B
  • examples/lifecycle-refused.json271 B
  • scripts/score.py3.2 KB
  • tests/test_score.py1.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…