Skip to content
Back to skills

Meme Factory

ASecurity

When the user wants to create memes, add humor to content, or generate visual aids for social media. Triggers on: "make a meme", "create meme", "meme about", "meme factory", or requests for humor/visual comedy. Supports 100+ templates via the memegen.link API and 15+ textual meme formats in Markdown.

  • 11 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added February 10, 2026
content-marketingpythongobashtestinggitapidocumentation

Works with

  • api

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned February 12, 2026

npx -y skills add wpank/ai --skill meme-factory --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Meme Factory?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Meme Factory
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/wpank-meme-factory/badge)](https://www.skillsdirectory.com/skills/wpank-meme-factory)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: Meme Factory
model: fast
description: >
  When the user wants to create memes, add humor to content, or generate visual
  aids for social media. Triggers on: "make a meme", "create meme", "meme about",
  "meme factory", or requests for humor/visual comedy. Supports 100+ templates
  via the memegen.link API and 15+ textual meme formats in Markdown.
version: 1.0.0
tags: [memes, humor, social-media, tools, content]
---

# Meme Factory

Generate memes using the free memegen.link API and textual Markdown meme formats. No API key required.


## Installation

### OpenClaw / Moltbot / Clawbot

```bash
npx clawhub@latest install meme-factory
```


## NEVER Do

- Use spaces in meme URLs without encoding them as `_` or `-`
- Assume a template exists without checking the templates list
- Write more than 2-6 words per line (text becomes unreadable)
- Use the wrong template for the context (e.g., "success" template for failures)
- Omit the file extension in URLs (`.png`, `.jpg`, etc.)
- Forget to encode special characters (`?` → `~q`, `/` → `~s`, `%` → `~p`, `#` → `~h`)

## Quick Start

### URL Structure

```
https://api.memegen.link/images/{template}/{top_text}/{bottom_text}.{ext}
```

**Example:**

```
https://api.memegen.link/images/buzz/bugs/bugs_everywhere.png
```

### Text Encoding

| Character | Encoding |
|-----------|----------|
| Space | `_` or `-` |
| Newline | `~n` |
| Question mark | `~q` |
| Percent | `~p` |
| Slash | `~s` |
| Hash | `~h` |
| Single quote | `''` |
| Double quote | `""` |

## Popular Templates

| Template | Use Case | When To Use |
|----------|----------|-------------|
| `drake` | Comparing options | Rejecting one thing, approving another |
| `buzz` | Ubiquitous things | "X, X everywhere" |
| `success` | Celebrating wins | Positive outcomes |
| `fine` | Problems ignored | Ironic "everything is fine" |
| `fry` | Uncertainty | "Not sure if X or Y" |
| `changemind` | Hot takes | Stating an opinion confidently |
| `distracted` | Priorities | Being distracted by something new |
| `mordor` | Bad ideas | "One does not simply..." |
| `interesting` | Rare occurrences | "I don't always X, but when I do..." |
| `yodawg` | Meta/recursive | "Yo dawg, I heard you like X" |

Full list: https://api.memegen.link/templates/

## Contextual Template Selection

| Context | Template | Why |
|---------|----------|-----|
| Comparing options | `drake` | Two-panel reject/approve format |
| Celebrating wins | `success` | Positive outcome emphasis |
| Problems ignored | `fine` | Ironic calm amid chaos |
| Uncertainty | `fry` | "Not sure if X or Y" format |
| Controversial opinion | `changemind` | Statement + challenge |
| Ubiquitous things | `buzz` | "X, X everywhere" |
| Bad ideas | `mordor` | "One does not simply..." |

## Image Options

### Formats

| Extension | Use Case |
|-----------|----------|
| `.png` | Best quality (default) |
| `.jpg` | Smaller file size |
| `.webp` | Modern, good compression |
| `.gif` | Animated templates |

### Dimensions by Platform

| Platform | Dimensions | Usage |
|----------|------------|-------|
| Social media / Open Graph | `?width=1200&height=630` | Twitter, LinkedIn, Facebook |
| Slack / Discord | `?width=800&height=600` | Chat platforms |
| GitHub | Default | PRs, issues, README |

### Layout Options

```
?layout=top       # Text at top only
?layout=bottom    # Text at bottom only
?layout=default   # Standard top/bottom
```

## Textual Meme Formats (Markdown)

Beyond image memes, create text-based memes directly in Markdown:

- **Greentext** — Code fence with `>` prefixed lines for anon-culture narratives
- **Copypasta** — Dramatic walls of text in code fences
- **Shitpost poetry** — Hard line breaks for comedic timing
- **ASCII art** — Monospaced art in code fences
- **Tumblr chains** — Nested blockquotes for multi-speaker escalation
- **Twitter/X style** — Short blockquote micro-memes
- **Reddit AITA/TIFU** — Heading + paragraphs narrative memes
- **Wojak dialogues** — Bold names + minimal dialogue
- **Discord chat logs** — Code fence with timestamps
- **Corporate satire** — Lists + bold labels for fake official notices
- **Fake wiki/manual pages** — Technical jargon for mundane objects

Full guide with examples: [references/markdown-memes-guide.md](references/markdown-memes-guide.md)

## Validation Checklist

After generating a meme:

- URL returns valid image (test with `curl -I`)
- Text is readable (not too long)
- Template matches the message context
- Special characters properly encoded
- Dimensions appropriate for target platform

## Embedding in Markdown

```markdown
![Description](https://api.memegen.link/images/drake/manual_testing/automated_testing.png)
```

Always provide descriptive alt text for accessibility:

- Good: `![Drake rejecting manual testing, approving automated testing]`
- Bad: `![funny meme]`

## Custom Backgrounds

Use any image as a meme background with the `custom` template:

```
https://api.memegen.link/images/custom/top_text/bottom_text.png?style=https://example.com/image.jpg
```

Pair screenshots of apps, dashboards, or charts as backgrounds for contextual humor.

## Mixing Text + Image Memes

For blog posts and documentation, alternate between formats for pacing:

1. **Start with text** (greentext/chat log) to set up context
2. **Follow with image** to amplify the punchline
3. **Close with text** (corporate satire/poetry) for resolution

**Good patterns:** Greentext → Image → Corporate satire, Chat log → Image → Shitpost poetry

**Avoid:** 5 images in a row (visual fatigue), 3 long copypastas back-to-back (reader exhaustion)

## API Reference

| Endpoint | Purpose |
|----------|---------|
| `/templates/` | List all available templates |
| `/templates/{id}` | Template details and example |
| `/fonts/` | Available fonts |
| `/images/{template}/{top}/{bottom}.{ext}` | Generate meme image |

**API characteristics:** Free, open-source, no API key, no rate limiting, stateless, images generated on-demand.

## Python Helper Script

```python
from meme_generator import MemeGenerator

meme = MemeGenerator()

# Generate a basic meme URL
url = meme.generate("buzz", "features", "features everywhere")

# With custom dimensions for social media
url = meme.generate("drake", "old way", "new way", width=1200, height=630)

# Get markdown for embedding
md = meme.get_markdown_image(url, alt_text="Comparison Meme")

# Suggest template based on context
template = meme.suggest_template_for_context("deployment success")
```

## References

| File | Content |
|------|---------|
| [references/markdown-memes-guide.md](references/markdown-memes-guide.md) | 15+ textual meme formats with examples and production tips |
| [references/examples.md](references/examples.md) | Practical usage examples, integrations (Slack, GitHub, Discord) |

### Scripts

| Script | Purpose |
|--------|---------|
| [scripts/meme_generator.py](scripts/meme_generator.py) | Python helper for programmatic meme generation with 20+ templates |

Files in this skill

  • README.md1.8 KB
  • SKILL.md6.9 KB
  • references/examples.md10.8 KB
  • references/markdown-memes-guide.md23.4 KB
  • scripts/meme_generator.py8.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.