Meme Generation

SkillMedia

Generate meme images from curated classic templates, dynamic imgflip templates, or a custom image. Produces real `.png` or `.jpg` artifacts in the workspace.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Meme Generation skill

What this skill tells your AI

The instructions your AI receives, as published by hybridaione/hybridclaw in community-skills/meme-generation/SKILL.md and read by ahel’s review.

Generate actual meme images from a topic. Pick a template, write captions, and render a real image file with text overlay.

When to Use

  • User asks you to make or generate a meme
  • User wants a meme about a specific topic, situation, or frustration
  • User says "meme this" or similar

Available Templates

The script supports:

  • curated classic templates backed by image URLs
  • dynamic imgflip templates by name or ID
  • custom images with optional top and bottom bars

Curated templates are grouped into packs and can be filtered with --pack.

Source strategy:

  • Curated templates use meme-platform image URLs.
  • Dynamic templates come from the imgflip API.

Curated Templates

IDNameFieldsBest for
this-is-fineThis is Finetop, bottomchaos, denial
drakeDrake Hotline Blingreject, approverejecting or preferring
distracted-boyfriendDistracted Boyfrienddistraction, current, persontemptation, shifting priorities
two-buttonsTwo Buttonsleft, right, personimpossible choice
expanding-brainExpanding Brain4 levelsescalating irony
change-my-mindChange My Mindstatementhot takes
woman-yelling-at-catWoman Yelling at Catwoman, catarguments
one-does-not-simplyOne Does Not Simplytop, bottomdeceptively hard things
grus-planGru's Planstep1-3, realizationplans that backfire
batman-slapping-robinBatman Slapping Robinrobin, batmanshutting down bad ideas

Dynamic Templates

Any template not in the curated list can still be used by name or imgflip ID. Curated search is metadata-aware and matches ids, aliases, tags, people, and pack names.

Examples:

python3 scripts/generate_meme.py --search "disaster"
python3 scripts/generate_meme.py --search "drake" --curated-only
python3 scripts/generate_meme.py --list --pack classic
python3 scripts/generate_meme.py --list --pack classic --show-source
python3 scripts/generate_meme.py --info drake

Procedure

Mode 1: Classic Template

  1. Read the user's topic and identify the core meme structure: chaos, dilemma, preference, irony, or backfire.
  2. Pick the template that best matches. Use the curated table above or search with --search.
  3. Write short captions for each field. Prefer 8 to 12 words maximum per field.
  4. Run the generator and write the output into the current workspace so HybridClaw can return it as an artifact:
    python3 scripts/generate_meme.py <template_id> ./meme.png "caption 1" "caption 2"
    
  5. Return the generated image artifact.

For curated template discovery:

python3 scripts/generate_meme.py --list --pack classic
python3 scripts/generate_meme.py --search "boyfriend" --curated-only
python3 scripts/generate_meme.py --info this-is-fine

Mode 2: Custom Image

Use this when no classic template fits, or when the user wants something original.

  1. Write the captions first.
  2. Generate or locate the source image.
  3. Run the script with --image to overlay text:
    • Overlay mode:
      python3 scripts/generate_meme.py --image /path/to/scene.png ./meme.png "top text" "bottom text"
      
    • Bar mode:
      python3 scripts/generate_meme.py --image /path/to/scene.png --bars ./meme.png "top text" "bottom text"
      
  4. Use --bars when the image is visually busy and direct overlay would hurt readability.
  5. Return the generated image artifact.

Examples

"debugging production at 2 AM":

python3 scripts/generate_meme.py this-is-fine ./meme.png "SERVERS ARE ON FIRE" "This is fine"

"choosing between sleep and one more episode":

python3 scripts/generate_meme.py drake ./meme.png "Getting 8 hours of sleep" "One more episode at 3 AM"

"the stages of a Monday morning":

python3 scripts/generate_meme.py expanding-brain ./meme.png "Setting an alarm" "Setting 5 alarms" "Sleeping through all alarms" "Working from bed"

"everyone wants the repo moved":

python3 scripts/generate_meme.py drake ./meme.png "Leaving the repo where it is" "Let's move the repository"

Listing Templates

To see the curated templates:

python3 scripts/generate_meme.py --list
python3 scripts/generate_meme.py --list --pack classic
python3 scripts/generate_meme.py --list --pack classic --show-source

Pitfalls

  • Keep captions short. Long meme text usually looks bad.
  • Match the number of text arguments to the template's field count.
  • Pick the template that fits the joke structure, not just the topic.
  • Do not generate hateful, abusive, or personally targeted content.
  • Do not use the skill to target a real private individual. For public figures or celebrities, avoid harassment, defamation, or demeaning personal attacks.
  • Template downloads and imgflip API data are cached in a per-user temp cache directory.
  • Write output files into the current workspace, not /tmp, when you want HybridClaw to return the image automatically.

Verification

The output is correct if:

  • An image file was created at the output path
  • Text is legible on the template or custom image
  • The joke structure matches the chosen template
  • The file is written inside the current workspace so artifact collection can pick it up

Signals

GitHub stars
132
Forks
12
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
meme-generation-hybridaione
Source
github.com/hybridaione/hybridclaw