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 skill-publish-checklistgit 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/skill-publish-checklist)<a href="https://agentmods.dev/skills/zju-real/easel/skill-publish-checklist"><img src="https://agentmods.dev/badge/skills/zju-real/easel/skill-publish-checklist/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-publish-checklist"><img src="https://agentmods.dev/badge/skills/zju-real/easel/skill-publish-checklist.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.00143 | $0.01604 |
| Opus 5.5 | $0.00057 | $0.00642 |
| Sonnet 5.5 | $0.00029 | $0.00321 |
| Haiku 4.5 | $0.00014 | $0.00160 |
Grade A, and why
skill-publish-checklist 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.
How it starts
The opening of the file, as written. The whole thing — 146 lines — stays where its author put it; the contents beside it link to each section on GitHub.
发布前完整性检查
发布前的最后一道关卡,逐项检查内容是否齐全,防止漏标题、漏封面、漏标签等低级错误。
与其他 SKILL 的区别
| SKILL | 定位 | 检查深度 |
|---|---|---|
| publish-checklist(本 SKILL) | 完整性检查——"有没有漏东西" | 浅层,逐项打勾 |
| skill-quality-gate | 深度合规 + 质量审核 | 深层,评分 + 返工 |
| skill-persona-check | 人设一致性 | 风格/调性维度 |
| skill-risk-scanner | 原创度 + 版权 | 抄袭/侵权维度 |
输入
用户提供待发布的内容,支持以下形式:
- 产物目录路径:指向
outputs/主题名/下的完整产物目录(含 meta.json、正文、图片等) - 单篇文案文本:直接贴文案内容
- 混合:文案 + 图片路径 + meta.json
可选指定目标平台(小红书、抖音、微博、公众号、LinkedIn、X 等),未指定时做通用检查。
输出
输出结构化检查报告,JSON 格式:
{
"status": "ready | not_ready",
"score": "7/10",
"platform": "平台名或generic",
"checklist": [
{
"item": "检查项名称",
"status": "pass | fail | warn",
"detail": "具体说明"
}
],
"blocking_issues": ["必须修复才能发布的问题"],
"warnings": ["建议修复但不阻塞发布的问题"],
"summary": "一句话总结:可以发 / 还差什么"
}
status为ready:所有必检项通过,可以发布status为not_ready:存在阻塞问题,列出待修复项
执行步骤
Step 1 — 识别内容形态与目标平台
- 判断输入是产物目录还是单篇文案
- 如果有
meta.json,读取其中的platform、type(图文/视频)、title、tags等字段 - 如果有 Profile 上下文,读取
platform字段确定目标平台 - 无法确定平台时,使用通用检查清单
Step 2 — 逐项检查(通用清单)
按以下维度逐项检查,标记 pass / fail / warn:
必检项(fail 则阻塞发布):
| # | 检查项 | 检查内容 |
|---|---|---|
| 1 | 标题 | 是否有标题;标题长度是否在平台限制内 |
| 2 | 正文/内容 | 是否有实质内容;是否为空或占位符 |
| 3 | 封面/首图 | 图文帖是否有封面图;视频是否有封面帧 |
| 4 | 格式完整 | Markdown 结构是否完整;图片引用是否有效;链接是否可访问 |
建议项(warn 但不阻塞):
| # | 检查项 | 检查内容 |
|---|---|---|
| 5 | 标签/Hashtags | 是否有标签;数量是否在 3-10 个合理区间 |
| 6 | CTA(行动号召) | 是否有引导互动的语句(点赞、收藏、关注、评论等) |
| 7 | 链接有效性 | 正文中的 URL 是否格式正确 |
| 8 | 图片规格 | 图片尺寸是否符合平台要求(竖版/横版/正方形) |
| 9 | 文案长度 | 字数是否在平台推荐范围内 |
| 10 | Emoji 使用 | 是否有适当 emoji 增强可读性(视平台而定) |
Step 3 — 平台特有检查(有平台信息时追加)
根据目标平台追加检查项:
小红书:
- 卡片数量是否在 3-9 张
- 每张卡片文字是否 ≤ 80 字
- 是否有 caption(发布配文)
- 封面是否为 3:4 竖版(1080×1440,小红书标准比例)
抖音/视频号:
- 视频时长是否在限制内
- 是否有字幕文案
- 封面是否有吸引力标题
微博:
- 正文是否 ≤ 2000 字
- 话题标签格式是否正确(#话题#)
公众号:
- 是否有摘要/导语
- 是否有原文链接
- 封面图尺寸是否为 2.35:1
X/Twitter:
- 单条是否 ≤ 280 字符
- 是否需要拆分为 thread
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 · 146 lines · 143 tokens per session scan A 3b1b4427487d
skill-publish-checklist is a skill published in the GitHub repository ZJU-REAL/Easel (4,082 stars, last pushed yesterday), licensed Apache-2.0. It adds 143 tokens to every session and 1,604 once invoked, about $0.0006 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
bootstrap
Onboarding conversation to generate a user profile.
life-design
Walk you through the Stanford Designing Your Life method and write your Personal Life Design Blueprint — three Odyssey plans and the prototypes to test them.
using-powerups
Use when starting work in a repository with Agent Powerups installed, when a task may match a reusable local skill, command, workflow, hook recipe, AGENTS.md template, or MCP feature.
context-minimization
Use when a task runs long and the context window is filling -- large files are being read whole, command output is flooding the transcript, or responses are getting verbose and slow.
no-fluff
Ultra-compressed communication mode. Cuts token usage 75% by dropping filler, articles, and pleasantries while keeping full technical accuracy. Use when user says "no fluff", "be concise", "use less tokens", or similar.
repo-map
Use when the task is to understand an unfamiliar codebase, locate key entry points, or summarize architecture before editing.