{
  "schemaVersion": "1.0",
  "item": {
    "slug": "ravi-email-writing",
    "name": "Ravi email-writing",
    "source": "tencent",
    "type": "skill",
    "category": "内容创作",
    "sourceUrl": "https://clawhub.ai/raunaksingwi/ravi-email-writing",
    "canonicalUrl": "https://clawhub.ai/raunaksingwi/ravi-email-writing",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/ravi-email-writing",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ravi-email-writing",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/ravi-email-writing"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/ravi-email-writing",
    "agentPageUrl": "https://openagent3.xyz/skills/ravi-email-writing/agent",
    "manifestUrl": "https://openagent3.xyz/skills/ravi-email-writing/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/ravi-email-writing/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Email Writing Guide",
        "body": "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."
      },
      {
        "title": "Subject Lines",
        "body": "40-60 characters — long subjects get truncated on mobile\nBe specific — \"Q3 metrics review for Acme project\" beats \"Update\"\nNo ALL CAPS — spam filters penalize this heavily\nAvoid spam triggers — \"free\", \"act now\", \"limited time\", \"click here\", \"urgent\", \"guaranteed\", \"no obligation\"\nMatch the tone — casual for teammates, professional for external contacts"
      },
      {
        "title": "HTML Body Structure",
        "body": "The --body flag in ravi email compose/reply/forward accepts HTML. Always use semantic tags — never pass plain text.\n\nNote: --subject is only used with ravi email compose. Reply and forward commands auto-derive the subject from the original message (prepending Re: or Fwd:).\n\nDo this:\n\n<p>Opening line that states the purpose.</p>\n\n<p>Supporting details in a second paragraph.</p>\n\n<ul>\n  <li>Key point one</li>\n  <li>Key point two</li>\n</ul>\n\n<p>Closing with a clear next step or ask.</p>\n\n<p>Best,<br>IDENTITY_NAME</p>\n\nDon't do this:\n\nPlain text with no tags at all\n\nOr this:<br><br>Using br chains<br><br>instead of paragraphs\n\nRules:\n\nAlways wrap text in <p> tags\nUse <h2> for section headers (not <h1>)\nUse <ul>/<li> for lists, not dashes or asterisks\nUse <a href=\"...\">descriptive text</a> for links — never bare URLs\nNo <html>, <head>, or <body> wrapper tags — the email system adds these\nNo <br> chains — use separate <p> tags instead\nGet the identity name with: ravi identity list --json | jq -r '.[0].name'"
      },
      {
        "title": "Recommended Template",
        "body": "Copy-paste starting point for most emails:\n\nNAME=$(ravi identity list --json | jq -r '.[0].name')\n\nravi email compose \\\n  --to \"recipient@example.com\" \\\n  --subject \"Specific subject under 60 chars\" \\\n  --body \"<p>Hi Alex,</p>\n\n<p>I'm reaching out about [specific topic]. [One sentence of context.]</p>\n\n<p>[Core message — what you need, what you're sharing, or what you're asking.]</p>\n\n<ul>\n  <li>[Key point or action item]</li>\n  <li>[Key point or action item]</li>\n</ul>\n\n<p>[Clear next step — what should the recipient do?]</p>\n\n<p>Best,<br>$NAME</p>\" --json"
      },
      {
        "title": "Tone and Style",
        "body": "First person, active voice — \"I'll send the report Monday\" not \"The report will be sent\"\nShort paragraphs — 2-3 sentences max per <p> tag\nGet to the point — state your purpose in the first sentence\nEnd with an action item — \"Can you review by Friday?\" not \"Let me know your thoughts\"\nNo filler phrases — cut \"I hope this email finds you well\", \"Just wanted to touch base\", \"Per our previous conversation\"\nNo robotic language — cut \"I am writing to inform you\", \"Please be advised\", \"Kindly note\"\nMatch the thread tone — if they're casual, be casual. If they're formal, be formal."
      },
      {
        "title": "Anti-Spam Essentials",
        "body": "These rules help your emails land in the inbox, not spam:\n\nHigh text-to-HTML ratio — more words, fewer tags. Don't over-format.\nNo link shorteners — use full URLs. Spam filters distrust bit.ly, t.co, etc.\nMax 2-3 links per email — more links = higher spam score\nNo ALL CAPS — not even for emphasis. Use <strong> instead.\nNo image-only emails — always include text content\nOne topic per email — don't cram multiple requests into one message\nDon't repeat yourself — saying the same thing in different words triggers spam heuristics"
      },
      {
        "title": "Common Mistakes",
        "body": "MistakeWhy it's badDo this insteadPlain text in --bodyRenders as one blob, no formattingWrap everything in <p> tags<br><br> chainsLooks spammy, inconsistent spacingUse separate <p> tags\"Dear Sir/Madam\"Outdated, signals mass emailUse the recipient's name or \"Hi there\"Wall of textNobody reads long emailsBreak into 2-3 short paragraphs\"Click here\" linksSpam trigger, bad accessibility<a href=\"...\">descriptive text</a>Empty or vague subjectLow open rates, looks like spamBe specific: \"Invoice #1234 for January\"Excessive HTML stylingHigh tag-to-text ratio triggers filtersKeep formatting minimalNo signatureLooks impersonal, unprofessionalSign with identity name\"Sent by AI\" disclaimersUndermines trust, unnecessaryJust write naturally"
      },
      {
        "title": "Related Skills",
        "body": "ravi-email-send — CLI commands for compose, reply, reply-all, and forward\nravi-inbox — Read incoming email to understand what you're replying to\nravi-identity — Get your identity name for email signatures\nravi-feedback — Tell the Ravi team if email deliverability could be better"
      }
    ],
    "body": "Email Writing Guide\n\nWrite emails that look like they came from a real person — not an AI. Good email hygiene improves deliverability, avoids spam filters, and gets responses.\n\nSubject Lines\n40-60 characters — long subjects get truncated on mobile\nBe specific — \"Q3 metrics review for Acme project\" beats \"Update\"\nNo ALL CAPS — spam filters penalize this heavily\nAvoid spam triggers — \"free\", \"act now\", \"limited time\", \"click here\", \"urgent\", \"guaranteed\", \"no obligation\"\nMatch the tone — casual for teammates, professional for external contacts\nHTML Body Structure\n\nThe --body flag in ravi email compose/reply/forward accepts HTML. Always use semantic tags — never pass plain text.\n\nNote: --subject is only used with ravi email compose. Reply and forward commands auto-derive the subject from the original message (prepending Re: or Fwd:).\n\nDo this:\n\n<p>Opening line that states the purpose.</p>\n\n<p>Supporting details in a second paragraph.</p>\n\n<ul>\n  <li>Key point one</li>\n  <li>Key point two</li>\n</ul>\n\n<p>Closing with a clear next step or ask.</p>\n\n<p>Best,<br>IDENTITY_NAME</p>\n\n\nDon't do this:\n\nPlain text with no tags at all\n\nOr this:<br><br>Using br chains<br><br>instead of paragraphs\n\n\nRules:\n\nAlways wrap text in <p> tags\nUse <h2> for section headers (not <h1>)\nUse <ul>/<li> for lists, not dashes or asterisks\nUse <a href=\"...\">descriptive text</a> for links — never bare URLs\nNo <html>, <head>, or <body> wrapper tags — the email system adds these\nNo <br> chains — use separate <p> tags instead\nGet the identity name with: ravi identity list --json | jq -r '.[0].name'\nRecommended Template\n\nCopy-paste starting point for most emails:\n\nNAME=$(ravi identity list --json | jq -r '.[0].name')\n\nravi email compose \\\n  --to \"recipient@example.com\" \\\n  --subject \"Specific subject under 60 chars\" \\\n  --body \"<p>Hi Alex,</p>\n\n<p>I'm reaching out about [specific topic]. [One sentence of context.]</p>\n\n<p>[Core message — what you need, what you're sharing, or what you're asking.]</p>\n\n<ul>\n  <li>[Key point or action item]</li>\n  <li>[Key point or action item]</li>\n</ul>\n\n<p>[Clear next step — what should the recipient do?]</p>\n\n<p>Best,<br>$NAME</p>\" --json\n\nTone and Style\nFirst person, active voice — \"I'll send the report Monday\" not \"The report will be sent\"\nShort paragraphs — 2-3 sentences max per <p> tag\nGet to the point — state your purpose in the first sentence\nEnd with an action item — \"Can you review by Friday?\" not \"Let me know your thoughts\"\nNo filler phrases — cut \"I hope this email finds you well\", \"Just wanted to touch base\", \"Per our previous conversation\"\nNo robotic language — cut \"I am writing to inform you\", \"Please be advised\", \"Kindly note\"\nMatch the thread tone — if they're casual, be casual. If they're formal, be formal.\nAnti-Spam Essentials\n\nThese rules help your emails land in the inbox, not spam:\n\nHigh text-to-HTML ratio — more words, fewer tags. Don't over-format.\nNo link shorteners — use full URLs. Spam filters distrust bit.ly, t.co, etc.\nMax 2-3 links per email — more links = higher spam score\nNo ALL CAPS — not even for emphasis. Use <strong> instead.\nNo image-only emails — always include text content\nOne topic per email — don't cram multiple requests into one message\nDon't repeat yourself — saying the same thing in different words triggers spam heuristics\nCommon Mistakes\nMistake\tWhy it's bad\tDo this instead\nPlain text in --body\tRenders as one blob, no formatting\tWrap everything in <p> tags\n<br><br> chains\tLooks spammy, inconsistent spacing\tUse separate <p> tags\n\"Dear Sir/Madam\"\tOutdated, signals mass email\tUse the recipient's name or \"Hi there\"\nWall of text\tNobody reads long emails\tBreak into 2-3 short paragraphs\n\"Click here\" links\tSpam trigger, bad accessibility\t<a href=\"...\">descriptive text</a>\nEmpty or vague subject\tLow open rates, looks like spam\tBe specific: \"Invoice #1234 for January\"\nExcessive HTML styling\tHigh tag-to-text ratio triggers filters\tKeep formatting minimal\nNo signature\tLooks impersonal, unprofessional\tSign with identity name\n\"Sent by AI\" disclaimers\tUndermines trust, unnecessary\tJust write naturally\nRelated Skills\nravi-email-send — CLI commands for compose, reply, reply-all, and forward\nravi-inbox — Read incoming email to understand what you're replying to\nravi-identity — Get your identity name for email signatures\nravi-feedback — Tell the Ravi team if email deliverability could be better"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/raunaksingwi/ravi-email-writing",
    "publisherUrl": "https://clawhub.ai/raunaksingwi/ravi-email-writing",
    "owner": "raunaksingwi",
    "version": "1.7.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/ravi-email-writing",
    "downloadUrl": "https://openagent3.xyz/downloads/ravi-email-writing",
    "agentUrl": "https://openagent3.xyz/skills/ravi-email-writing/agent",
    "manifestUrl": "https://openagent3.xyz/skills/ravi-email-writing/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/ravi-email-writing/agent.md"
  }
}