fix(portable): Gemini keys, Telegram pairing UI, and config durability
Improve first-run and channel setup for non-technical users: detect newer Gemini key formats, pin Node 22.22.3, add Control Panel Telegram approve flow, and keep channels/models when config is rewritten. Persist uclaw wizard state via uclaw-meta.json so restarts skip language/persona prompts. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
77
portable/skills/en/email-campaign/SKILL.md
Normal file
77
portable/skills/en/email-campaign/SKILL.md
Normal file
@@ -0,0 +1,77 @@
|
||||
---
|
||||
name: email-campaign
|
||||
description: "Marketing and outreach email - subject lines, structure, and not getting marked as spam"
|
||||
metadata: { "openclaw": { "emoji": "✉️" } }
|
||||
---
|
||||
|
||||
# Email Campaigns
|
||||
|
||||
Newsletters, product announcements and outreach.
|
||||
|
||||
## Subject lines
|
||||
|
||||
The only part most recipients read. A good one is specific and short enough to
|
||||
survive a phone's inbox — roughly 40 characters.
|
||||
|
||||
| Weak | Better |
|
||||
|---|---|
|
||||
| "Our January Newsletter" | "We cut setup from 20 minutes to 3" |
|
||||
| "Exciting product update!" | "Export to Excel is live" |
|
||||
| "Quick question" | "Question about your Q3 rollout" |
|
||||
|
||||
Avoid: ALL CAPS, three exclamation marks, "RE:" on a mail that is not a reply,
|
||||
and fake urgency. These are also the things spam filters weigh.
|
||||
|
||||
## Structure
|
||||
|
||||
```
|
||||
One line Why this email exists
|
||||
The point What changed, what you are offering, what you want
|
||||
One action A single link or ask
|
||||
Sign-off A real name
|
||||
```
|
||||
|
||||
**One ask per email.** Two links means neither gets clicked.
|
||||
|
||||
## Preview text
|
||||
|
||||
The line after the subject in most clients. It is a second subject line, and
|
||||
leaving it to default means the recipient reads "View this email in your
|
||||
browser". Write it.
|
||||
|
||||
## Landing in the inbox
|
||||
|
||||
- Send from a real person's address, not `noreply@`
|
||||
- Working unsubscribe link, honoured immediately — in Singapore this is a legal
|
||||
requirement under the PDPA, not a courtesy
|
||||
- Do not attach; link instead
|
||||
- Plain-text-ish beats a heavy template for anything that is meant to read as
|
||||
personal
|
||||
|
||||
## Cold outreach
|
||||
|
||||
Different rules. Reference something specific about them in the first line — if
|
||||
you cannot, you are not ready to send it. Keep it under 120 words. Ask for a
|
||||
reply, not a meeting.
|
||||
|
||||
## Example prompts
|
||||
|
||||
```
|
||||
Announcement email for this release — one ask, keep it short
|
||||
```
|
||||
|
||||
```
|
||||
Five subject lines for this, no hype
|
||||
```
|
||||
|
||||
```
|
||||
Rewrite this cold email — it reads like a template
|
||||
```
|
||||
|
||||
## Working notes
|
||||
|
||||
- Ask who the list is and what they last heard from you. An email to people who
|
||||
signed up last week is not the same as one to a year-old list.
|
||||
- Never invent a personalisation detail in outreach. Getting it wrong is worse
|
||||
than sending something generic.
|
||||
- Do not send anything on the user's behalf. Draft it; they send it.
|
||||
Reference in New Issue
Block a user