Skip to main content

meme-iq

memeIQ — AI-powered meme generation using the memegen.link API. Creates memes from templates, adds text to meme images, and generates humor for PR descriptions, changelogs, and team communication. Triggers on "create a meme", "make a meme", "meme", "generate meme", "funny image for PR".

跳到安装

来源信息

仓库
All-The-Vibes/ATV-StarterKit
最近来源活动
2026年4月24日 15:23
检测到的 SKILL.md 语言
英语
星标
51
分支
15

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
meme-iq
description
memeIQ — AI-powered meme generation using the memegen.link API. Creates memes from templates, adds text to meme images, and generates humor for PR descriptions, changelogs, and team communication. Triggers on "create a meme", "make a meme", "meme", "generate meme", "funny image for PR".
argument-hint
[topic or context for the meme]
# memeIQ — Meme Generation with memegen.link > *Your AI meme sommelier — because every PR deserves a punchline.* Generate memes using the free, public memegen.link API. No API key, no auth, no config required. ## Quick Reference | Setting | Value | |---------|-------| | Base URL | `https://api.memegen.link/images` | | Formats | `.png`, `.jpg`, `.gif` (animated), `.webp` (animated) | | Max text | ~200 chars per line (HTTP 414 if exceeded) | | Templates | 200+ available; 16 curated below | | Auth | None required | ## URL Construction The URL pattern uses **variable-length path segments** — one segment per text line: ``` https://api.memegen.link/images/{template_id}/{line1}/{line2}/.../{lineN}.{format} ``` ### Examples **2-line template** (`drake` — Drakeposting): ``` https://api.memegen.link/images/drake/Writing_tests/Writing_memes.png ``` **1-line template** (`cmm` — Change My Mind): ``` https://api.memegen.link/images/cmm/Tabs_are_better_than_spaces.png ``` **3-line template** (`db` — Distracted Boyfriend): ``` https://api.memegen.link/images/db/New_framework/My_current_project/Proven_technology.png ``` **4-line template** (`gru` — Gru's Plan): ``` https://api.memegen.link/images/gru/Write_a_migration/Deploy_to_prod/Drop_the_table/Drop_the_table.png ``` **Blank line** — use a single underscore `_` for an empty text segment: ``` https://api.memegen.link/images/fry/_/Not_sure_if_bug_or_feature.png ``` **Markdown embed** for PRs and docs: ```markdown ![Meme](https://api.memegen.link/images/drake/Manual_testing/CI~s~CD_pipeline.png) ``` ### Optional Query Parameters | Param | Effect | Example | |-------|--------|---------| | `width` | Image width in px | `?width=400` | | `height` | Image height in px | `?height=300` | | `font` | Font name | `?font=impact` | | `layout` | `default` or `top` | `?layout=top` | | `style` | Template-specific styles | `?style=maga` | ## Special Character Encoding Text in the URL path must encode special characters: | Character | Encoding | Example | |-----------|----------|---------| | space | `_` | `Hello_world` | | underscore | `__` | `my__var` | | dash | `--` | `well--known` | | `?` | `~q` | `Why~q` | | `&` | `~a` | `this~a_that` | | `%` | `~p` | `100~p` | | `#` | `~h` | `issue_~h42` | | `/` | `~s` | `CI~sCD` | | newline | `~n` | `line1~nline2` | | `"` | `''` | `''quoted''` | ## Curated Dev Templates Known-good as of 2026-04-23. If a template ID fails, query `/templates` (see Template Discovery below). | API ID | Name | Lines | Best For | |--------|------|-------|----------| | `drake` | Drakeposting | 2 | Preferring one thing over another | | `db` | Distracted Boyfriend | 3 | Temptation / switching technologies | | `cmm` | Change My Mind | 1 | Hot takes / unpopular opinions | | `both` | Why Not Both? | 2 | Having it all | | `fine` | This Is Fine | 2 | Production incidents / ignoring problems | | `mordor` | One Does Not Simply | 2 | Difficulty of a task | | `astronaut` | Always Has Been | 4 | Realizations / "wait, it always was?" | | `exit` | Left Exit 12 Off Ramp | 3 | Choosing the wrong path | | `gb` | Galaxy Brain | 4 | Escalating ideas from normal to absurd | | `disastergirl` | Disaster Girl | 2 | Watching something burn | | `rollsafe` | Roll Safe | 2 | "Can't fail if..." logic | | `kermit` | But That's None of My Business | 2 | Clever workarounds / passive observation | | `buzz` | X, X Everywhere | 2 | Something ubiquitous | | `success` | Success Kid | 2 | Celebrating wins | | `fry` | Futurama Fry | 2 | "Not sure if..." ambiguity | | `gru` | Gru's Plan | 4 | Step-by-step plans that backfire | ## Template Discovery To find templates beyond the curated list, query the API: ``` GET https://api.memegen.link/templates ``` Returns JSON array. Each entry has: - `id` — template ID for URL construction - `name` — human-readable name - `lines` — number of text lines supported - `keywords` — searchable tags **Check a specific template:** ``` GET https://api.memegen.link/templates/{id} ``` **Search by keyword:** Filter the full list client-side by matching `keywords` or `name` fields. If a template ID you want to use isn't in the curated list, verify it exists with a GET request before constructing the URL. ## Line Count and Text Handling ### Match text to the template's line count Each template supports a specific number of text lines (see `Lines` column in the curated table). **You must provide the correct number of path segments.** - **1-line template** (e.g., `cmm`): `/cmm/{line1}.png` - **2-line template** (e.g., `drake`): `/drake/{line1}/{line2}.png` - **3-line template** (e.g., `db`): `/db/{line1}/{line2}/{line3}.png` - **4-line template** (e.g., `gru`): `/gru/{line1}/{line2}/{line3}/{line4}.png` ### Blank lines Use a single underscore `_` for any line that should be empty: ``` /drake/_/Only_bottom_text.png ``` ### Long text strategies If text exceeds ~200 characters per line: 1. **Shorten it** — meme text should be punchy, not a paragraph 2. **Split across lines** — use `~n` for newlines within a single line segment 3. **Switch template** — choose one with more lines (e.g., `gru` has 4) 4. **Use `layout=top`** — places all text at the top for better readability on long text ### When to use `layout=top` Add `?layout=top` when a template's default text placement doesn't work well: - Single-line templates where you want text at the top - Long text that wraps poorly at default position ## Output Formatting ### URL only (default) Return the clickable link: ``` https://api.memegen.link/images/drake/Fixing_bugs/Creating_features.png ``` ### Markdown embed (for PRs and docs) ```markdown ![Fixing bugs vs creating features](https://api.memegen.link/images/drake/Fixing_bugs/Creating_features.png) ``` ### Download command (when user requests local file) ```bash curl -sL -o meme.png "https://api.memegen.link/images/drake/Fixing_bugs/Creating_features.png" ``` ## Content Safety Guidelines - **Workplace appropriate** — memes should be safe for professional contexts - **No targeting individuals** — never create memes that mock specific people - **No hate speech or harassment** — refuse requests for discriminatory content - **Use existing public templates** — avoid branded or logo-heavy custom concepts - **No NSFW content** — keep all generated memes clean - When in doubt, choose a lighter tone or decline the request ## Important Notes - **Template IDs must be valid** — never fabricate an ID. If unsure, check `/templates/{id}` first. - **HTTP 414** occurs when URL path is too long (~200+ chars per line). Keep meme text short. - **Animation** — `.gif` and `.webp` formats support animation on templates that have it. - **Blank text** — use `_` not an empty string. Empty segments produce malformed URLs. - **Case insensitive** — template IDs are case-insensitive but conventionally lowercase. - **GitHub rendering** — markdown image embeds render in PR descriptions, comments, and README files.
在 GitHub 查看