meme-maker

openclaw/openclaw · Agent Skill

Creates memes from ready-made templates, suggesting formats and generating images locally or hosted.

Jump to install ↓

Install options

The review-first prompt is selected by default. You can switch to a direct command.

Install with Claude or Codex

Copy the prompt, paste it into Claude, Codex, or another assistant, and it will review the skill page and install it.

I'd like to install this Claude Code skill:
https://github.com/openclaw/openclaw/tree/main/skills/meme-maker

Please review the SKILL.md file, verify the skill is legitimate, then copy the skill folder into .claude/skills/ of my project.

Review the source files

3 files Download Zip

Read SKILL.md and any companion files before deciding whether to install. Click a file to preview it.

SKILL.md contents

Original author text · read-only

Meme Maker

Create meme drafts from a curated template registry without bundling copyrighted template images.

Quick start

  • Search: {baseDir}/scripts/meme.mjs search "bad choice"
  • Suggest: {baseDir}/scripts/meme.mjs suggest "slow python image scripts"
  • Local SVG: {baseDir}/scripts/meme.mjs render drake --text "Repeated downloads" --text "Cached templates" --out /tmp/meme.svg
  • Local PNG: {baseDir}/scripts/meme.mjs render drake --text "Maybe API" --text "Local render" --out /tmp/meme.png
  • Imgflip hosted: {baseDir}/scripts/meme.mjs render drake --service imgflip --text "before" --text "after"

Modes

  • local is default. It downloads template images from their source URL with a browser-like user agent, caches them under the user cache dir, embeds the image in an SVG, and writes SVG. If --out ends in .png, it renders through an isolated headless browser using OpenClaw's Playwright support. PNG output requires Playwright's Chromium or an installed Google Chrome; SVG output needs no browser.
  • imgflip calls Imgflip caption_image and prints the hosted URL. It requires IMGFLIP_USER and IMGFLIP_PASS unless supplied via --username and --password.

Commands

  • list [--json]: list the built-in curated templates.
  • search <query> [--json]: search template names, aliases, tags, and use cases.
  • suggest <topic> [--limit N] [--json]: rank templates for the topic.
  • render <template> --text TEXT ... [--out PATH] [--service local|imgflip]: generate a meme.
  • refresh [--limit N] [--json]: fetch current Imgflip top templates for research; do not overwrite the curated registry automatically.

Template registry

  • Read {baseDir}/references/templates.json for the curated 20-template registry.
  • Each entry includes Imgflip metadata, Know Your Meme link, aliases, tags, fields, and local text placement boxes.
  • Prefer suggest first when the user describes a joke but does not know the format.

Hygiene

  • Do not ship template image files in the skill.
  • Do not use shared or hardcoded Imgflip credentials.
  • Keep Know Your Meme lookups out of the render hot path; use KYM links for explanation/provenance only.
  • If PNG output fails because the browser is unavailable, use --out meme.svg (or another .svg path). Do not npm install packages into the skill directory or the OpenClaw tree to enable PNG.