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 post-formattergit 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/post-formatter)<a href="https://agentmods.dev/skills/zju-real/easel/post-formatter"><img src="https://agentmods.dev/badge/skills/zju-real/easel/post-formatter/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/post-formatter"><img src="https://agentmods.dev/badge/skills/zju-real/easel/post-formatter.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.00119 | $0.01196 |
| Opus 5 | $0.00060 | $0.00598 |
| Sonnet 5 | $0.00024 | $0.00239 |
| Haiku 4.5 | $0.00012 | $0.00120 |
Grade A, and why
post-formatter 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
帖子框架化
用 PAS / AIDA / BAB / STAR / SLAY 五大经典框架,把一个主题结构化成中文社媒长文帖子。 只负责"套框架 + 排版",不做自由创作(那是 social-content 的活)。
输入
从用户 prompt 中提取以下信息,缺哪个就现场问:
| 字段 | 说明 | 缺省处理 |
|---|---|---|
| 主题 | 一句话主题,或一段素材/笔记/数据 | 必需,缺则询问 |
| 框架 | PAS / AIDA / BAB / STAR / SLAY 之一 | 缺则按内容目的自动选 |
| 平台 | 小红书 / 抖音 / B站 / 微博 / 公众号 / 知乎 | 缺则按通用中文社媒 |
| 补充 | 事实、数据、调性、目标读者 | 可空 |
若主题和框架都缺,用一轮 AskUserQuestion 一次问齐主题与框架,再补一句 "还有什么要我知道的?数据、调性或写给谁看"。信息足够时直接开写,不啰嗦。
输出
一条可直接发布的中文帖子,放在代码块里,无前言无后记。结构:
- 首行钩子
- 第二行反转/对比
- 主体(按所选框架分阶段)
- 收尾 + 一句中文互动引导
执行步骤
- 定框架:用户指定就用指定的;没指定就按
skills/shared/references/copy-frameworks.md的"框架选择规则",按内容目的挑一个。选定后只用一个,不混用。 - 拆主题:框架各阶段的定义见
skills/shared/references/copy-frameworks.md,各阶段占几行见references/frameworks.md(行数分配);把主题和素材拆进各阶段。 - 写正文:严格套用
references/formatting.md的中文排版规则—— 200-250 字、≤20 行、行间空行、短句、去破折号、去 AI 感。 - 配 CTA:结尾用中文社媒式引导(关注 / 收藏 / 评论区聊聊),一句即可, 贴合内容目的,不用 "Repost if" 这类英文表达。
- 自检:按
references/formatting.md末尾的自检清单逐条过(钩子、翻译腔、 列表、结尾)。字数、行数用脚本取确定性结果,不靠肉眼数:- 字数:
python3 skills/shared/scripts/wordcount.py check --target 225 --tolerance 0.12(stdin 传入正文),退出码 0 = 落在 200-250 区间;非 0 时脚本会给出「还需增/删 X 字」,据此调整后重跑。 - 行数:把正文交给
wc -l数一遍,确认 ≤20 行。 超限就改到脚本判定通过为止。
- 字数:
- 输出:只给最终帖子,放代码块,不加解释。
与 social-content 的边界
- post-formatter(本 SKILL):严格套一个营销框架,产出结构固定的单条帖子。 用户明确要"用 PAS 写""套 AIDA""结构化帖子"时用。
- social-content:自由创作,多平台原生格式、钩子/标签/互动策略齐活,不绑框架。
- 简言之:要框架、要结构 → 本 SKILL;要自由发挥、要全套物料 → social-content。
Profile 感知
- 有 Profile:把账号的调性、常用句式、目标读者、禁用词吃进去,让框架输出 贴合该账号人设;平台默认取 Profile 主平台。
- 无 Profile:退到通用中文社媒模式,按
references/formatting.md的默认规则写。
硬规则
- 只返回成品帖子,不加元评论。
- 字数、行数用脚本校验:字数走
skills/shared/scripts/wordcount.py check(social_count 口径),行数用wc -l,以脚本结果为准,超限即改。 - 全程不用破折号(em dash)。
- 列表要么恰好三项,要么不列,不凑数。
- 领域知识(框架说明、排版规则)都在 references/,本文件只讲流程。
What ships with it
3 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.
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 · 77 lines · 119 tokens per session scan A 7a337ac31fc4
post-formatter is a skill published in the GitHub repository ZJU-REAL/Easel (494 stars, last pushed yesterday), licensed Apache-2.0. It adds 119 tokens to every session and 1,196 once invoked, about $0.0006 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
python-run
Run and debug Python scripts in the project. Use when the user says "run python", "execute this script", "debug this py file", or wants to run/modify a .py file. Handles dependency checks, linting, execution, and error analysis.
systematic-debugging
4-phase root cause debugging: understand bugs before fixing.
github-code-review
Review PRs: diffs, inline comments via gh or REST.
simplify-code
Sequential 3-lens cleanup of recent code changes.
skill-authoring
Author SKILL.md: frontmatter, structure, writing principles.
test-driven-development
TDD: enforce RED-GREEN-REFACTOR, tests before code.