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/skill-zhihu-publisherWrote 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/skill-zhihu-publisher)<a href="https://agentmods.dev/skills/zju-real/easel/skill-zhihu-publisher"><img src="https://agentmods.dev/badge/skills/zju-real/easel/skill-zhihu-publisher/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/skill-zhihu-publisher"><img src="https://agentmods.dev/badge/skills/zju-real/easel/skill-zhihu-publisher.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.00069 | $0.00572 |
| Opus 5.5 | $0.00028 | $0.00229 |
| Sonnet 5.5 | $0.00014 | $0.00114 |
| Haiku 4.5 | $0.00007 | $0.00057 |
Grade A, and why
skill-zhihu-publisher 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
知乎发布
基于通用浏览器发布框架
../../shared/scripts/web_publisher.py(--platform zhihu)。 发布到知乎专栏写作页(zhuanlan.zhihu.com/write)。
⚠️ 环境依赖
pip install playwright+playwright install chromium- 首次
login登录知乎,登录态持久化复用- 远程/headless 环境用
login-qr --platform zhihu(抠二维码成图轮询),或走 Web「账号」页登录
- 远程/headless 环境用
- 选择器时效:知乎正文为 Draft.js contenteditable,发布可能有二次确认弹窗;内置选择器为
最佳努力,首次务必
plan+--headed校验,失效时更新web_publisher.py的 zhihu 配置。
无浏览器环境可用 platforms / plan / check。
执行
ROOT=<项目根>; WP=$ROOT/skills/shared/scripts/web_publisher.py
python $WP check
python $WP login --platform zhihu
python $WP plan --platform zhihu --title "标题" --desc "正文..."
python $WP publish --platform zhihu --title "标题" --desc "正文..." --exec --headed
Profile 感知
- 有 Profile:文风专业、有逻辑链,贴合
style.md;话题标签按垂类。 - 无 Profile:按知乎通用规范(专业、结构化、有论据)。
规则
- 知乎重深度与专业性,正文结构清晰、有论据;标题克制不标题党。
- 长文可先用 video-to-article / social-content 成稿,再来发布。
- 首次
--headed目视确认写作页与发布弹窗;选择器失效即更新配置。 - 正文为富文本编辑器,复杂排版建议登录后人工微调再发。
参考来源
知乎专栏写作页网页流程;复用统一 Playwright 框架。正文 Draft.js 编辑器,选择器按现状维护。
What ships with it
1 file 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.
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 · 49 lines · 69 tokens per session scan A b1f160e0e7e9
skill-zhihu-publisher is a skill published in the GitHub repository ZJU-REAL/Easel (4,138 stars, last pushed 3d ago), licensed Apache-2.0. It adds 69 tokens to every session and 572 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-09-03.
Other skills, from other repositories
paperpod
Use when isolated agent runtime for code execution, live preview URLs, browser automation, 50+ tools (ffmpeg, sqlite, pandoc, imagemagick), LLM inference, and persistent memory — all via CLI or HTTP, no SDK or API keys required. Use when working with paperpod.
node-inspect-debugger
Debug Node.js via --inspect + Chrome DevTools Protocol.
playwright-cli
Translate natural-language browser automation requests into exact playwright-cli commands for interactive web testing and debugging. Use when requests involve opening/navigating pages, interacting with elements, capturing snapshots/screenshots/PDFs, using tabs, inspecting console/network, mocking routes, managing…
Browse Reddit or perform explicitly requested account actions through the existing signed-in Chrome session.
dingtalk_channel_connect
Use a headed browser to automatically complete DingTalk channel integration for QwenPaw. Applicable when the user mentions DingTalk, developer console, Client ID, Client Secret, bot, Stream mode, binding or configuring a channel. Supports pausing when a login page is detected and resuming after the user logs in.
browser
Drive a live browser with async Python against QwenPaw's builtin Browser SDK. The full reference is below; re-load this browser skill after context compaction.