skills/email-review/SKILL.md
Pre-send email quality review and scoring across 5 dimensions (subject line, copy quality, technical/HTML, deliverability, compliance). Analyzes subject lines, body copy, HTML structure, spam triggers, and CAN-SPAM compliance. Scores 0-100 with detailed recommendations for improvement. Use when user wants to review an email before sending, check email quality, or validate marketing email best practices.
npx skillsauth add agricidaniel/claude-email email-reviewInstall 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.
Reviews email content before sending and provides a comprehensive quality score (0-100) across 5 weighted dimensions. Identifies critical issues, suggests improvements, and provides a rewritten version for low-scoring emails.
Accept email content in any of these formats:
gmail_get_draft MCP toolTotal score = weighted sum of 5 categories:
| Category | Weight | Focus | |----------|--------|-------| | Subject Line | 25% | Length, power words, spam triggers, personalization | | Copy Quality | 25% | Word count, CTA clarity, framework structure, readability | | Technical/HTML | 20% | Size, responsiveness, dark mode, alt text, preheader | | Deliverability | 15% | Spam signals, link count, sender reputation factors | | Compliance | 15% | CAN-SPAM, unsubscribe, physical address, RFC 8058 |
Base Score: 0-100, then weighted at 25%
Penalize for each occurrence:
Bonus for strategic use of:
{{first_name}} or {{company}}Base Score: 0-100, then weighted at 25%
Score based on:
Check if email follows proven framework:
Base Score: 100, deduct points for violations
Check for:
<meta name="viewport" content="width=device-width">Check for:
<meta name="color-scheme" content="light dark">@media (prefers-color-scheme: dark)<img> tags must have alt attribute<table> for layout (HTML email best practice)font-family: Arial, Helvetica, sans-serif;<a> styled as buttons<body> tagBase Score: 100, deduct points for red flags
Count occurrences of spam triggers in body:
<a> with "unsubscribe" keywordBase Score: 100, deduct points for violations
For bulk/marketing emails, check for:
List-Unsubscribe: <mailto:[email protected]>
List-Unsubscribe-Post: List-Unsubscribe=One-Click
| Score | Rating | Status | Recommendation | |-------|--------|--------|----------------| | 90-100 | Excellent | ✅ Ready to send | Minor tweaks optional | | 75-89 | Good | ⚠️ Review suggested | Address medium-priority issues | | 60-74 | Fair | ⚠️ Fix before sending | Resolve high-priority issues | | 40-59 | Poor | ❌ Needs rework | Significant changes required | | 0-39 | Critical | ❌ DO NOT SEND | Major compliance/deliverability issues |
Structure the review report as:
## Email Quality Review with overall score, rating, statusUse status badges: ✅ Ready to send (90+), ⚠️ Review suggested (75-89), ⚠️ Fix before sending (60-74), ❌ Needs rework (40-59), ❌ DO NOT SEND (0-39).
Identify input format and extract:
Check for and execute:
# Subject line scoring
python scripts/score_subject_line.py --subject "[subject]"
# HTML email analysis
python scripts/analyze_email_html.py --file [path]
For each category:
Consult knowledge files for edge cases:
references/technical-standards.md - HTML/CSS email rulesreferences/compliance.md - CAN-SPAM, GDPR, CASL requirementsreferences/deliverability-rules.md - Deliverability scoring and spam signal referenceFormat output per template above, ensuring:
Ask user if they want to:
These issues result in "DO NOT SEND" status regardless of total score:
If user provides draft ID:
gmail_get_draft MCP tool to fetchpayload.headerspayload.parts (mimeType = text/html)If email has no HTML:
If email is transactional (receipts, confirmations):
Run these scripts from the scripts/ directory:
score_subject_line.py
python scripts/score_subject_line.py --subject "Subject line text" --jsonanalyze_email_html.py
python scripts/analyze_email_html.py --file path/to/email.html --jsongmail_get_draft
gmail_send_message
High-scoring email (92/100): Subject "New guide: 5 proven SEO tactics for 2026" -- 8 words, power word, no spam triggers, 280 words, 1 CTA, responsive HTML, all compliance elements present. Status: Ready to send.
Low-scoring email (23/100): Subject "FREE MONEY!!! ACT NOW GUARANTEED WINNER!!!" -- all caps, 4 spam triggers, 50 words, 5 CTAs, missing unsubscribe and address. Status: DO NOT SEND (CAN-SPAM violations).
development
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.
tools
Designs complete email automation sequences with timing, subject lines, copy, and conditional logic. Supports welcome series, nurture campaigns, re-engagement, abandoned cart, post-purchase, review requests, and custom sequences. Adapts sequence type, cadence, frameworks, and conditional branching to business context. Use when user wants to create an automated email series triggered by subscriber actions or time intervals.
tools
Generate comprehensive email marketing strategy with 90-day implementation roadmap. Analyzes business type (local-business, saas, ecommerce, creator, agency) to deliver industry-specific segmentation plans, automation sequences, content calendars, KPI targets, platform recommendations, and week-by-week rollout schedule. Use when building email program from scratch or restructuring existing strategy.
development
Intelligent inbox triage that connects to Gmail or Outlook, scores emails by importance (0-100) using sender recognition, urgency keywords, thread depth, time sensitivity, and business relevance, categorizes into Urgent/Important/Routine/Archive, and generates reply suggestions for top priority items. Use when the user wants to check email, review inbox, triage messages, see what's urgent, or get reply suggestions. Triggers on check email, inbox triage, what's important, email summary, unread emails, priority inbox.