configs/skills/email-write/SKILL.md
Compose high-converting emails using proven copy frameworks (PAS, AIDA, BAB, FAB, 4Ps). Generates subject line variants with scores, responsive HTML templates with dark mode support, plain-text fallback, and preheader recommendations. Optimized for cold outreach, newsletters, product launches, promotions, and transactional emails. Adapts to user context from email-profile.md.
npx skillsauth add shenxingy/claude-code-kit email-writeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Generate professional, high-converting email copy using proven copywriting frameworks. Produces subject line variants with scoring, responsive HTML templates with dark mode support, plain-text fallback, and preheader recommendations.
This sub-skill is invoked by the main /email skill when the user needs to compose a new email.
First, check if email-profile.md exists in the project directory. If yes, load business type, tone preferences, and target audience from the profile.
If no profile exists or user provides new context, ask for:
Based on the email purpose, choose the appropriate framework from references/copy-frameworks.md:
| Email Purpose | Recommended Framework | Why | |--------------|----------------------|-----| | Cold outreach | PAS | Empathy-driven, addresses pain points | | Product launch | AIDA | Builds excitement, drives action | | Newsletter | BAB or AIDA | Aspirational or engaging storytelling | | Feature announcement | FAB | Clear value proposition for features | | Promotional/sale | AIDA | Creates desire and urgency | | Re-engagement | PAS | Identifies problem of disengagement | | Welcome email | BAB | Shows transformation journey | | Case study | 4Ps | Proof-heavy, testimonial-driven | | Review request | PAS | Empathetic ask for feedback | | Appointment reminder | Direct | No framework needed |
If uncertain, default to AIDA for marketing emails or PAS for relationship emails.
Create 3 subject line variants using these strategies:
Subject Line Rules:
Scoring Methodology (0-100):
| Criteria | Weight | Scoring | |----------|--------|---------| | Length | 20 | 100 if 30-50 chars, -10 per 5 chars over/under | | Power Words | 20 | +20 per power word (max 2) | | Personalization | 25 | +25 if personalized beyond first name | | Spam Triggers | -50 | -50 if contains spam word | | Clarity | 20 | 100 if benefit/topic is clear | | Curiosity | 15 | +15 if creates open loop |
Minimum passing score: 70
Generate preheader recommendation (30-80 characters):
Example:
Apply the chosen framework structure. Load full framework details from references/copy-frameworks.md before writing.
General Email Writing Rules:
{{firstName}}, {{company}}, {{productName}}Framework-Specific Structure:
Load the full structure from references/copy-frameworks.md and apply. Each framework has:
Create a responsive, dark-mode compatible HTML email using these specifications:
HTML Template Structure:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="color-scheme" content="light dark">
<meta name="supported-color-schemes" content="light dark">
<title>{{emailSubject}}</title>
<style>
/* Inline critical CSS */
body { margin: 0; padding: 0; font-family: Arial, Helvetica, sans-serif; }
table { border-collapse: collapse; }
.email-container { max-width: 600px; margin: 0 auto; }
.body-text { font-size: 16px; line-height: 1.6; color: #333333; }
.cta-button {
display: inline-block;
padding: 14px 28px;
background-color: #0066cc;
color: #ffffff;
text-decoration: none;
border-radius: 4px;
font-weight: bold;
min-height: 44px;
min-width: 44px;
}
/* Dark mode styles */
@media (prefers-color-scheme: dark) {
body { background-color: #1a1a1a !important; }
.body-text { color: #e0e0e0 !important; }
.email-container { background-color: #2a2a2a !important; }
}
/* Mobile responsive */
@media only screen and (max-width: 600px) {
.body-text { font-size: 14px !important; }
.headline { font-size: 22px !important; }
.cta-button { display: block !important; width: 100% !important; }
}
</style>
</head>
<body>
<!-- Email content goes here -->
</body>
</html>
HTML Rules:
<style> tags)color-scheme: light dark meta tag@media (prefers-color-scheme: dark)CTA Button Best Practices:
<a> tag with role="button" for accessibilityCreate a plain-text fallback with:
Present the final email composition in this structure:
## Email Composition
**Framework**: [chosen framework name]
**Purpose**: [email purpose]
**Tone**: [tone]
**Recipient Type**: [recipient type]
---
### Subject Line Options
| # | Subject | Score | Type | Notes |
|---|---------|-------|------|-------|
| 1 | [subject line 1] | 87 | Curiosity | [why this works] |
| 2 | [subject line 2] | 82 | Benefit | [why this works] |
| 3 | [subject line 3] | 79 | Urgency | [why this works] |
**Recommended**: #1 (highest score)
**Preheader Text**: [30-80 char preheader recommendation]
---
### Email Body (Plain Text)
[Full email body using framework structure]
[Include merge tags like {{firstName}}, {{company}}]
[CTA]
[Signature]
---
### HTML Version
```html
[Complete HTML email code with inline CSS, dark mode support, responsive design]
[Plain text fallback with line breaks, CTA as full URL]
## Quality Gates
Before delivering the email, verify:
1. **Subject line scores**: At least one variant scores 70+
2. **Preheader length**: 30-80 characters
3. **Framework alignment**: Body follows chosen framework structure
4. **CTA clarity**: Primary CTA is clear and action-oriented
5. **Mobile readability**: Paragraphs are 2-3 sentences max
6. **HTML validity**: Table-based layout, inline CSS, dark mode support
7. **Accessibility**: Alt text on images, plain-text fallback included
8. **Spam check**: No spam trigger words in subject or body
9. **Personalization**: Merge tags used where appropriate
10. **Tone match**: Email tone matches requested tone from profile
If any gate fails, revise before output.
## Error Handling
- If `references/copy-frameworks.md` is missing, warn user and use basic AIDA structure
- If `email-profile.md` is missing, prompt user for context (don't fail)
- If subject line scores are all below 70, generate new variants
- If HTML template fails validation, fall back to plain-text only and warn user
## Resources
- `references/copy-frameworks.md` - Full framework structures and examples
- `email-profile.md` - User's business context and preferences (optional)
## Example Invocation
User: "Write a cold outreach email to a SaaS founder about my SEO audit service"
Agent:
1. Loads email-profile.md (if exists)
2. Selects PAS framework (cold outreach)
3. Generates 3 subject line variants with scores
4. Writes email body following PAS structure
5. Creates HTML template with dark mode
6. Creates plain-text fallback
7. Outputs full email composition with metadata and next steps
## Notes
- This sub-skill focuses on composition only (no sending/scheduling)
- For sending emails, use `email-send` sub-skill or MCP email tools
- For A/B testing, generate multiple variants using different frameworks
- Always adapt tone and complexity to recipient type (B2B vs B2C, technical vs non-technical)
development
Orchestrate a fleet of parallel `codex exec` workers with you (Claude Code) as the supervisor — spawn one per isolated git worktree, dispatch headless, verify each INDEPENDENTLY, PR/merge. The manual "codex-ultracode" pattern for fanning out real implementation, research, or review work onto Codex. Bakes in the hard gotchas (stdin blocking, background tracking, don't-trust-self-reports, writer isolation). Triggers on — orchestrate codex, codex workers, codex fleet, spawn codex, delegate to codex in parallel, manual ultracode, 开 codex 小弟, 派 codex worker — NOT for a single cross-vendor opinion (use the `second-opinion-codex` agent), NOT for web-UI worker decomposition (use `/orchestrate`).
development
Create and manage git worktrees for parallel Codex sessions
development
Verify project behavior anchors — compilation, tests, and interaction checks after autonomous runs. NOT the Codex built-in /verify (which runs the app to observe a single change working) — this one walks the AGENTS.md "Features (Behavior Anchors)" list.
documentation
End-of-session documentation sync — updates TODO.md and PROGRESS.md only (run /commit after to commit everything)