{
  "schemaVersion": "1.0",
  "item": {
    "slug": "kit-email-operator",
    "name": "Kit Email Marketing Operator",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/Kevjade/kit-email-operator",
    "canonicalUrl": "https://clawhub.ai/Kevjade/kit-email-operator",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/kit-email-operator",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=kit-email-operator",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "BUILD-COMPLETE.md",
      "INSTALLATION.md",
      "README.md",
      "SETUP.md",
      "SKILL.md",
      "examples/nurture-email.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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.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/kit-email-operator"
    },
    "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/kit-email-operator",
    "agentPageUrl": "https://openagent3.xyz/skills/kit-email-operator/agent",
    "manifestUrl": "https://openagent3.xyz/skills/kit-email-operator/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/kit-email-operator/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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Kit Email Marketing Operator",
        "body": "AI-powered email marketing for Kit (ConvertKit)\n\nVersion: 1.0.0\nDistribution: Private ClawHub (Premium Skool members only)"
      },
      {
        "title": "Purpose",
        "body": "This skill enables OpenClaw to write, manage, and send professional email campaigns through Kit (ConvertKit). It combines AI-powered content generation with direct API integration to handle the complete email marketing workflow.\n\nCore capabilities:\n\nGenerate email copy matching user's brand voice\nCreate subject lines and preview text\nSchedule broadcasts via Kit API\nTarget specific segments and tags\nTrack campaign performance\nFollow email marketing best practices"
      },
      {
        "title": "First Run",
        "body": "When a user requests email marketing help for the first time, initiate the setup wizard:\n\nCheck for credentials\nconst credsPath = '/data/.openclaw/workspace/.kit-credentials';\n\nIf missing, run setup.\n\n\nSetup wizard flow\n\nWelcome and explain what you'll collect\nRequest Kit API credentials (v4 key + secret)\nStore encrypted using scripts/credentials.js\nOptional: voice training (analyze 3-5 past emails)\nOptional: database integration (point to voice guide files)\nCollect business context (niche, audience, offers, links)\nFetch Kit custom fields for future personalization\nConfirm setup complete\n\n\n\nVoice training (if provided)\n\nAnalyze provided email samples\nExtract: tone, structure, vocabulary, sentence patterns\nSave voice profile to /data/.openclaw/workspace/.kit-voice-profile.json\nUse this profile for all future email generation\n\n\n\nDatabase integration (if configured)\n\nAsk for path to voice guide (e.g., content/writing-rules/VOICE-GUIDE.md)\nAsk for path to memory files (e.g., MEMORY.md)\nStore paths in credentials file\nRead these before generating emails"
      },
      {
        "title": "Step 1: Clarifying Questions",
        "body": "Before writing any email, ask these questions:\n\nRequired:\n\nGoal: What's the purpose? (nurture/sell/announce/educate/re-engage/onboard)\nAudience: Who's receiving this? (all subscribers/specific tag/specific segment)\nMain message: What's the core point you want to communicate?\nCall to action: What should readers do? (click link/reply/take action)\n\nOptional:\n\nLinks to include: Any specific URLs to feature?\nTone preference: (if not using voice training)\nPersonalization: Should we use first name? Custom fields?\nTiming: Send now, schedule, or save as draft?\n\nExample questioning flow:\n\nI can help you write that email. A few quick questions:\n\n1. What's the goal? (nurture relationship / make a sale / announce something / educate)\n2. Who's this going to? (all subscribers / a specific tag / a segment)\n3. What's the main message or value you want to communicate?\n4. What action should they take after reading?\n5. Any links you want me to include?\n6. Should I personalize with first names?"
      },
      {
        "title": "Step 2: Generate Content",
        "body": "Subject Lines (provide 3 options):\n\nUse formulas from references/subject-line-formulas.md\nKeep 27-73 characters\nTap into curiosity, urgency, benefit, or social proof\nAvoid spam triggers (all caps, excessive punctuation)\n\nPreview Text:\n\n40-70 characters\nComplements subject line\nTeases value inside\n\nEmail Body:\n\nFollow structure from references/email-best-practices.md\nMatch user's voice (if trained) or requested tone\nInclude personalization tags if requested\nStrong hook in first sentence\nClear value proposition\nNatural CTA placement\nKeep scannable (short paragraphs, white space)\n\nPersonalization Tags:\nReference references/kit-personalization.md for available tags:\n\n{{ subscriber.first_name }} - Subscriber's first name\n{{ subscriber.email_address }} - Email address\nCustom fields: {{ subscriber.YOUR_FIELD_NAME }}\n\nExample generation output:\n\n## Subject Line Options\n\n1. [Name], here's what 80% of email marketers get wrong\n2. The 3-minute email hack that doubled my opens\n3. Your subscribers are telling you something (listen closely)\n\n## Preview Text\n\nMost people ignore this signal. Here's how to spot it.\n\n## Email Body\n\nHey {{ subscriber.first_name }},\n\nQuick question: when was the last time you checked your email open rates?\n\n[rest of email...]\n\n**Call to Action:**\n[Read the full guide here →](https://example.com/guide)\n\nTalk soon,\n[Your Name]"
      },
      {
        "title": "Step 3: Review & Refine",
        "body": "Present the email to the user and ask:\n\n\"How does this sound?\"\n\"Want me to adjust the tone?\"\n\"Should I try a different angle?\"\n\"Ready to send, or should we save as draft?\"\n\nMake revisions based on feedback."
      },
      {
        "title": "Step 4: Send via Kit API",
        "body": "Once approved, use scripts/kit-api.js to:\n\nCreate broadcast:\n\nconst { KitAPI } = require('./scripts/kit-api.js');\nconst kit = new KitAPI();\n\nconst broadcast = await kit.createBroadcast({\n  subject: \"Chosen subject line\",\n  content: \"Email HTML content\",\n  description: \"Internal description\",\n  send_at: \"2026-02-17T10:00:00Z\", // or null for draft\n  public: false,\n  tag_ids: [123, 456] // if targeting specific tags\n});\n\nOptions:\n\nDraft: send_at: null - save for review later\nSchedule: send_at: \"ISO timestamp\" - schedule for future\nSend now: Don't include send_at (immediately publishes)\n\nTargeting:\n\nAll subscribers: Don't include tag_ids or segment_ids\nSpecific tags: tag_ids: [123, 456]\nSpecific segments: segment_ids: [789]\n\nConfirm with user before sending."
      },
      {
        "title": "View Campaign Stats",
        "body": "After sending, users can request performance data:\n\nconst stats = await kit.getBroadcastStats(broadcastId);\n\nPresent stats in readable format:\n\n📊 Campaign Performance: \"Your Subject Line\"\n\n📤 Recipients: 1,234\n📬 Opens: 456 (37%)\n🖱️ Clicks: 89 (19.5% of opens)\n🚪 Unsubscribes: 5 (0.4%)\n\nProvide insights:\n\nCompare to benchmarks (see references/email-best-practices.md)\nSuggest improvements for next campaign\nIdentify what worked well"
      },
      {
        "title": "Manage Drafts",
        "body": "Users can:\n\nList saved drafts: kit.listBroadcasts({ status: 'draft' })\nUpdate drafts: kit.updateBroadcast(id, changes)\nDelete drafts: kit.deleteBroadcast(id)\nSchedule drafts: kit.updateBroadcast(id, { send_at: timestamp })"
      },
      {
        "title": "Email Content",
        "body": "✅ DO:\n\nWrite conversational, authentic copy\nUse short paragraphs (2-3 sentences max)\nInclude one clear CTA\nPersonalize when possible\nMake it scannable (bold, bullets, white space)\nMatch user's brand voice\nLead with value, not pitch\n\n❌ DON'T:\n\nUse spam trigger words (free, guarantee, act now)\nWrite long blocks of text\nInclude multiple conflicting CTAs\nSound robotic or corporate\nMake unsubscribing difficult\nOversell or hype"
      },
      {
        "title": "Subject Lines",
        "body": "✅ DO:\n\nKeep 27-73 characters\nUse curiosity, urgency, or benefit\nPersonalize when appropriate\nA/B test different approaches\nAvoid spam triggers\n\n❌ DON'T:\n\nUse all caps or excessive punctuation\nMislead about content inside\nUse spammy words\nBe too vague or too long"
      },
      {
        "title": "Sending Strategy",
        "body": "✅ DO:\n\nSend drafts first (review before scheduling)\nTest send to yourself\nCheck deliverability (SPF, DKIM, DMARC)\nSegment your list when relevant\nTrack performance\nClean your list regularly\n\n❌ DON'T:\n\nSend without review\nBlast entire list with sales pitch\nIgnore unsubscribes or complaints\nSend too frequently (respect inbox)\nIgnore performance data"
      },
      {
        "title": "File Locations",
        "body": "Credentials: /data/.openclaw/workspace/.kit-credentials\nVoice Profile: /data/.openclaw/workspace/.kit-voice-profile.json\nAPI Client: skills/kit-email-operator/scripts/kit-api.js\nCredential Manager: skills/kit-email-operator/scripts/credentials.js"
      },
      {
        "title": "Available Functions",
        "body": "From scripts/kit-api.js:\n\n// Broadcasts\nkit.createBroadcast(data)\nkit.updateBroadcast(id, data)\nkit.deleteBroadcast(id)\nkit.getBroadcast(id)\nkit.listBroadcasts(options)\nkit.getBroadcastStats(id)\n\n// Tags\nkit.listTags()\nkit.tagSubscriber(email, tagId)\n\n// Subscribers\nkit.listSubscribers()\nkit.getSubscriber(id)\n\n// Custom Fields\nkit.listCustomFields()"
      },
      {
        "title": "Security",
        "body": "All credentials stored encrypted (AES-256-GCM)\nNever log or display API keys\nFile permissions set to 600 (owner read/write only)\nCredentials file excluded from version control"
      },
      {
        "title": "Workflow 1: Welcome Email",
        "body": "User: \"Write a welcome email for new subscribers\"\n\nYou:\n\nI can help you write that welcome email. A few quick questions:\n\n1. What should new subscribers know about you/your business?\n2. What value will they get from being on your list?\n3. Should I include a first resource or action for them?\n4. Any specific link to send them to?\n\nAfter answers, generate:\n\n3 subject line options (welcoming, clear value)\nPreview text\nEmail body (introduce yourself, set expectations, deliver value, clear next step)\n\nThen: Create as draft in Kit, ask for review, schedule or send."
      },
      {
        "title": "Workflow 2: Product Launch",
        "body": "User: \"I'm launching a new course. Write a sales email.\"\n\nYou:\n\nGot it. Sales email for course launch. Let me ask:\n\n1. What's the course about? (the transformation it provides)\n2. Who's it for? (ideal student)\n3. Price point?\n4. Launch date and any urgency? (early bird, limited spots, etc.)\n5. Link to sales page?\n6. Should I emphasize social proof, bonuses, or scarcity?\n\nAfter answers, generate:\n\n3 subject lines (curiosity + urgency)\nPreview text (benefit-driven)\nEmail body (problem → solution → transformation → offer → CTA)\n\nThen: Review together, refine, send to specific tag or segment."
      },
      {
        "title": "Workflow 3: Re-engagement Campaign",
        "body": "User: \"I want to re-engage subscribers who haven't opened in 60 days\"\n\nYou:\n\nSmart move. Re-engagement campaign. Quick questions:\n\n1. What made you valuable to them when they first subscribed?\n2. What's changed or improved since then?\n3. Should we give them an option to unsubscribe (clean list)?\n4. What's the main value proposition to bring them back?\n\nAfter answers, generate:\n\n3 subject lines (pattern interrupt, personal, curiosity)\nPreview text (direct and honest)\nEmail body (acknowledge absence, remind of value, simple ask, easy opt-out)\n\nThen: Target specific segment in Kit (inactive subscribers), send as test first."
      },
      {
        "title": "Voice Matching",
        "body": "If user provided email samples during setup, reference the voice profile:\n\nVoice Profile Structure:\n\n{\n  \"tone\": \"casual and direct\",\n  \"sentence_length\": \"short, punchy sentences mixed with longer ones\",\n  \"vocabulary\": [\"honestly\", \"let's be real\", \"here's the thing\"],\n  \"patterns\": [\n    \"Uses questions to engage\",\n    \"Includes parenthetical asides\",\n    \"Admits limitations honestly\"\n  ],\n  \"formatting\": [\n    \"Short paragraphs (1-3 sentences)\",\n    \"Bold for emphasis\",\n    \"Emoji occasionally\"\n  ],\n  \"signature\": \"Ship it,\\nKevin\"\n}\n\nApply these elements to generated emails."
      },
      {
        "title": "Setup Issues",
        "body": "Problem: User doesn't have Kit credentials\nSolution: Guide them to Kit dashboard → Settings → API Keys\n\nProblem: Voice training samples too short\nSolution: Ask for longer emails (300+ words each)\n\nProblem: Can't find Kit custom fields\nSolution: Verify credentials, check Kit account has custom fields created"
      },
      {
        "title": "Sending Issues",
        "body": "Problem: Broadcast fails to create\nSolution: Check credentials, verify content format, ensure valid tag_ids\n\nProblem: Email looks broken\nSolution: Check HTML formatting, test send to yourself first\n\nProblem: Low open rates\nSolution: Review subject lines, check sending time, analyze from name"
      },
      {
        "title": "API Issues",
        "body": "Problem: Rate limiting\nSolution: API client has automatic retry with exponential backoff\n\nProblem: Invalid credentials\nSolution: Re-run setup, verify credentials in Kit dashboard"
      },
      {
        "title": "Reference Files",
        "body": "For subject lines:\nRead references/subject-line-formulas.md (50+ proven templates)\n\nFor email structure:\nRead references/email-best-practices.md (comprehensive guide)\n\nFor personalization:\nRead references/kit-personalization.md (all available Kit tags)\n\nFor sequences:\nRead references/sequence-templates.md (welcome, nurture, sales, onboarding)\n\nFor examples:\nCheck examples/ folder for complete email templates"
      },
      {
        "title": "Quality Standards",
        "body": "This is a premium skill. Every interaction should feel:\n\nProfessional - polished, error-free, well-structured\nHelpful - anticipate needs, guide decisions, educate\nEfficient - minimize back-and-forth, smart defaults\nSecure - protect credentials, never expose sensitive data\nHuman - conversational, not robotic\n\nUsers are paying for this. Make it worth it.\n\nThis skill represents the highest quality email marketing automation available for OpenClaw. Maintain that standard."
      }
    ],
    "body": "Kit Email Marketing Operator\n\nAI-powered email marketing for Kit (ConvertKit)\n\nVersion: 1.0.0\nDistribution: Private ClawHub (Premium Skool members only)\n\nPurpose\n\nThis skill enables OpenClaw to write, manage, and send professional email campaigns through Kit (ConvertKit). It combines AI-powered content generation with direct API integration to handle the complete email marketing workflow.\n\nCore capabilities:\n\nGenerate email copy matching user's brand voice\nCreate subject lines and preview text\nSchedule broadcasts via Kit API\nTarget specific segments and tags\nTrack campaign performance\nFollow email marketing best practices\nSetup Process\nFirst Run\n\nWhen a user requests email marketing help for the first time, initiate the setup wizard:\n\nCheck for credentials\n\nconst credsPath = '/data/.openclaw/workspace/.kit-credentials';\n\n\nIf missing, run setup.\n\nSetup wizard flow\n\nWelcome and explain what you'll collect\nRequest Kit API credentials (v4 key + secret)\nStore encrypted using scripts/credentials.js\nOptional: voice training (analyze 3-5 past emails)\nOptional: database integration (point to voice guide files)\nCollect business context (niche, audience, offers, links)\nFetch Kit custom fields for future personalization\nConfirm setup complete\n\nVoice training (if provided)\n\nAnalyze provided email samples\nExtract: tone, structure, vocabulary, sentence patterns\nSave voice profile to /data/.openclaw/workspace/.kit-voice-profile.json\nUse this profile for all future email generation\n\nDatabase integration (if configured)\n\nAsk for path to voice guide (e.g., content/writing-rules/VOICE-GUIDE.md)\nAsk for path to memory files (e.g., MEMORY.md)\nStore paths in credentials file\nRead these before generating emails\nEmail Generation Workflow\nStep 1: Clarifying Questions\n\nBefore writing any email, ask these questions:\n\nRequired:\n\nGoal: What's the purpose? (nurture/sell/announce/educate/re-engage/onboard)\nAudience: Who's receiving this? (all subscribers/specific tag/specific segment)\nMain message: What's the core point you want to communicate?\nCall to action: What should readers do? (click link/reply/take action)\n\nOptional:\n\nLinks to include: Any specific URLs to feature?\nTone preference: (if not using voice training)\nPersonalization: Should we use first name? Custom fields?\nTiming: Send now, schedule, or save as draft?\n\nExample questioning flow:\n\nI can help you write that email. A few quick questions:\n\n1. What's the goal? (nurture relationship / make a sale / announce something / educate)\n2. Who's this going to? (all subscribers / a specific tag / a segment)\n3. What's the main message or value you want to communicate?\n4. What action should they take after reading?\n5. Any links you want me to include?\n6. Should I personalize with first names?\n\nStep 2: Generate Content\n\nSubject Lines (provide 3 options):\n\nUse formulas from references/subject-line-formulas.md\nKeep 27-73 characters\nTap into curiosity, urgency, benefit, or social proof\nAvoid spam triggers (all caps, excessive punctuation)\n\nPreview Text:\n\n40-70 characters\nComplements subject line\nTeases value inside\n\nEmail Body:\n\nFollow structure from references/email-best-practices.md\nMatch user's voice (if trained) or requested tone\nInclude personalization tags if requested\nStrong hook in first sentence\nClear value proposition\nNatural CTA placement\nKeep scannable (short paragraphs, white space)\n\nPersonalization Tags: Reference references/kit-personalization.md for available tags:\n\n{{ subscriber.first_name }} - Subscriber's first name\n{{ subscriber.email_address }} - Email address\nCustom fields: {{ subscriber.YOUR_FIELD_NAME }}\n\nExample generation output:\n\n## Subject Line Options\n\n1. [Name], here's what 80% of email marketers get wrong\n2. The 3-minute email hack that doubled my opens\n3. Your subscribers are telling you something (listen closely)\n\n## Preview Text\n\nMost people ignore this signal. Here's how to spot it.\n\n## Email Body\n\nHey {{ subscriber.first_name }},\n\nQuick question: when was the last time you checked your email open rates?\n\n[rest of email...]\n\n**Call to Action:**\n[Read the full guide here →](https://example.com/guide)\n\nTalk soon,\n[Your Name]\n\nStep 3: Review & Refine\n\nPresent the email to the user and ask:\n\n\"How does this sound?\"\n\"Want me to adjust the tone?\"\n\"Should I try a different angle?\"\n\"Ready to send, or should we save as draft?\"\n\nMake revisions based on feedback.\n\nStep 4: Send via Kit API\n\nOnce approved, use scripts/kit-api.js to:\n\nCreate broadcast:\n\nconst { KitAPI } = require('./scripts/kit-api.js');\nconst kit = new KitAPI();\n\nconst broadcast = await kit.createBroadcast({\n  subject: \"Chosen subject line\",\n  content: \"Email HTML content\",\n  description: \"Internal description\",\n  send_at: \"2026-02-17T10:00:00Z\", // or null for draft\n  public: false,\n  tag_ids: [123, 456] // if targeting specific tags\n});\n\n\nOptions:\n\nDraft: send_at: null - save for review later\nSchedule: send_at: \"ISO timestamp\" - schedule for future\nSend now: Don't include send_at (immediately publishes)\n\nTargeting:\n\nAll subscribers: Don't include tag_ids or segment_ids\nSpecific tags: tag_ids: [123, 456]\nSpecific segments: segment_ids: [789]\n\nConfirm with user before sending.\n\nCampaign Management\nView Campaign Stats\n\nAfter sending, users can request performance data:\n\nconst stats = await kit.getBroadcastStats(broadcastId);\n\n\nPresent stats in readable format:\n\n📊 Campaign Performance: \"Your Subject Line\"\n\n📤 Recipients: 1,234\n📬 Opens: 456 (37%)\n🖱️ Clicks: 89 (19.5% of opens)\n🚪 Unsubscribes: 5 (0.4%)\n\n\nProvide insights:\n\nCompare to benchmarks (see references/email-best-practices.md)\nSuggest improvements for next campaign\nIdentify what worked well\nManage Drafts\n\nUsers can:\n\nList saved drafts: kit.listBroadcasts({ status: 'draft' })\nUpdate drafts: kit.updateBroadcast(id, changes)\nDelete drafts: kit.deleteBroadcast(id)\nSchedule drafts: kit.updateBroadcast(id, { send_at: timestamp })\nBest Practices (Always Follow)\nEmail Content\n\n✅ DO:\n\nWrite conversational, authentic copy\nUse short paragraphs (2-3 sentences max)\nInclude one clear CTA\nPersonalize when possible\nMake it scannable (bold, bullets, white space)\nMatch user's brand voice\nLead with value, not pitch\n\n❌ DON'T:\n\nUse spam trigger words (free, guarantee, act now)\nWrite long blocks of text\nInclude multiple conflicting CTAs\nSound robotic or corporate\nMake unsubscribing difficult\nOversell or hype\nSubject Lines\n\n✅ DO:\n\nKeep 27-73 characters\nUse curiosity, urgency, or benefit\nPersonalize when appropriate\nA/B test different approaches\nAvoid spam triggers\n\n❌ DON'T:\n\nUse all caps or excessive punctuation\nMislead about content inside\nUse spammy words\nBe too vague or too long\nSending Strategy\n\n✅ DO:\n\nSend drafts first (review before scheduling)\nTest send to yourself\nCheck deliverability (SPF, DKIM, DMARC)\nSegment your list when relevant\nTrack performance\nClean your list regularly\n\n❌ DON'T:\n\nSend without review\nBlast entire list with sales pitch\nIgnore unsubscribes or complaints\nSend too frequently (respect inbox)\nIgnore performance data\nTechnical Reference\nFile Locations\nCredentials: /data/.openclaw/workspace/.kit-credentials\nVoice Profile: /data/.openclaw/workspace/.kit-voice-profile.json\nAPI Client: skills/kit-email-operator/scripts/kit-api.js\nCredential Manager: skills/kit-email-operator/scripts/credentials.js\nAvailable Functions\n\nFrom scripts/kit-api.js:\n\n// Broadcasts\nkit.createBroadcast(data)\nkit.updateBroadcast(id, data)\nkit.deleteBroadcast(id)\nkit.getBroadcast(id)\nkit.listBroadcasts(options)\nkit.getBroadcastStats(id)\n\n// Tags\nkit.listTags()\nkit.tagSubscriber(email, tagId)\n\n// Subscribers\nkit.listSubscribers()\nkit.getSubscriber(id)\n\n// Custom Fields\nkit.listCustomFields()\n\nSecurity\nAll credentials stored encrypted (AES-256-GCM)\nNever log or display API keys\nFile permissions set to 600 (owner read/write only)\nCredentials file excluded from version control\nExample Workflows\nWorkflow 1: Welcome Email\n\nUser: \"Write a welcome email for new subscribers\"\n\nYou:\n\nI can help you write that welcome email. A few quick questions:\n\n1. What should new subscribers know about you/your business?\n2. What value will they get from being on your list?\n3. Should I include a first resource or action for them?\n4. Any specific link to send them to?\n\n\nAfter answers, generate:\n\n3 subject line options (welcoming, clear value)\nPreview text\nEmail body (introduce yourself, set expectations, deliver value, clear next step)\n\nThen: Create as draft in Kit, ask for review, schedule or send.\n\nWorkflow 2: Product Launch\n\nUser: \"I'm launching a new course. Write a sales email.\"\n\nYou:\n\nGot it. Sales email for course launch. Let me ask:\n\n1. What's the course about? (the transformation it provides)\n2. Who's it for? (ideal student)\n3. Price point?\n4. Launch date and any urgency? (early bird, limited spots, etc.)\n5. Link to sales page?\n6. Should I emphasize social proof, bonuses, or scarcity?\n\n\nAfter answers, generate:\n\n3 subject lines (curiosity + urgency)\nPreview text (benefit-driven)\nEmail body (problem → solution → transformation → offer → CTA)\n\nThen: Review together, refine, send to specific tag or segment.\n\nWorkflow 3: Re-engagement Campaign\n\nUser: \"I want to re-engage subscribers who haven't opened in 60 days\"\n\nYou:\n\nSmart move. Re-engagement campaign. Quick questions:\n\n1. What made you valuable to them when they first subscribed?\n2. What's changed or improved since then?\n3. Should we give them an option to unsubscribe (clean list)?\n4. What's the main value proposition to bring them back?\n\n\nAfter answers, generate:\n\n3 subject lines (pattern interrupt, personal, curiosity)\nPreview text (direct and honest)\nEmail body (acknowledge absence, remind of value, simple ask, easy opt-out)\n\nThen: Target specific segment in Kit (inactive subscribers), send as test first.\n\nVoice Matching\n\nIf user provided email samples during setup, reference the voice profile:\n\nVoice Profile Structure:\n\n{\n  \"tone\": \"casual and direct\",\n  \"sentence_length\": \"short, punchy sentences mixed with longer ones\",\n  \"vocabulary\": [\"honestly\", \"let's be real\", \"here's the thing\"],\n  \"patterns\": [\n    \"Uses questions to engage\",\n    \"Includes parenthetical asides\",\n    \"Admits limitations honestly\"\n  ],\n  \"formatting\": [\n    \"Short paragraphs (1-3 sentences)\",\n    \"Bold for emphasis\",\n    \"Emoji occasionally\"\n  ],\n  \"signature\": \"Ship it,\\nKevin\"\n}\n\n\nApply these elements to generated emails.\n\nTroubleshooting\nSetup Issues\n\nProblem: User doesn't have Kit credentials\nSolution: Guide them to Kit dashboard → Settings → API Keys\n\nProblem: Voice training samples too short\nSolution: Ask for longer emails (300+ words each)\n\nProblem: Can't find Kit custom fields\nSolution: Verify credentials, check Kit account has custom fields created\n\nSending Issues\n\nProblem: Broadcast fails to create\nSolution: Check credentials, verify content format, ensure valid tag_ids\n\nProblem: Email looks broken\nSolution: Check HTML formatting, test send to yourself first\n\nProblem: Low open rates\nSolution: Review subject lines, check sending time, analyze from name\n\nAPI Issues\n\nProblem: Rate limiting\nSolution: API client has automatic retry with exponential backoff\n\nProblem: Invalid credentials\nSolution: Re-run setup, verify credentials in Kit dashboard\n\nReference Files\n\nFor subject lines: Read references/subject-line-formulas.md (50+ proven templates)\n\nFor email structure: Read references/email-best-practices.md (comprehensive guide)\n\nFor personalization: Read references/kit-personalization.md (all available Kit tags)\n\nFor sequences: Read references/sequence-templates.md (welcome, nurture, sales, onboarding)\n\nFor examples: Check examples/ folder for complete email templates\n\nQuality Standards\n\nThis is a premium skill. Every interaction should feel:\n\nProfessional - polished, error-free, well-structured\nHelpful - anticipate needs, guide decisions, educate\nEfficient - minimize back-and-forth, smart defaults\nSecure - protect credentials, never expose sensitive data\nHuman - conversational, not robotic\n\nUsers are paying for this. Make it worth it.\n\nThis skill represents the highest quality email marketing automation available for OpenClaw. Maintain that standard."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/Kevjade/kit-email-operator",
    "publisherUrl": "https://clawhub.ai/Kevjade/kit-email-operator",
    "owner": "Kevjade",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/kit-email-operator",
    "downloadUrl": "https://openagent3.xyz/downloads/kit-email-operator",
    "agentUrl": "https://openagent3.xyz/skills/kit-email-operator/agent",
    "manifestUrl": "https://openagent3.xyz/skills/kit-email-operator/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/kit-email-operator/agent.md"
  }
}