Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/ZJU-REAL/Easelnpx agentmods add skills/zju-real/easel/meme-generatorWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/zju-real/easel/meme-generator)<a href="https://agentmods.dev/skills/zju-real/easel/meme-generator"><img src="https://agentmods.dev/badge/skills/zju-real/easel/meme-generator/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/zju-real/easel/meme-generator"><img src="https://agentmods.dev/badge/skills/zju-real/easel/meme-generator.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00178 | $0.00961 |
| Opus 5 | $0.00089 | $0.00481 |
| Sonnet 5 | $0.00036 | $0.00192 |
| Haiku 4.5 | $0.00018 | $0.00096 |
Grade A, and why
meme-generator scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
表情包 / Meme 生成
给图片加梗字做表情包。两种排版:经典上下大字叠在图上,或加纯色配文条(反应图格式)。 走
skills/shared/scripts/meme_ops.py,不要手算字号/换行——脚本已做自适应字号、 中英文换行、白字黑边。
精致金句卡片见 card-quote;小红书知识卡见 card-xiaohongshu;加水印见 image-editing。
输入
| 字段 | 必填 | 说明 |
|---|---|---|
| 底图 | 是 | 表情包底图/截图/反应图(没给就问) |
| 文字 | 是 | 上下字(overlay)或配文(bar) |
| 排版 | 否 | overlay 上下叠字(默认)/ top-bar 顶配文 / bottom-bar 底配文 |
输出(outputs/主题名/)
- 表情包图片(jpg/png)
执行步骤
脚本路径(相对项目根):skills/shared/scripts/meme_ops.py(make -h 看参数)。
# 经典上下大字(白字黑边叠图上)
python skills/shared/scripts/meme_ops.py make -i cat.jpg \
-o outputs/主题名/out.jpg --top "老板说" --bottom "这个需求很简单"
# 反应图:顶部配文条("当…的时候"格式)
python skills/shared/scripts/meme_ops.py make -i react.jpg \
-o outputs/主题名/out.jpg --layout top-bar \
--caption "当我周一早上打开电脑看到一堆消息"
# 底部黑条白字
python skills/shared/scripts/meme_ops.py make -i img.jpg -o out.png \
--layout bottom-bar --caption "这就是生活" --bar-color black --text-color white
排版怎么选
| 排版 | 效果 | 适用 |
|---|---|---|
overlay(默认) |
白字黑边叠在图上、顶/底 | 经典梗图(top/bottom text) |
top-bar |
图上方加白条黑字 | 反应图、"当…的时候" |
bottom-bar |
图下方加配文条 | 吐槽、点题 |
- 英文默认转大写(更"梗"),
--no-upper关闭。 - 描边粗细
--stroke(overlay,默认按字号自适应)。
规则
- 文字精炼——梗图靠短句,别写长段。
- 字号/换行由脚本自适应,别手动塞超长文本(会自动缩小但太长仍不好看)。
- overlay 用 --top/--bottom;bar 布局用 --caption。
- 要透明或多次叠加时输出
.png,一般发图用.jpg。 - 产物统一进
outputs/主题名/。
参考来源
经典 meme(Impact 白字黑边上下排)与中文反应图(配文条)是社媒高传播格式。用 Pillow 做 自适应字号、中英混排换行、描边,输出确定可复现。
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 69 lines · 178 tokens per session scan A fe6939f92ed3
meme-generator is a skill published in the GitHub repository ZJU-REAL/Easel (494 stars, last pushed yesterday), licensed Apache-2.0. It adds 178 tokens to every session and 961 once invoked, about $0.0009 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
chart-visualization
Generate charts: select type, extract data, render image.
ppt-generation
Generate PPTX presentations from slide plan + content.
jacky-motion2-0-srt
A workflow for turning a Chinese spoken script and matching SRT subtitle file into a single 16:9 HTML information animation. SRT is a subtitle file that stores text with start and end times; the animation follows those times and adds recorded-screen placeholders when needed.
video-podcast-maker
Use when the user gives a topic and wants an automated topic-driven narrated explainer, podcast, or knowledge-summary video (Bilibili / YouTube / Xiaohongshu / Douyin / WeChat Channels), or asks to learn visual design patterns from a reference video/image. Trigger when the user mentions creating a knowledge video…
video-podcast-maker-lite
Minimal personal narrated-video pipeline — a topic becomes a talking-head-free explainer MP4 (1080p or 4K) via script → Azure TTS (SSML) → Remotion. Use when the user wants a quick narrated video from a topic without the full video-podcast-maker machinery (no extra skills, no thumbnails/shorts/publish matrix). Do NOT…
video-podcast-maker-nano
Smallest personal narrated-explainer-video pipeline (spoken narration over visuals, not an audio podcast), fully tool-agnostic and autonomous by default — topic → research ∥ asset collection → script → TTS → video → 4K render ∥ publish info + cover. The skill defines the pipeline logic and self-verified checkpoints…