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
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/doc-convertWrote 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/doc-convert)<a href="https://agentmods.dev/skills/zju-real/easel/doc-convert"><img src="https://agentmods.dev/badge/skills/zju-real/easel/doc-convert/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/doc-convert"><img src="https://agentmods.dev/badge/skills/zju-real/easel/doc-convert.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.00077 | $0.00594 |
| Opus 5.5 | $0.00031 | $0.00238 |
| Sonnet 5.5 | $0.00015 | $0.00119 |
| Haiku 4.5 | $0.00008 | $0.00059 |
Grade A, and why
doc-convert 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 1mo 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
Markdown 格式转换 / 排版
把 Markdown 排版成 HTML / PDF / 长图 PNG。走
skills/shared/scripts/doc_convert.py(python-markdown 排版 + Chromium 打印/截图)。
思维导图见 mindmap;公众号专属排版见 skill-wechat-publisher;卡片/海报见 card-*/poster-hero。
输入 / 输出
- 输入:Markdown 文件(支持标题、列表、表格、代码块、引用、图片等)。
- 输出(
outputs/主题名/):按后缀.html/.pdf/.png(长图)。
执行
脚本路径(相对项目根):skills/shared/scripts/doc_convert.py(convert -h)。
# 转干净 HTML(可读排版 + CJK 字体)
python skills/shared/scripts/doc_convert.py convert -i article.md -o outputs/主题名/a.html
# 转 PDF(A4 可打印,适合存档/发送)
python skills/shared/scripts/doc_convert.py convert -i article.md -o outputs/主题名/a.pdf
# 转长图 PNG(适合发不支持 MD 的平台/朋友圈存档)
python skills/shared/scripts/doc_convert.py convert -i article.md -o outputs/主题名/a.png --width 800
前置
- MD→HTML:需
pip install markdown。 - MD→PDF/PNG:需 playwright + chromium(
playwright install chromium)。
规则
- 长图宽度
--width按平台调(朋友圈/小红书 ~750-1080);正文宽度--page-width控制 HTML/PDF 版心。 - 图片用相对/绝对可访问路径,渲染时要能加载到。
- 需要 DOCX/PPT/富交互排版时本 SKILL 不覆盖(提示用 pandoc 或对应平台工具)。
- 产物统一进
outputs/主题名/。
参考来源
python-markdown(含 extra/tables/fenced_code/toc 扩展)做 MD→HTML,Chromium 无头
page.pdf()/screenshot(full_page) 出 PDF/长图,替代 pandoc 完成最常用的 MD 排版分发需求。
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.
- 1mo ago First seen · 50 lines · 77 tokens per session scan A 39aa44770c79
doc-convert is a skill published in the GitHub repository ZJU-REAL/Easel (4,032 stars, last pushed yesterday), licensed Apache-2.0. It adds 77 tokens to every session and 594 once invoked, about $0.0003 per session on Opus 5.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
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.
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…
surfsense-pdf
Work on PDFs the user has, or PDFs in Studio, without changing them - merge, take out, split, turn or reorder pages, add a watermark, page numbers, a header or a footer, and list or fill a form's fields. Load it whenever the user asks for one of these on a PDF.
figures
Makes publication-quality plots from data with matplotlib, learning curves, scaling laws, benchmark and ablation comparisons, Pareto trade-offs, heatmaps and confusion matrices, sized for the page, vector, with uncertainty shown. Use whenever results are plotted, charted or visualized for a paper, report or answer, or…
omh-long-document-reading
This is a Hermes-native long-document-reading workflow skill.
pdf-analysis
A PDF analysis method for reading both normal PDFs with selectable text and scanned PDFs made from page images.