Skip to content
Content
Skill

/meme-card-maker

Meme-format graphic generator — top + bottom text + optional centerpiece image. Impact-style bold typography. 5 templates: drake, distracted-boyfriend, expanding-brain, two-buttons, custom. Optional --base-photo. Default gpt-image-2. Use when: 'meme', 'meme template', 'meme

From plugin
mikefluff-skills
1944 skills2 commands1 hook
Install
$ npx -y skills add Mikefluff/skills --skill meme-card-maker --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/meme-card-maker

Context preview

The summary Claude sees to decide when to auto-load this skill.

Meme-format graphic generator — top + bottom text + optional centerpiece image. Impact-style bold typography. 5 templates: drake, distracted-boyfriend, expanding-brain, two-buttons, custom. Optional --base-photo. Default gpt-image-2. Use when: 'meme', 'meme template', 'meme

SKILL.md

meme-card-maker.SKILL.md
name: meme-card-maker
description: "Meme-format graphic generator — top + bottom text + optional centerpiece image. Impact-style bold typography. 5 templates: drake, distracted-boyfriend, expanding-brain, two-buttons, custom. Optional --base-photo. Default gpt-image-2. Use when: 'meme', 'meme template', 'meme image', 'мем', 'сделай мем'."

license: MIT
allowed-tools:
  - Read
  - Write
  - Edit
  - Bash
  - Grep
  - Glob

<objective> Meme-format graphic generator. Input: top text + bottom text + optional centerpiece (template or user photo). Output: classic meme-aesthetic image with Impact-style typography.

Distinct from `quote-card-maker`:

  • Two text blocks (top + bottom), not one quote + attribution
  • Impact-font bold-with-stroke typography (the universal meme look)
  • Often references a known meme template (drake, distracted-boyfriend, expanding-brain)
  • Aesthetic: meme template, NOT editorial — uglier is often funnier

Distinct from `flyer-maker` / `cover-maker`:

  • No event details, no creator metadata
  • Different aesthetic vocabulary (Impact font, stroke outline, low-fidelity feel)
  • Often references specific cultural meme formats

This skill does NOT:

  • Generate animated GIF memes — use `gif-maker` separately
  • Watermark / credit the original meme template creator — that's your responsibility
  • Verify cultural appropriateness — your judgment
  • Translate meme captions — pass in target language
  • Place text at PIXEL-perfect template positions — model approximates

</objective>

ROLE

Read top text + bottom text + optional template hint + optional base photo → pick visual-integration-strong model → assemble prompt cueing Impact-style typography with stroke, meme aesthetic → batch execute → save PNGs.

PIPELINE

1. **Resolve text**:

  • `--top "<text>"` — top caption (≤8 words, ALL CAPS rendered)
  • `--bottom "<text>"` — bottom caption (≤8 words, ALL CAPS rendered)
  • At least one of top / bottom required

2. **Resolve template** (optional):

  • `--template drake|distracted-boyfriend|expanding-brain|two-buttons|change-my-mind|custom`
  • `drake`: 2-panel "rejects / approves"
  • `distracted-boyfriend`: 3-character composition
  • `expanding-brain`: 4-panel ascending
  • `two-buttons`: sweaty decision
  • `change-my-mind`: seated man with sign
  • `custom`: just the captions on whatever centerpiece the model generates
  • Default: `custom`

3. **Resolve base photo** (optional):

  • `--base-photo <path-or-url>` — use user image as centerpiece
  • Implies `--template custom` (template hints are ignored when base photo is provided)

4. **Pick model**:

  • With `--base-photo`: `nano-banana-pro` (preserves visual, adds caption layer)
  • Template-based: `gpt-image-2` (best at illustration + text rendering)
  • Override: `--model <slug>`

5. **Compose ONE LLM call** — load [`common/visual-prompt-library/system-prompt.md`](../../common/visual-prompt-library/system-prompt.md) (shared SYSTEM_PROMPT) and `buildUserMessage(opts)` with `Mode=meme-card`, `N=<variants>`, top + bottom captions + template + optional base photo. Spawn ONE Agent. Receives JSON `{"slides":[{"number":1,"prompt":"..."}]}` — 1–3 sentence prompts with template-specific composition + Impact-style typography cues + meme aesthetic ("white text with thick black stroke, all caps, low-fidelity, slight JPEG artifacts"). Captions in double quotes. See `references/templates.md` for template composition. Library styles via [`common/visual-prompt-library/styles/_index.md`](../../common/visual-prompt-library/styles/_index.md).

6. **Estimate cost + confirm** — inherits `SKILLS_CAROUSEL_BUDGET=1.50`.

7. **Batch execute** — `common.runners.batch.run_batch()`.

8. **Output**:

   ./generated/meme/<slug>/
     meme-v1.png
     meme-v2.png
     manifest.json
     prompts.md

MODES

Required

  • `meme-card-maker --top "<text>"` (top) OR `--bottom "<text>"` (bottom; at least one required)

Optional content

  • `--template drake|distracted-boyfriend|expanding-brain|two-buttons|change-my-mind|custom`
  • `--base-photo <path-or-url>` — user image as centerpiece
  • `--context "<note>"` — situational context to help the model interpret captions
  • `--lang en|ru` — language hint (default: en)

Visual

  • `--variants N` — variants (default 3)
  • `--model auto|<slug>` — image provider
  • `--style-mod "<override>"` — append tweak (e.g., "extra pixelated, deepfried meme aesthetic")
  • `--aspect square|portrait|landscape` — composition aspect (default `square` 1080×1080)

Execution

  • `--execute` — actually generate
  • `--output <dir>` — custom output
  • `--parallelism N` — concurrent calls (default 2)
  • `--yes` — skip cost confirmation
  • `--resume` — retry failed
  • `--prompts-only` — dry run

REFERENCES (load on demand)

| File | When to load | |---|---| | [references/templates.md](references/templates.md) | Step 2 — meme template anatomy, composition cues per template | | [references/typography.md](references/typography.md) | Step 5 — Impact font conventions, stroke outline rules, when to deviate | | [references/troubleshoot.md](references/troubleshoot.md) | When text doesn't read, template doesn't recognize, etc. |

EXAMPLES

See [examples/before-after.md](examples/before-after.md) — 3 calibration runs: drake template developer joke, custom photo meme, expanding-brain progression.

CONSTRAINTS

  • **Captions ≤8 words each.** Past 8, text overflows; Impact-style bold needs space.
  • **ALL CAPS rendering.** All meme captions auto-uppercase. If you pass lowercase, it's rendered uppercase. Exception: `--lang ru` keeps mixed case for Cyrillic readability (Cyrillic ALL CAPS is harder to read).
  • **Default model is `gpt-image-2`.** Best at illustration + integrated text. `nano-banana-pro` when base photo is provided.
  • **Template recognition is approximate.** "Drake" template is approximated by the model — won't be pixel-identical to the original. For exact template: use a meme generator tool (Imgf
Read more
Ships withmikefluff-skills

44 skills for Claude Code that make content — and refuse to let it read like a machine made it. Prose editing that strips the tells. Prompt engineering for 40+ image, video and music models, with optional one-command execution against the real APIs.

Get the whole plugin
Stats
19
Stars
1
Forks
Maintained
Maintenance
Python
Language
MIT
License
1mo ago
Last commit
3mo ago
Created

Repo: Mikefluff/skills

Other skills on mikefluff-skills.