meme-maker — Claude Code skill: what it does, how to install
Searches meme templates from a curated registry, suggests formats for your joke, and renders images locally (SVG or PNG) or via Imgflip.
npx skills add openclaw/openclaw --skill meme-maker -a claude-codeWhat meme-maker does
The skill provides commands to search 20 curated meme templates, suggest the best match for your topic, and render the image. It runs a Node.js script meme.mjs with two modes: local (default) and imgflip.
Local mode downloads the template image, caches it, embeds it in an SVG, and writes the file. If the output path ends in .png, it renders through an isolated headless browser — you need Playwright's Chromium or an installed Google Chrome. SVG output needs no browser. The imgflip mode calls the caption_image API and returns a hosted URL; it requires IMGFLIP_USER and IMGFLIP_PASS environment variables.
Commands: search (find by name and tags), suggest (rank by topic), render (generate meme with text), list (show templates), refresh (fetch Imgflip data). The template registry lives in references/templates.json with metadata, aliases, and text box coordinates.
What it helps with
- generate meme images from code
- find the right template for a joke
- output PNG without external services
- cache templates for offline use
- get hosted meme URLs via Imgflip
Example prompts for the agent
- search for a template about slow code
- render drake meme with 'repeated requests' and 'cache'
- show all available meme templates
How to install meme-maker
1Skills CLI (Vercel)
npx skills add openclaw/openclaw --skill meme-maker -a claude-code2Manually: put the files in place
~/.claude/skills/meme-maker/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/meme-maker/
1Skills CLI (Vercel)
npx skills add openclaw/openclaw --skill meme-maker -a codex2Manually: put the files in place
.agents/skills/meme-maker/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add openclaw/openclaw --skill meme-maker -a cursor2Manually: put the files in place
.cursor/skills/meme-maker/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install openclaw/openclaw meme-maker2Manually: put the files in place
.github/skills/meme-maker/SKILL.md1Skills CLI (Vercel)
npx skills add openclaw/openclaw --skill meme-maker -a gemini-cli2Platform CLI
gemini skills install https://github.com/openclaw/openclaw --path skills/meme-makerManually: put the files in place
.devin/skills/meme-maker/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add openclaw/openclaw --skill meme-maker -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set48
The whole set →Similar
Questions about meme-maker
How to install meme-maker in Claude Code?
Run npx skills add openclaw/openclaw --skill meme-maker -a claude-code, the skill manifest will appear in ~/.claude/skills/meme-maker/SKILL.md.
What does meme-maker do?
It searches meme templates from a 20-format registry, suggests the best match for your description, and renders the image — locally as SVG or PNG, or via Imgflip as a hosted URL.
Does meme-maker need a browser?
SVG output does not need a browser. PNG output requires Playwright's Chromium or an installed Google Chrome to render the SVG to raster in headless mode.
Source text
SKILL.md · MIT
---
name: meme-maker
description: Search meme templates, suggest formats, and generate local or hosted image memes.
metadata: { "openclaw": { "emoji": "🖼️", "requires": { "bins": ["node"] } } }
---
# 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.
© openclaw · MIT · openclaw/openclaw