Easel is an open-source content workspace and AI agent for managing social media from trend discovery through planning, content creation, publishing, and performance analysis. It is intended for social media creators and maintains separate account profiles, content projects, platform adaptations, and publishing records. The catalogue skills support these content and publishing workflows.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add ZJU-REAL/Easel --skill gzh-designgit clone --depth 1 https://github.com/ZJU-REAL/EaselWrote 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/gzh-design)<a href="https://agentmods.dev/skills/zju-real/easel/gzh-design"><img src="https://agentmods.dev/badge/skills/zju-real/easel/gzh-design/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/gzh-design"><img src="https://agentmods.dev/badge/skills/zju-real/easel/gzh-design.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.00254 | $0.05466 |
| Opus 5 | $0.00127 | $0.02733 |
| Sonnet 5 | $0.00051 | $0.01093 |
| Haiku 4.5 | $0.00025 | $0.00547 |
Grade A, and why
gzh-design 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 today.
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.
How it starts
The opening of the file, as written. The whole thing — 171 lines — stays where its author put it; the contents beside it link to each section on GitHub.
公众号文章排版 Skill
把一篇 Markdown 文章转换为可直接复制粘贴进微信公众号编辑器、且粘贴后样式不丢失的 HTML。
核心资产是 references/ 下的主题组件库(每套一个主题:设计变量 + 各组件完整 HTML + 模板骨架 + 映射规则)外加 1 套通用增量库(代码块 / 图片·GIF / 小标签标题,所有主题共用)。主题清单以 references/theme-index.md 为单一来源。本 SKILL.md 只负责流程与决策,具体 HTML 代码一律从组件库取,不要凭记忆手写。
工作流
0. 输入与格式归一化
用户可能给:Markdown 文本或 .md 路径(直接进第 1 步)、.docx、.pdf、.txt/无标记纯文本、网页富文本。非 Markdown 输入必须先读 references/format-normalize.md 按其规则转成 Markdown 草稿并做结构确认(docx 用 scripts/extract_docx.py,PDF 用 Read 分页读取+清噪,纯文本按标题启发式推断结构)。什么都没给时,向用户索要。
用户说「直接排 / 自动排 / 一键 / 不用问」时进全自动模式:跳过结构确认与选主题提问,自动推断结构、按题材自选主题、排版校验,交付时附决策说明(章节结构、自拟标题、选题理由)。
1. 选主题(自动推荐制)
读 references/theme-index.md(主题信息的单一来源)。据文章题材主动推荐最契合的主题,再让用户一步确认——推荐但不擅自定死:
- 用户已在请求里指定主题 → 直接用,不问。
- 题材有明确契合 → 单问确认:「建议用 XX(理由),确认还是换一套?」选项给推荐项 + 1~2 个备选 + "看全部"。题材→主题契合参考 theme-index"适用场景"列:
- 教程 / 测评 / 清单 / 工具盘点 / 知识整理 / 方法论拆解(信息密度高)→ 摸鱼绿
- 深度分析 / 观点 / 力量感话题 → 红白色系
- 设计 / 科技评论 / 专业观点 / 高端品牌 → 石墨极简风
- 禅意 / 极简生活 / 深度随笔 → 留白禅意风
- 工具对比 / 创意评测(票据视觉隐喻)→ 摸鱼票据风
- 内刊手记 / 深度评测 / 案例复盘 → 橄榄手记
- 无明显倾向 → 默认首选 theme-index 第一行(摸鱼绿)作为推荐项放第一位,用 AskUserQuestion 让用户在几套里选(主题多于 4 套时先按气质分组问,再问该组下主题)。
- 全自动模式(用户明说「直接排 / 一键 / 不用问」)→ 不提问,自动选题材最契合主题或默认第一行,交付时说明选择理由。
- 用户对现有主题都不满意 / 想要新风格 → 走「自定义主题生成」流程(见下节),生成并登记后再回到本步选用。
- theme-index 为空 → 停止排版,告知用户需要先添加主题风格(可走「自定义主题生成」)。
用户定下主题后,才进入该主题内部的组件匹配(第 3、4 步:判定文章类型 → 按该主题的配方表选组件组合)。
2. 读组件库(两份)
(1) 据 theme-index 中该主题的"组件库文件"列,Read 该主题专属组件库 references/theme-{标识}.md(含引言卡、章节标题、正文标记、签名等主题专属组件)。
(2) 同时 Read 通用增量库 references/common-components.md——代码块、图片/GIF、小标签标题这三类所有主题共用,套用当前主题主色即可。
后续生成完全依据这两份组件库,HTML 一律从中取、不要手写。
3. 解析 Markdown 结构
| 元素 | 识别规则 |
|---|---|
| 文章标题 | # 标题 或 frontmatter title |
| 开头引言 | 文章最开头的 > 引用 块 |
| 章节标题 | ## 标题 |
| 子章节 | ### 标题 |
| 加粗 / 高亮 / 下划线 | **文字** / ==文字== / <u>文字</u> 或 ++文字++ |
| 引用段落 | 非开头的 > 文字 |
| 图片 / GIF | 、(GIF 与图片同样处理) |
| 代码 / 命令 / Prompt | ``` 围栏代码块 ```、行内 `code` |
| 分割线 / 列表 | ---、*** / - 项 或 1. 项 |
| 表格 | | 分隔的 Markdown 表格(常来自 docx 转换)→ 优先用主题库的表格/卡片组件(主题库映射规则为准) |
What ships with it
60 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- archive/gallery-v1/cardnote.html 19 KB
- archive/gallery-v1/cream.html 18 KB
- archive/gallery-v1/datainfo.html 30 KB
- archive/gallery-v1/dianlan.html 18 KB
- archive/gallery-v1/graphite.html 20 KB
- archive/gallery-v1/heibaihui.html 18 KB
- archive/gallery-v1/heikeji.html 23 KB
- archive/gallery-v1/hongbai.html 17 KB
- archive/gallery-v1/hupo.html 17 KB
- archive/gallery-v1/jiaotang.html 18 KB
- archive/gallery-v1/lvkeji.html 21 KB
- archive/gallery-v1/magfeature.html 22 KB
- archive/gallery-v1/meigui.html 17 KB
- archive/gallery-v1/mistblue.html 20 KB
- archive/gallery-v1/qingshiban.html 17 KB
- archive/gallery-v1/rich_hongbai.html 14 KB
- archive/gallery-v1/rich_morandi.html 15 KB
- archive/gallery-v1/rich_terminal.html 18 KB
- archive/gallery-v1/rich_zen.html 13 KB
- archive/gallery-v1/tianlan.html 16 KB
- archive/gallery-v1/zise.html 18 KB
- archive/themes-v1/theme-amber-orange.md 22 KB
- archive/themes-v1/theme-caramel-brown.md 23 KB
- archive/themes-v1/theme-card-notes.md 34 KB
- archive/themes-v1/theme-cream-warmth.md 22 KB
- archive/themes-v1/theme-data-infographic.md 35 KB
- archive/themes-v1/theme-editorial-feature.md 26 KB
- archive/themes-v1/theme-elegant-purple.md 21 KB
- archive/themes-v1/theme-emerald-tech.md 24 KB
- archive/themes-v1/theme-indigo-business.md 21 KB
- archive/themes-v1/theme-mist-blue.md 25 KB
- archive/themes-v1/theme-mono-black.md 20 KB
- archive/themes-v1/theme-morandi.md 25 KB
- archive/themes-v1/theme-rose-pink.md 23 KB
- archive/themes-v1/theme-sky-blue.md 14 KB
- archive/themes-v1/theme-slate-minimal.md 22 KB
- archive/themes-v1/theme-terminal.md 28 KB
- archive/themes-v1/theme-terracotta-tech.md 21 KB
- assets/preview-template.html 2.9 KB
- assets/sample-article.md 2.7 KB
- assets/theme-previews/theme-mono-blue-editorial.html 45 KB
- CONTRIBUTING.md 2.0 KB
- docs/all-themes.md 1.9 KB
- docs/gallery/graphite-minimal.html 18 KB
- docs/gallery/index.html 2.9 KB
- docs/gallery/moyu-green.html 25 KB
- docs/gallery/moyu-ticket.html 22 KB
- docs/gallery/olive-journal.html 26 KB
- docs/gallery/red-white.html 19 KB
- docs/gallery/sample-article.md 2.7 KB
- docs/gallery/zen-whitespace.html 17 KB
- EASEL-META.md 1.1 KB
- LICENSE 34 KB
- README.en.md 16 KB
- README.md 20 KB
- references/common-components.md 11 KB
- references/eval-cases.md 5.6 KB
- references/format-normalize.md 4.4 KB
- references/theme-generator.md 25 KB
- references/theme-graphite-minimal.md 33 KB
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.
- today First seen · 171 lines · 254 tokens per session scan A d25752656749
gzh-design is a skill published in the GitHub repository ZJU-REAL/Easel (1,091 stars, last pushed yesterday), licensed Apache-2.0. It adds 254 tokens to every session and 5,466 once invoked, about $0.0013 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-09-15.
Other skills, from other repositories
markitdown-file-intake
Use when the user provides a MarkItDown-supported file or URL and converting it to Markdown first will make inspection easier, cheaper, or more reliable.
nano-pdf
Edits PDF files using natural-language instructions via the nano-pdf CLI. Supports modifying text, changing titles, fixing typos, and updating content on specific pages. Use when the user wants to edit a PDF, modify PDF content, update PDF text, fix a typo in a PDF, change a PDF title, or rewrite part of a PDF page.
hive.pdf
Read, write, merge, split, rotate, watermark, encrypt, and OCR PDF files using Python (pypdf, pdfplumber, reportlab, pypdfium2) and command-line tools (poppler-utils, qpdf). Use when the user asks to extract text/tables/images from a PDF, create or modify a PDF, combine or split PDFs, OCR a scanned PDF…
pdf-toolkit
Structured .pdf operations: extract text/tables, merge pages from multiple PDFs, split a PDF by page ranges, fill PDF form fields, and generate fresh PDFs from JSON. Trigger when the user wants programmatic PDF work without natural-language rewriting — examples: pull tables from a report, combine three PDFs, extract…
pdf-analysis
A PDF analysis method for reading both normal PDFs with selectable text and scanned PDFs made from page images.
nano-pdf
Edit PDFs with natural-language instructions using the nano-pdf CLI.