Ravi email-writing
/install ravi-email-writing
Email Writing Guide
Write emails that look like they came from a real person — not an AI.
Good email hygiene improves deliverability, avoids spam filters, and gets responses.
Subject Lines
- 40-60 characters — long subjects get truncated on mobile
- Be specific — "Q3 metrics review for Acme project" beats "Update"
- No ALL CAPS — spam filters penalize this heavily
- Avoid spam triggers — "free", "act now", "limited time", "click here", "urgent", "guaranteed", "no obligation"
- Match the tone — casual for teammates, professional for external contacts
HTML Body Structure
The --body argument in ravi email compose accepts HTML. Always use semantic tags — never pass plain text.
Note: --subject is only used with the compose command. Reply and forward commands auto-derive the subject from the original message (prepending Re: or Fwd:).
Do this:
\x3Cp>Opening line that states the purpose.\x3C/p>
\x3Cp>Supporting details in a second paragraph.\x3C/p>
\x3Cul>
\x3Cli>Key point one\x3C/li>
\x3Cli>Key point two\x3C/li>
\x3C/ul>
\x3Cp>Closing with a clear next step or ask.\x3C/p>
\x3Cp>Best,\x3Cbr>IDENTITY_NAME\x3C/p>
Don't do this:
Plain text with no tags at all
Or this:\x3Cbr>\x3Cbr>Using br chains\x3Cbr>\x3Cbr>instead of paragraphs
Rules:
- Always wrap text in
\x3Cp>tags - Use
\x3Ch2>for section headers (not\x3Ch1>) - Use
\x3Cul>/\x3Cli>for lists, not dashes or asterisks - Use
\x3Ca href="...">descriptive text\x3C/a>for links — never bare URLs - No
\x3Chtml>,\x3Chead>, or\x3Cbody>wrapper tags — the email system adds these - No
\x3Cbr>chains — use separate\x3Cp>tags instead - Get the identity name with:
ravi auth status
Recommended Template
Copy-paste starting point for most emails:
ravi email compose \
--to "[email protected]" \
--subject "Specific subject under 60 chars" \
--body "\x3Cp>Hi Alex,\x3C/p>\x3Cp>I'm reaching out about [specific topic]. [One sentence of context.]\x3C/p>\x3Cp>[Core message — what you need, what you're sharing, or what you're asking.]\x3C/p>\x3Cul>\x3Cli>[Key point or action item]\x3C/li>\x3Cli>[Key point or action item]\x3C/li>\x3C/ul>\x3Cp>[Clear next step — what should the recipient do?]\x3C/p>\x3Cp>Best,\x3Cbr>YOUR_NAME\x3C/p>"
Tone and Style
- First person, active voice — "I'll send the report Monday" not "The report will be sent"
- Short paragraphs — 2-3 sentences max per
\x3Cp>tag - Get to the point — state your purpose in the first sentence
- End with an action item — "Can you review by Friday?" not "Let me know your thoughts"
- No filler phrases — cut "I hope this email finds you well", "Just wanted to touch base", "Per our previous conversation"
- No robotic language — cut "I am writing to inform you", "Please be advised", "Kindly note"
- Match the thread tone — if they're casual, be casual. If they're formal, be formal.
Anti-Spam Essentials
These rules help your emails land in the inbox, not spam:
- High text-to-HTML ratio — more words, fewer tags. Don't over-format.
- No link shorteners — use full URLs. Spam filters distrust bit.ly, t.co, etc.
- Max 2-3 links per email — more links = higher spam score
- No ALL CAPS — not even for emphasis. Use
\x3Cstrong>instead. - No image-only emails — always include text content
- One topic per email — don't cram multiple requests into one message
- Don't repeat yourself — saying the same thing in different words triggers spam heuristics
Common Mistakes
| Mistake | Why it's bad | Do this instead |
|---|---|---|
Plain text in --body |
Renders as one blob, no formatting | Wrap everything in \x3Cp> tags |
\x3Cbr>\x3Cbr> chains |
Looks spammy, inconsistent spacing | Use separate \x3Cp> tags |
| "Dear Sir/Madam" | Outdated, signals mass email | Use the recipient's name or "Hi there" |
| Wall of text | Nobody reads long emails | Break into 2-3 short paragraphs |
| "Click here" links | Spam trigger, bad accessibility | \x3Ca href="...">descriptive text\x3C/a> |
| Empty or vague subject | Low open rates, looks like spam | Be specific: "Invoice #1234 for January" |
| Excessive HTML styling | High tag-to-text ratio triggers filters | Keep formatting minimal |
| No signature | Looks impersonal, unprofessional | Sign with identity name |
| "Sent by AI" disclaimers | Undermines trust, unnecessary | Just write naturally |
Related Skills
- ravi-email-send — CLI commands for compose, reply, reply-all, and forward
- ravi-inbox — Read incoming email to understand what you're replying to
- ravi-identity — Get your identity name for email signatures
- ravi-feedback — Tell the Ravi team if email deliverability could be better
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install ravi-email-writing - After installation, invoke the skill by name or use
/ravi-email-writing - Provide required inputs per the skill's parameter spec and get structured output
What is Ravi email-writing?
Best practices for writing high-quality emails that look professional and avoid spam filters. Reference this before composing, replying, or forwarding emails... It is an AI Agent Skill for Claude Code / OpenClaw, with 529 downloads so far.
How do I install Ravi email-writing?
Run "/install ravi-email-writing" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Ravi email-writing free?
Yes, Ravi email-writing is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Ravi email-writing support?
Ravi email-writing is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Ravi email-writing?
It is built and maintained by Raunak Singwi (@raunaksingwi); the current version is v2.1.1.