{
  "schemaVersion": "1.0",
  "item": {
    "slug": "smart-meme-generator",
    "name": "Smart Meme Generator",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/olisim02/smart-meme-generator",
    "canonicalUrl": "https://clawhub.ai/olisim02/smart-meme-generator",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/smart-meme-generator",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=smart-meme-generator",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/generate_meme.py"
    ],
    "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-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/smart-meme-generator"
    },
    "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/smart-meme-generator",
    "agentPageUrl": "https://openagent3.xyz/skills/smart-meme-generator/agent",
    "manifestUrl": "https://openagent3.xyz/skills/smart-meme-generator/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/smart-meme-generator/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": "Smart Meme Generator 🎭",
        "body": "Generate actual meme images from any topic. Uses imgflip API (free) for real image generation — returns shareable URLs."
      },
      {
        "title": "How It Works",
        "body": "Two-step process:\n\nTemplate selection — analyzes topic keywords to pick the best meme format\nImage generation — creates the actual meme image with your captions via imgflip API\n\nThe agent (you) provides the creative captions. The script handles template matching and image creation."
      },
      {
        "title": "Select best template for a topic",
        "body": "python3 scripts/generate_meme.py \"your topic here\"\n\nReturns recommended template and box count."
      },
      {
        "title": "Generate actual meme image",
        "body": "python3 scripts/generate_meme.py --template drake --captions \"Bad option\" \"Good option\"\n\nReturns a real image URL (e.g., https://i.imgflip.com/xxxxx.jpg)."
      },
      {
        "title": "List all templates",
        "body": "python3 scripts/generate_meme.py --list"
      },
      {
        "title": "JSON output (for automation)",
        "body": "python3 scripts/generate_meme.py --template drake --captions \"text1\" \"text2\" --json"
      },
      {
        "title": "Available Templates (20+)",
        "body": "KeyNameBoxesBest FordrakeDrake Hotline Bling2Comparisons, preferencesdistractedDistracted Boyfriend3Temptation, switching loyaltiesfineThis Is Fine2Chaos, denial, everything's brokenbrainExpanding Brain4Escalating levels, galaxy brain takescatWoman Yelling at Cat2Arguments, confusionchangeChange My Mind1Hot takes, controversial opinionsbuttonsTwo Buttons3Impossible choices, dilemmaspikachuSurprised Pikachu2Obvious/predictable outcomesstonksStonks1Money, trading, cryptopanikPanik Kalm Panik3Panic-relief-panic sequencesbuff_dogeBuff Doge vs Cheems4Then vs now comparisonsunoUNO Draw 252Refusing to do somethingalways_has_beenAlways Has Been2Revelationsgru_planGru's Plan4Plans that backfiretrade_offerTrade Offer3Deals, exchangesbernieBernie Asking1Repeated requestsleft_exitLeft Exit Off Ramp3Ignoring the obvious choicedisaster_girlDisaster Girl2Evil satisfactionhide_painHide the Pain Harold2Pretending everything's OKthink_about_itThink About It2Big brain logic"
      },
      {
        "title": "Workflow for Agent",
        "body": "When user asks for a meme:\n\nRun template selection with their topic to get the best format\nWrite witty, specific captions that fit the template (be creative, match internet humor)\nGenerate the image with --captions\nSend the image URL to the user\n\nCaption tips:\n\nKeep text SHORT — memes aren't essays\nUse internet humor conventions (lowercase, no periods, specific > generic)\nMatch the template's energy (drake = preference, pikachu = obvious outcome, etc.)\nBe specific to the topic — generic captions are never funny"
      },
      {
        "title": "Setup",
        "body": "The skill ships with a free imgflip account. To use your own:\n\nexport IMGFLIP_USER=\"your_username\"\nexport IMGFLIP_PASS=\"your_password\"\n\nRegister free at https://imgflip.com/signup"
      },
      {
        "title": "Dependencies",
        "body": "None — pure Python stdlib (urllib only)."
      }
    ],
    "body": "Smart Meme Generator 🎭\n\nGenerate actual meme images from any topic. Uses imgflip API (free) for real image generation — returns shareable URLs.\n\nHow It Works\n\nTwo-step process:\n\nTemplate selection — analyzes topic keywords to pick the best meme format\nImage generation — creates the actual meme image with your captions via imgflip API\n\nThe agent (you) provides the creative captions. The script handles template matching and image creation.\n\nCommands\nSelect best template for a topic\npython3 scripts/generate_meme.py \"your topic here\"\n\n\nReturns recommended template and box count.\n\nGenerate actual meme image\npython3 scripts/generate_meme.py --template drake --captions \"Bad option\" \"Good option\"\n\n\nReturns a real image URL (e.g., https://i.imgflip.com/xxxxx.jpg).\n\nList all templates\npython3 scripts/generate_meme.py --list\n\nJSON output (for automation)\npython3 scripts/generate_meme.py --template drake --captions \"text1\" \"text2\" --json\n\nAvailable Templates (20+)\nKey\tName\tBoxes\tBest For\ndrake\tDrake Hotline Bling\t2\tComparisons, preferences\ndistracted\tDistracted Boyfriend\t3\tTemptation, switching loyalties\nfine\tThis Is Fine\t2\tChaos, denial, everything's broken\nbrain\tExpanding Brain\t4\tEscalating levels, galaxy brain takes\ncat\tWoman Yelling at Cat\t2\tArguments, confusion\nchange\tChange My Mind\t1\tHot takes, controversial opinions\nbuttons\tTwo Buttons\t3\tImpossible choices, dilemmas\npikachu\tSurprised Pikachu\t2\tObvious/predictable outcomes\nstonks\tStonks\t1\tMoney, trading, crypto\npanik\tPanik Kalm Panik\t3\tPanic-relief-panic sequences\nbuff_doge\tBuff Doge vs Cheems\t4\tThen vs now comparisons\nuno\tUNO Draw 25\t2\tRefusing to do something\nalways_has_been\tAlways Has Been\t2\tRevelations\ngru_plan\tGru's Plan\t4\tPlans that backfire\ntrade_offer\tTrade Offer\t3\tDeals, exchanges\nbernie\tBernie Asking\t1\tRepeated requests\nleft_exit\tLeft Exit Off Ramp\t3\tIgnoring the obvious choice\ndisaster_girl\tDisaster Girl\t2\tEvil satisfaction\nhide_pain\tHide the Pain Harold\t2\tPretending everything's OK\nthink_about_it\tThink About It\t2\tBig brain logic\nWorkflow for Agent\n\nWhen user asks for a meme:\n\nRun template selection with their topic to get the best format\nWrite witty, specific captions that fit the template (be creative, match internet humor)\nGenerate the image with --captions\nSend the image URL to the user\n\nCaption tips:\n\nKeep text SHORT — memes aren't essays\nUse internet humor conventions (lowercase, no periods, specific > generic)\nMatch the template's energy (drake = preference, pikachu = obvious outcome, etc.)\nBe specific to the topic — generic captions are never funny\nSetup\n\nThe skill ships with a free imgflip account. To use your own:\n\nexport IMGFLIP_USER=\"your_username\"\nexport IMGFLIP_PASS=\"your_password\"\n\n\nRegister free at https://imgflip.com/signup\n\nDependencies\n\nNone — pure Python stdlib (urllib only)."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/olisim02/smart-meme-generator",
    "publisherUrl": "https://clawhub.ai/olisim02/smart-meme-generator",
    "owner": "olisim02",
    "version": "1.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/smart-meme-generator",
    "downloadUrl": "https://openagent3.xyz/downloads/smart-meme-generator",
    "agentUrl": "https://openagent3.xyz/skills/smart-meme-generator/agent",
    "manifestUrl": "https://openagent3.xyz/skills/smart-meme-generator/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/smart-meme-generator/agent.md"
  }
}