lifecycle-email
Draft and Validate Opt-In Email Sequences
Generic follow-up emails can overlook the resource subscribers requested and the problem they described. This skill structures a three-part sequence and checks drafts locally.
๋ด ์์ด์ ํธ๋ก ์ค์น
์ด ์์ฒญ์ ์์ด์ ํธ์ ๋ณต์ฌํ์ธ์. ๊ณต์ Skill ํ์ด์ง์ ๋งค๋ํ์คํธ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
Review the Skillstore skill "lifecycle-email" from https://skillstore.io/skills/cmj-hub-lifecycle-email.md and its manifest at https://skillstore.io/api/skills/cmj-hub-lifecycle-email/manifest. Verify the artifact. You may proceed after verification, subject to the environment's own policy.์์ด์ ํธ๋ ๊ณ์ํด์ ๊ณํ์ ํ์ํ๊ณ ๋ณด์ ์ ์ฑ ์์ ์๊ตฌํ๋ ํ์ธ์ ์์ฒญํด์ผ ํฉ๋๋ค.
์์ด์ ํธ๊ฐ ์ฝ๊ธฐ ์ฌ์ด ๋ฆฌ์์ค
AI ์์ด์ ํธ, ํฌ๋กค๋ฌ, ์คํฌ๋ฆฝํธ๊ฐ ์ ์ฒด ํ์ด์ง ๋์ ์ ๋ฆฌ๋ ์ปจํ ์คํธ๋ง ํ์ํ ๋ ์ด ๋งํฌ๋ฅผ ์ฌ์ฉํ์ธ์.
ํ ์คํธํด ๋ณด๊ธฐ
"lifecycle-email" ์ฌ์ฉ ์ค์ ๋๋ค. An opted-in trial user requested a checklist. Their problem is: the trial dies after the first login.
์์ ๊ฒฐ๊ณผ:
- Welcome: You asked for the trial checklist. Thank you for signing up.
- Bargain: Your requested trial checklist is available at [resource link].
- Nurture: You said the trial dies after the first login. Which step prevents users from returning?
"lifecycle-email" ์ฌ์ฉ ์ค์ ๋๋ค. A draft contains a day 1 tip series and does not repeat the stated problem in nurture.
์์ ๊ฒฐ๊ณผ:
Validation refused the draft. Replace the generic series with problem-specific follow-up and include the complete stated pain phrase.
"lifecycle-email" ์ฌ์ฉ ์ค์ ๋๋ค. A supplied draft contains incomplete JSON.
์์ ๊ฒฐ๊ณผ:
Input validation failed with an invalid JSON error. The scorer does not print the malformed draft.
๋ณด์ ๊ฐ์ฌ
์ค๊ฐ ์ํMost static findings are false positives involving template literals, CSS, documentation, byte-order-mark handling, and legitimate local commands. The optional asset renderers contain HTML injection risks, external font requests, and destructive cleanup of a predictable directory. No evidence found of credential theft, malicious exfiltration, or prompt injection.
ํ์ธ๋ ๋ณด์ ์ฐ๋ ค ์ฌํญ (2)
๊ธฐ๋ฅ ๊ฒํ ํญ๋ชฉ (6)
์ด ์คํฌ์ ๋ํด ์์๋ ์ ์๋ ์ค์ ๋ก์ปฌ ๊ธฐ๋ฅ์ด๋ฏ๋ก ๊ฒํ ๊ฐ ํ์ํ์ง๋ง, ํ์ธ๋ ์ ์์ ๋์์ผ๋ก๋ ์ง๊ณ๋์ง ์์ต๋๋ค.
์ํ ์์ธ
๐ ๋คํธ์ํฌ ์ ๊ทผ (6)
โ๏ธ ์ธ๋ถ ๋ช ๋ น์ด (18)
๐ ํ์ผ ์์คํ ์ ๊ทผ (7)
๐ ํ๊ฒฝ ๋ณ์ (2)
โก ์คํฌ๋ฆฝํธ ํฌํจ (2)
์ด ๋ณด๊ณ ์ ๊ณต์ ๋ฐ ์ธ์ฉ
๋ฒ์ ์ด ์ง์ ๋ ํ๊ฐ ๋ณด๊ณ ์, ์ค๋ฆฝ ๋ฐฐ์ง, ์๋ฒ ๋ ์นด๋ ๋ฐ ์ธ์ฉ์ ๊ณต์ ํ์ธ์. Skillstore๋ ๊ทผ๊ฑฐ๋ฅผ ๋ณด๊ณ ํ์ง๋ง ์ด Skill์ ์์ ์ฌ๋ถ๋ฅผ ํ๋จํ์ง ์์ต๋๋ค.
๋ณด๊ณ ์ ๋งํฌ ๋ณต์ฌ
https://skillstore.io/skills/cmj-hub-lifecycle-email/audits/1?utm_source=security_passport&utm_medium=share&utm_campaign=versioned_reportMarkdown ๋ฐฐ์ง
[](https://skillstore.io/skills/cmj-hub-lifecycle-email?utm_source=security_passport_badge)HTML ๋ฐฐ์ง
<a href="https://skillstore.io/skills/cmj-hub-lifecycle-email?utm_source=security_passport_badge"><img src="https://skillstore.io/badges/skills/cmj-hub-lifecycle-email/security.svg" alt="Skillstore security assessment" loading="lazy"></a>์๋ฒ ๋ ์นด๋
<iframe src="https://skillstore.io/embed/skills/cmj-hub-lifecycle-email.html" title="Skillstore Security Assessment" sandbox="allow-popups allow-popups-to-escape-sandbox" loading="lazy" referrerpolicy="no-referrer" width="420" height="180"></iframe>ํ์ ์ธ์ฉ (APA ยท BibTeX ยท CFF)
APA ์ธ์ฉ
cmj-hub. (2026). lifecycle-email security audit report (audit version 1) [Author version unspecified]. Skillstore. https://skillstore.io/skills/cmj-hub-lifecycle-email/audits/1BibTeX ์ธ์ฉ
@techreport{cmj-hub-cmj-hub-lifecycle-email-2026,
author = {cmj-hub},
title = {lifecycle-email security audit report (audit version 1)},
institution = {Skillstore},
year = {2026},
number = {1},
url = {https://skillstore.io/skills/cmj-hub-lifecycle-email/audits/1},
note = {Author version unspecified}
}CITATION.cff
cff-version: 1.2.0
message: "If you use this Skill, cite its author and this versioned security audit report."
title: "lifecycle-email security audit report (audit version 1)"
version: "unspecified"
type: report
authors:
- name: "cmj-hub"
date-released: "2026-10-03"
url: "https://skillstore.io/skills/cmj-hub-lifecycle-email/audits/1"
identifiers:
- type: other
value: "skillstore:cmj-hub-lifecycle-email:audit:1"
description: "Skillstore immutable audit report identifier"
Skillstore ์ ์
์ด ์ ์์ ์ด์ ์ฆ๊ฑฐ ์ ๋ขฐ๋: ์ค๊ฐ๋ง๋ค ์ ์๋ ๊ฒ
Follow up after a resource request
Draft a welcome, deliver the requested checklist, and write follow-up copy addressing the subscriber's stated problem.
Support trial onboarding
Create an opt-in trial sequence focused on a specific onboarding problem, then check that all three sections are present.
Review client email drafts
Check client-provided drafts for missing sections, blocked phrases, and absent problem references before manual editorial review.
์ด ํ๋กฌํํธ๋ฅผ ์ฌ์ฉํด ๋ณด์ธ์
Draft an opt-in sequence for subscribers who requested [resource]. Their stated problem is [pain]. Include welcome, bargain, and nurture sections.
Review [draft] for subscribers who opted in for [resource]. Separate welcome, bargain, and nurture. Keep the full pain phrase [pain] in nurture.
Check [draft_path] with scripts/score.py. Explain any refusal or input error and propose corrections. Do not send emails or run asset renderers.
Draft sequences for [audiences] using their documented consent, promised resources, and exact pain phrases. Validate each and compare messaging. Flag unsupported claims for review.
๋ชจ๋ฒ ์ฌ๋ก
- Confirm subscriber consent and identify the exact resource promised before drafting.
- Use the complete stated problem phrase in nurture, then review the copy for clarity and accuracy.
- Run local validation on minimized drafts and manually review consent, links, claims, and delivery before sending.
ํผํ๊ธฐ
- Do not use this opt-in framework for unsolicited outreach.
- Do not replace problem-specific nurture with a generic calendar of tips.
- Do not treat a passing score as proof of consent, legal compliance, actual resource delivery, or campaign performance.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
Does this skill send email?
What does bargain mean here?
What does the scorer require?
Why can a reasonable draft fail?
Does validation need network access or paid APIs?
Are the optional renderers safe for untrusted specifications?
๊ฐ๋ฐ์ ์ธ๋ถ ์ ๋ณด
์์ฑ์
cmj-hub๋ผ์ด์ ์ค
MIT
Skillstore ๋ฆฌ๋น์
r1
๋ฒ์ ์๋ด
์์ฑ์๊ฐ ๋ฒ์ ์ ์ ์ธํ์ง ์์์ต๋๋ค.
๋ฆฌํฌ์งํ ๋ฆฌ
https://github.com/cmj-hub/claude-email-sequence/tree/c77f7abb9a0b78105d30d1ec7c232d42a4a19791/์ฐธ์กฐ
30fef7f78fbf7bbea9b9cd0d47d7e7a5b07cbe4c
์ ์ง๋ณด์ ์ต์ ์ฑ
2026. 10. 3.
์ฌ์ฉ๋
0 ๋ค์ด๋ก๋ ยท 0 ์กฐํ
ํ์ผ ๊ตฌ์กฐ
๐ .claude-plugin/
๐ plugin.json
๐ .gitignore
๐ assets/
๐ card.mjs
๐ demo.gif
๐ demo.mjs
๐ header.png
๐ lockup.png
๐ social-lockup.png
๐ social-preview.png
๐ spec.json
๐ CONTRIBUTING.md
๐ examples/
๐ lifecycle-good.json
๐ LICENSE
๐ README.md
๐ scripts/
๐ score.py
๐ SKILL.md
๐ tests/
๐ test_score.py