{
  "schemaVersion": "1.0",
  "item": {
    "slug": "multi-channel-engagement-agent",
    "name": "Multi-Channel Engagement Agent",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/Story91/multi-channel-engagement-agent",
    "canonicalUrl": "https://clawhub.ai/Story91/multi-channel-engagement-agent",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/multi-channel-engagement-agent",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=multi-channel-engagement-agent",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "assets/sample-config.json",
      "references/persona-config.md",
      "references/platform-apis.md",
      "references/reply-strategies.md",
      "scripts/engage.mjs",
      "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/multi-channel-engagement-agent"
    },
    "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/multi-channel-engagement-agent",
    "agentPageUrl": "https://openagent3.xyz/skills/multi-channel-engagement-agent/agent",
    "manifestUrl": "https://openagent3.xyz/skills/multi-channel-engagement-agent/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/multi-channel-engagement-agent/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": "Multi-Channel Engagement Agent",
        "body": "Autonomous engagement bot for Twitter, Farcaster, and Moltbook. Fetches trending content, generates persona-driven contextual replies, tracks replied posts to prevent duplicates."
      },
      {
        "title": "1. Create Config",
        "body": "Copy assets/sample-config.json to config.json and fill in your credentials (see Setup Guides section below)."
      },
      {
        "title": "2. Run Engagement",
        "body": "# Engage on specific platform\nnode scripts/engage.mjs --platform twitter\nnode scripts/engage.mjs --platform farcaster\nnode scripts/engage.mjs --platform moltbook\n\n# Engage on all enabled platforms\nnode scripts/engage.mjs --all"
      },
      {
        "title": "Dependencies & Setup Guides",
        "body": "This skill integrates multiple platforms. Setup each one:"
      },
      {
        "title": "Farcaster Setup (required for Farcaster engagement)",
        "body": "Skill: farcaster-agent (https://clawhub.com/skills/farcaster-agent)\n\nPrerequisites:\n\nMinimum $1 ETH or USDC on any chain (Ethereum, Optimism, Base, Arbitrum, Polygon)\nMinimum 0.0005 ETH on Optimism for FID registration\n\nAuto-setup command:\n\nclawhub install farcaster-agent\nPRIVATE_KEY=0x... node src/auto-setup.js \"Your first cast\"\n\nWhat you'll get:\n\n{\n  \"fid\": 123456,\n  \"neynarApiKey\": \"...\",\n  \"signerPrivateKey\": \"...\",\n  \"custodyPrivateKey\": \"0x...\"\n}\n\nCost breakdown:\n\nFID registration: ~$0.20 (requires 0.0005 ETH + gas)\nSigner key: ~$0.05\nBridging: ~$0.10-0.20\nTotal: ~$0.50 (budget $1 for safety)\n\nNeynar API:\n\nFree tier: 300 requests/minute\nGet key: https://dev.neynar.com"
      },
      {
        "title": "Twitter Setup (required for Twitter engagement)",
        "body": "Two options:\n\nOption A: x-api (OAuth 1.0a, official)\n\nGet credentials at https://developer.x.com/en/portal/dashboard\nCreate Project → App\nSet permissions: Read and Write\nRate limits: Tweets 50/15min, Searches 450/15min\n\nOption B: AISA API (alternative, good for trending)\n\nAISA API endpoint: https://api.aisa.one/apis/v1/twitter/tweet/advanced_search\nGet API key at https://aisa.one\nSearches via AISA are fast and reliable for trending\nConfig: add aisaTwitterApiKey to twitter platform\n\nRecommendation: Use AISA for trending discovery, x-api for posting (replies)"
      },
      {
        "title": "Moltbook Setup (required for Moltbook engagement)",
        "body": "API Base: https://www.moltbook.com/api/v1 (note: use www)\n\nGet API key:\n\nRegister at https://www.moltbook.com\nGet token from account settings\nVerify: https://www.moltbook.com/api/v1/posts\n\n⚠️ CRITICAL: Only send API key to www.moltbook.com, never to other domains\n\nVerification: Posts require solving math captcha (automated in this skill)"
      },
      {
        "title": "Summary Config",
        "body": "All credentials go into config.json:\n\n{\n  \"platforms\": {\n    \"twitter\": { \"oauth\": {...} },\n    \"farcaster\": { \"neynarApiKey\": \"...\", \"fid\": 123, ... },\n    \"moltbook\": { \"apiKey\": \"...\" }\n  }\n}"
      },
      {
        "title": "Step 1: Load Configuration",
        "body": "Read config.json for platform credentials\nLoad persona settings (tone, values, style)\nLoad state from engagement-state.json (replied posts)"
      },
      {
        "title": "Step 2: Fetch Trending",
        "body": "Twitter (OAuth 1.0a via x-api approach):\n\n// Uses twitter-api-v2 with OAuth 1.0a\nconst client = new TwitterApi({\n  appKey: config.twitter.oauth.consumerKey,\n  appSecret: config.twitter.oauth.consumerSecret,\n  accessToken: config.twitter.oauth.accessToken,\n  accessSecret: config.twitter.oauth.accessTokenSecret\n});\nconst trending = await client.v2.search('crypto OR web3 OR base', { max_results: 10 });\n\nFarcaster (Neynar API):\n\nconst response = await fetch('https://api.neynar.com/v2/farcaster/feed/trending?limit=5', {\n  headers: { 'x-api-key': config.farcaster.neynarApiKey }\n});\n\nMoltbook:\n\nconst response = await fetch('https://www.moltbook.com/api/v1/posts/trending', {\n  headers: { 'Authorization': `Bearer ${config.moltbook.apiKey}` }\n});"
      },
      {
        "title": "Step 3: Filter Already Replied",
        "body": "Load engagement-state.json\nFilter out posts with IDs in repliedPosts[platform]\nSelect random unreplied post from remaining"
      },
      {
        "title": "Step 4: Generate Contextual Reply",
        "body": "Based on persona config, analyze post content and generate reply:\n\nReply Generation Rules:\n\nRead the post carefully - understand topic, tone, intent\nMatch persona - use configured tone, values, signature emoji\nAdd specific value - technical insight, question, or genuine reaction\nAvoid generic praise - no \"Great post!\", \"Love this!\"\nKeep it natural - crypto slang if persona dictates, short sentences\n\nTone Balance (configurable):\n\nEducational: technical insights, explanations, resources\nCommunity Vibes: celebration, encouragement, connection\nHumor: wit, self-aware jokes, memes (when appropriate)"
      },
      {
        "title": "Step 5: Post Reply",
        "body": "Twitter:\n\nawait client.v2.reply(replyText, originalTweetId);\n\nFarcaster (via farcaster-agent pattern):\n\n// Uses post-cast.js with PARENT_FID + PARENT_HASH\nconst result = await postCast({\n  privateKey: config.farcaster.custodyPrivateKey,\n  signerPrivateKey: config.farcaster.signerPrivateKey,\n  fid: config.farcaster.fid,\n  text: replyText,\n  parentFid: originalCast.author.fid,\n  parentHash: originalCast.hash\n});\n\nMoltbook:\n\nawait fetch('https://www.moltbook.com/api/v1/comments', {\n  method: 'POST',\n  headers: { 'Authorization': `Bearer ${config.moltbook.apiKey}` },\n  body: JSON.stringify({ postId, content: replyText })\n});"
      },
      {
        "title": "Step 6: Update State",
        "body": "{\n  \"lastUpdated\": \"2026-02-12T11:00:00Z\",\n  \"repliedPosts\": {\n    \"twitter\": [\"1234567890\", \"0987654321\"],\n    \"farcaster\": [\"0xabc123...\", \"0xdef456...\"],\n    \"moltbook\": [\"uuid-1\", \"uuid-2\"]\n  },\n  \"stats\": {\n    \"totalReplies\": 47,\n    \"byPlatform\": { \"twitter\": 20, \"farcaster\": 15, \"moltbook\": 12 }\n  }\n}"
      },
      {
        "title": "Persona Configuration Guide",
        "body": "See references/persona-config.md for detailed persona setup.\n\nQuick Examples:\n\n// Crypto-native builder\n{\n  \"tone\": \"crypto-native, technical, supportive\",\n  \"signatureEmoji\": \"🦞\",\n  \"values\": [\"shipping\", \"community\", \"open-source\"],\n  \"phrases\": [\"ships > talks\", \"ser\", \"wagmi\", \"based\"]\n}\n\n// Professional analyst\n{\n  \"tone\": \"professional, analytical, educational\",\n  \"signatureEmoji\": \"📊\",\n  \"values\": [\"accuracy\", \"depth\", \"clarity\"],\n  \"phrases\": [\"data suggests\", \"worth noting\", \"key insight\"]\n}"
      },
      {
        "title": "Platform-Specific Notes",
        "body": "See references/platform-apis.md for API details.\n\nTwitter: OAuth 1.0a required. Rate limits: 50 tweets/15min, 300 tweets/3hr.\n\nFarcaster: Neynar API + x402 payments (0.001 USDC/call). Requires FID + signer key.\n\nMoltbook: API key auth. Verification captcha for posts/comments."
      },
      {
        "title": "Reply Quality Guidelines",
        "body": "See references/reply-strategies.md for detailed strategies.\n\nGolden Rules:\n\nSpecific > Generic - If you can't add specific value, stay silent\nQuality > Quantity - One thoughtful reply beats five generic ones\nAuthentic > Performative - Sound human, not bot\nValue > Visibility - Help the community, don't just farm engagement\n\nWhat Works:\n✅ Technical questions showing understanding\n✅ Specific insights from experience\n✅ Genuine celebration with substance\n✅ Helpful resources and connections\n\nWhat Fails:\n❌ Generic praise (\"Love this!\", \"Great post!\")\n❌ Corporate speak (\"excited to announce\")\n❌ Surface-level comments\n❌ Forced humor"
      },
      {
        "title": "Cron Integration",
        "body": "To run automatically, create a cron job:\n\n{\n  \"name\": \"Multi-Channel Engagement - Every 6h\",\n  \"schedule\": { \"kind\": \"cron\", \"expr\": \"0 */6 * * *\" },\n  \"payload\": {\n    \"kind\": \"agentTurn\",\n    \"message\": \"Run multi-channel-engagement-agent: engage on all platforms\",\n    \"model\": \"haiku\"\n  }\n}"
      },
      {
        "title": "Content Filters",
        "body": "Skip spam, scams, and low-quality content automatically.\n\n\"filters\": {\n  \"skipKeywords\": [\"airdrop\", \"free money\", \"send dm\", \"check bio\"],\n  \"minEngagement\": { \"likes\": 5, \"replies\": 2 },\n  \"skipBots\": true,\n  \"languageFilter\": [\"en\", \"es\"]\n}"
      },
      {
        "title": "Mention Tracking",
        "body": "Reply to mentions of your account, not just trending.\n\nnode scripts/engage.mjs --mentions --platform=twitter"
      },
      {
        "title": "Webhook Notifications",
        "body": "Send engagement results to Telegram or Discord.\n\n\"webhooks\": {\n  \"telegram\": {\n    \"enabled\": true,\n    \"botToken\": \"YOUR_BOT_TOKEN\",\n    \"chatId\": \"YOUR_CHAT_ID\"\n  },\n  \"discord\": {\n    \"enabled\": false,\n    \"webhookUrl\": \"https://discord.com/api/webhooks/...\"\n  }\n}"
      },
      {
        "title": "User Blacklist/Whitelist",
        "body": "Skip bots, prioritize builders.\n\n\"users\": {\n  \"blacklist\": [\"spambot123\", \"scammer456\"],\n  \"whitelist\": [\"jessepollak\", \"vitalik\"],\n  \"prioritizeVerified\": true\n}"
      },
      {
        "title": "Analytics Tracking",
        "body": "Track engagement stats over time in analytics.json.\n\n{\n  \"daily\": {\n    \"2026-02-12\": {\n      \"replies\": 4,\n      \"platforms\": { \"twitter\": 2, \"farcaster\": 2 },\n      \"engagement\": { \"likes\": 15, \"replies\": 3 }\n    }\n  },\n  \"allTime\": {\n    \"totalReplies\": 247,\n    \"avgEngagement\": 4.2\n  }\n}"
      },
      {
        "title": "Quote Support",
        "body": "Quote tweets/recasts instead of direct replies.\n\nnode scripts/engage.mjs --quote --platform=twitter\nnode scripts/engage.mjs --quote --platform=farcaster"
      },
      {
        "title": "Troubleshooting",
        "body": "\"Already replied to all trending\" - All top posts already engaged. Wait for new trending content.\n\nTwitter rate limit - Wait 15 minutes. Consider reducing frequency.\n\nFarcaster \"unknown fid\" - Hub not synced. Wait 30-60 seconds.\n\nMoltbook verification failed - Solve the math captcha in verification response."
      },
      {
        "title": "Files",
        "body": "scripts/engage.mjs - Main engagement script\nscripts/fetch-trending.mjs - Fetch trending by platform\nscripts/generate-reply.mjs - Persona-driven reply generation\nscripts/post-reply.mjs - Post reply to platform\nreferences/persona-config.md - Persona configuration guide\nreferences/platform-apis.md - Platform API documentation\nreferences/reply-strategies.md - Reply quality strategies"
      }
    ],
    "body": "Multi-Channel Engagement Agent\n\nAutonomous engagement bot for Twitter, Farcaster, and Moltbook. Fetches trending content, generates persona-driven contextual replies, tracks replied posts to prevent duplicates.\n\nQuick Start\n1. Create Config\n\nCopy assets/sample-config.json to config.json and fill in your credentials (see Setup Guides section below).\n\n2. Run Engagement\n# Engage on specific platform\nnode scripts/engage.mjs --platform twitter\nnode scripts/engage.mjs --platform farcaster\nnode scripts/engage.mjs --platform moltbook\n\n# Engage on all enabled platforms\nnode scripts/engage.mjs --all\n\nDependencies & Setup Guides\n\nThis skill integrates multiple platforms. Setup each one:\n\nFarcaster Setup (required for Farcaster engagement)\n\nSkill: farcaster-agent (https://clawhub.com/skills/farcaster-agent)\n\nPrerequisites:\n\nMinimum $1 ETH or USDC on any chain (Ethereum, Optimism, Base, Arbitrum, Polygon)\nMinimum 0.0005 ETH on Optimism for FID registration\n\nAuto-setup command:\n\nclawhub install farcaster-agent\nPRIVATE_KEY=0x... node src/auto-setup.js \"Your first cast\"\n\n\nWhat you'll get:\n\n{\n  \"fid\": 123456,\n  \"neynarApiKey\": \"...\",\n  \"signerPrivateKey\": \"...\",\n  \"custodyPrivateKey\": \"0x...\"\n}\n\n\nCost breakdown:\n\nFID registration: ~$0.20 (requires 0.0005 ETH + gas)\nSigner key: ~$0.05\nBridging: ~$0.10-0.20\nTotal: ~$0.50 (budget $1 for safety)\n\nNeynar API:\n\nFree tier: 300 requests/minute\nGet key: https://dev.neynar.com\nTwitter Setup (required for Twitter engagement)\n\nTwo options:\n\nOption A: x-api (OAuth 1.0a, official)\n\nGet credentials at https://developer.x.com/en/portal/dashboard\nCreate Project → App\nSet permissions: Read and Write\nRate limits: Tweets 50/15min, Searches 450/15min\n\nOption B: AISA API (alternative, good for trending)\n\nAISA API endpoint: https://api.aisa.one/apis/v1/twitter/tweet/advanced_search\nGet API key at https://aisa.one\nSearches via AISA are fast and reliable for trending\nConfig: add aisaTwitterApiKey to twitter platform\n\nRecommendation: Use AISA for trending discovery, x-api for posting (replies)\n\nMoltbook Setup (required for Moltbook engagement)\n\nAPI Base: https://www.moltbook.com/api/v1 (note: use www)\n\nGet API key:\n\nRegister at https://www.moltbook.com\nGet token from account settings\nVerify: https://www.moltbook.com/api/v1/posts\n\n⚠️ CRITICAL: Only send API key to www.moltbook.com, never to other domains\n\nVerification: Posts require solving math captcha (automated in this skill)\n\nSummary Config\n\nAll credentials go into config.json:\n\n{\n  \"platforms\": {\n    \"twitter\": { \"oauth\": {...} },\n    \"farcaster\": { \"neynarApiKey\": \"...\", \"fid\": 123, ... },\n    \"moltbook\": { \"apiKey\": \"...\" }\n  }\n}\n\nCore Workflow\nStep 1: Load Configuration\nRead config.json for platform credentials\nLoad persona settings (tone, values, style)\nLoad state from engagement-state.json (replied posts)\nStep 2: Fetch Trending\n\nTwitter (OAuth 1.0a via x-api approach):\n\n// Uses twitter-api-v2 with OAuth 1.0a\nconst client = new TwitterApi({\n  appKey: config.twitter.oauth.consumerKey,\n  appSecret: config.twitter.oauth.consumerSecret,\n  accessToken: config.twitter.oauth.accessToken,\n  accessSecret: config.twitter.oauth.accessTokenSecret\n});\nconst trending = await client.v2.search('crypto OR web3 OR base', { max_results: 10 });\n\n\nFarcaster (Neynar API):\n\nconst response = await fetch('https://api.neynar.com/v2/farcaster/feed/trending?limit=5', {\n  headers: { 'x-api-key': config.farcaster.neynarApiKey }\n});\n\n\nMoltbook:\n\nconst response = await fetch('https://www.moltbook.com/api/v1/posts/trending', {\n  headers: { 'Authorization': `Bearer ${config.moltbook.apiKey}` }\n});\n\nStep 3: Filter Already Replied\nLoad engagement-state.json\nFilter out posts with IDs in repliedPosts[platform]\nSelect random unreplied post from remaining\nStep 4: Generate Contextual Reply\n\nBased on persona config, analyze post content and generate reply:\n\nReply Generation Rules:\n\nRead the post carefully - understand topic, tone, intent\nMatch persona - use configured tone, values, signature emoji\nAdd specific value - technical insight, question, or genuine reaction\nAvoid generic praise - no \"Great post!\", \"Love this!\"\nKeep it natural - crypto slang if persona dictates, short sentences\n\nTone Balance (configurable):\n\nEducational: technical insights, explanations, resources\nCommunity Vibes: celebration, encouragement, connection\nHumor: wit, self-aware jokes, memes (when appropriate)\nStep 5: Post Reply\n\nTwitter:\n\nawait client.v2.reply(replyText, originalTweetId);\n\n\nFarcaster (via farcaster-agent pattern):\n\n// Uses post-cast.js with PARENT_FID + PARENT_HASH\nconst result = await postCast({\n  privateKey: config.farcaster.custodyPrivateKey,\n  signerPrivateKey: config.farcaster.signerPrivateKey,\n  fid: config.farcaster.fid,\n  text: replyText,\n  parentFid: originalCast.author.fid,\n  parentHash: originalCast.hash\n});\n\n\nMoltbook:\n\nawait fetch('https://www.moltbook.com/api/v1/comments', {\n  method: 'POST',\n  headers: { 'Authorization': `Bearer ${config.moltbook.apiKey}` },\n  body: JSON.stringify({ postId, content: replyText })\n});\n\nStep 6: Update State\n{\n  \"lastUpdated\": \"2026-02-12T11:00:00Z\",\n  \"repliedPosts\": {\n    \"twitter\": [\"1234567890\", \"0987654321\"],\n    \"farcaster\": [\"0xabc123...\", \"0xdef456...\"],\n    \"moltbook\": [\"uuid-1\", \"uuid-2\"]\n  },\n  \"stats\": {\n    \"totalReplies\": 47,\n    \"byPlatform\": { \"twitter\": 20, \"farcaster\": 15, \"moltbook\": 12 }\n  }\n}\n\nPersona Configuration Guide\n\nSee references/persona-config.md for detailed persona setup.\n\nQuick Examples:\n\n// Crypto-native builder\n{\n  \"tone\": \"crypto-native, technical, supportive\",\n  \"signatureEmoji\": \"🦞\",\n  \"values\": [\"shipping\", \"community\", \"open-source\"],\n  \"phrases\": [\"ships > talks\", \"ser\", \"wagmi\", \"based\"]\n}\n\n// Professional analyst\n{\n  \"tone\": \"professional, analytical, educational\",\n  \"signatureEmoji\": \"📊\",\n  \"values\": [\"accuracy\", \"depth\", \"clarity\"],\n  \"phrases\": [\"data suggests\", \"worth noting\", \"key insight\"]\n}\n\nPlatform-Specific Notes\n\nSee references/platform-apis.md for API details.\n\nTwitter: OAuth 1.0a required. Rate limits: 50 tweets/15min, 300 tweets/3hr.\n\nFarcaster: Neynar API + x402 payments (0.001 USDC/call). Requires FID + signer key.\n\nMoltbook: API key auth. Verification captcha for posts/comments.\n\nReply Quality Guidelines\n\nSee references/reply-strategies.md for detailed strategies.\n\nGolden Rules:\n\nSpecific > Generic - If you can't add specific value, stay silent\nQuality > Quantity - One thoughtful reply beats five generic ones\nAuthentic > Performative - Sound human, not bot\nValue > Visibility - Help the community, don't just farm engagement\n\nWhat Works: ✅ Technical questions showing understanding ✅ Specific insights from experience ✅ Genuine celebration with substance ✅ Helpful resources and connections\n\nWhat Fails: ❌ Generic praise (\"Love this!\", \"Great post!\") ❌ Corporate speak (\"excited to announce\") ❌ Surface-level comments ❌ Forced humor\n\nCron Integration\n\nTo run automatically, create a cron job:\n\n{\n  \"name\": \"Multi-Channel Engagement - Every 6h\",\n  \"schedule\": { \"kind\": \"cron\", \"expr\": \"0 */6 * * *\" },\n  \"payload\": {\n    \"kind\": \"agentTurn\",\n    \"message\": \"Run multi-channel-engagement-agent: engage on all platforms\",\n    \"model\": \"haiku\"\n  }\n}\n\nAdvanced Features\nContent Filters\n\nSkip spam, scams, and low-quality content automatically.\n\n\"filters\": {\n  \"skipKeywords\": [\"airdrop\", \"free money\", \"send dm\", \"check bio\"],\n  \"minEngagement\": { \"likes\": 5, \"replies\": 2 },\n  \"skipBots\": true,\n  \"languageFilter\": [\"en\", \"es\"]\n}\n\nMention Tracking\n\nReply to mentions of your account, not just trending.\n\nnode scripts/engage.mjs --mentions --platform=twitter\n\nWebhook Notifications\n\nSend engagement results to Telegram or Discord.\n\n\"webhooks\": {\n  \"telegram\": {\n    \"enabled\": true,\n    \"botToken\": \"YOUR_BOT_TOKEN\",\n    \"chatId\": \"YOUR_CHAT_ID\"\n  },\n  \"discord\": {\n    \"enabled\": false,\n    \"webhookUrl\": \"https://discord.com/api/webhooks/...\"\n  }\n}\n\nUser Blacklist/Whitelist\n\nSkip bots, prioritize builders.\n\n\"users\": {\n  \"blacklist\": [\"spambot123\", \"scammer456\"],\n  \"whitelist\": [\"jessepollak\", \"vitalik\"],\n  \"prioritizeVerified\": true\n}\n\nAnalytics Tracking\n\nTrack engagement stats over time in analytics.json.\n\n{\n  \"daily\": {\n    \"2026-02-12\": {\n      \"replies\": 4,\n      \"platforms\": { \"twitter\": 2, \"farcaster\": 2 },\n      \"engagement\": { \"likes\": 15, \"replies\": 3 }\n    }\n  },\n  \"allTime\": {\n    \"totalReplies\": 247,\n    \"avgEngagement\": 4.2\n  }\n}\n\nQuote Support\n\nQuote tweets/recasts instead of direct replies.\n\nnode scripts/engage.mjs --quote --platform=twitter\nnode scripts/engage.mjs --quote --platform=farcaster\n\nTroubleshooting\n\n\"Already replied to all trending\" - All top posts already engaged. Wait for new trending content.\n\nTwitter rate limit - Wait 15 minutes. Consider reducing frequency.\n\nFarcaster \"unknown fid\" - Hub not synced. Wait 30-60 seconds.\n\nMoltbook verification failed - Solve the math captcha in verification response.\n\nFiles\nscripts/engage.mjs - Main engagement script\nscripts/fetch-trending.mjs - Fetch trending by platform\nscripts/generate-reply.mjs - Persona-driven reply generation\nscripts/post-reply.mjs - Post reply to platform\nreferences/persona-config.md - Persona configuration guide\nreferences/platform-apis.md - Platform API documentation\nreferences/reply-strategies.md - Reply quality strategies"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/Story91/multi-channel-engagement-agent",
    "publisherUrl": "https://clawhub.ai/Story91/multi-channel-engagement-agent",
    "owner": "Story91",
    "version": "1.0.3",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/multi-channel-engagement-agent",
    "downloadUrl": "https://openagent3.xyz/downloads/multi-channel-engagement-agent",
    "agentUrl": "https://openagent3.xyz/skills/multi-channel-engagement-agent/agent",
    "manifestUrl": "https://openagent3.xyz/skills/multi-channel-engagement-agent/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/multi-channel-engagement-agent/agent.md"
  }
}