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 text-condensergit 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/text-condenser)<a href="https://agentmods.dev/skills/zju-real/easel/text-condenser"><img src="https://agentmods.dev/badge/skills/zju-real/easel/text-condenser/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/text-condenser"><img src="https://agentmods.dev/badge/skills/zju-real/easel/text-condenser.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.00171 | $0.01702 |
| Opus 5 | $0.00086 | $0.00851 |
| Sonnet 5 | $0.00034 | $0.00340 |
| Haiku 4.5 | $0.00017 | $0.00170 |
Grade A, and why
text-condenser 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 8d 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 — 122 lines — stays where its author put it; the contents beside it link to each section on GitHub.
字数裁剪/摘要
把长文本压缩到指定字数,保留核心信息,适配不同平台的字数限制。
输入
| 字段 | 必填 | 说明 |
|---|---|---|
text |
是 | 待压缩的原文 |
target_length |
否 | 目标字数(如 140、280、500);不指定则自动压缩到原文 30%-50% |
mode |
否 | 压缩模式:strict / summary / extract(默认 summary) |
platform |
否 | 目标平台(自动设定字数限制):weibo(140) / twitter(280) / xiaohongshu(1000) / zhihu_answer(自由) |
preserve |
否 | 必须保留的关键信息/关键词列表 |
tone |
否 | 压缩后的语气倾向:neutral(默认)/ punchy(有力)/ soft(柔和) |
压缩模式说明
| 模式 | 行为 | 适用场景 |
|---|---|---|
strict |
严格控制在目标字数 ±5%,逐字斟酌 | 有硬性字数限制的平台(微博、Twitter) |
summary |
保留所有要点,允许字数浮动 ±15% | 生成摘要、文章导语 |
extract |
只提取原文中最精华的原句,不改写 | 金句提取、精华摘录 |
输出
- 压缩后的文案
- 压缩报告:原文字数、目标字数、实际字数、压缩率、保留的核心要点列表
- 写入
outputs/目录
执行步骤
字数以脚本为准:字数统计和达标判定一律用
skills/shared/scripts/wordcount.py, 不靠自己数。LLM 负责改写,脚本负责判定。 社媒计数口径(social_count)= 中文字符 + 英文单词 + 数字串 + 标点。
Step 1 — 原文分析
- 统计原文字数:
python3 skills/shared/scripts/wordcount.py count -f <原文>(或经 stdin 传入) - 提取核心信息结构:
- 中心论点 / 核心事实
- 关键论据 / 支撑数据
- 次要信息 / 补充说明
- 修饰性内容 / 过渡句
- 对每条信息标注优先级(P0 必留 / P1 尽量留 / P2 可删)
Step 2 — 裁剪策略
根据保留率(目标字数 / 原文字数)选择策略:
| 保留率 | 策略 | 说明 |
|---|---|---|
| > 70% | 轻度删减 | 删冗余修饰、合并重复表达 |
| 40%-70% | 中度压缩 | 删 P2 信息、精简句式、合并相似段落 |
| 20%-40% | 重度压缩 | 只留 P0/P1、改写为高密度表达 |
| < 20% | 极限压缩 | 只留 P0、一句话概括 |
Step 3 — 执行压缩
按 mode 执行:
strict 模式(脚本兜底,闭环调整):
- 先裁到目标字数的 120%
- 逐句精简,去掉每句中可删的词
- 调用脚本校验:
python3 skills/shared/scripts/wordcount.py check --target <N> -f <文件>(或经 stdin 传入)- 退出码 0 = 达标;非 0 = 未达标,脚本会给出「还需增/删 X 字」
- 平台硬限制默认 ±5%,可用
--tolerance调整(如--tolerance 0.1)
- 未达标则继续改写并重新 check,直到脚本判定 pass(退出码 0),不得凭感觉收尾
- 确认无断句、无残句
summary 模式:
- 按信息优先级筛选内容
- 用自己的话重写,不受原文句式约束
- 确保逻辑连贯、可独立阅读
extract 模式:
- 对每句打分(信息密度 x 表达质量)
- 按得分降序选句,直到接近目标字数
- 调整句序使其连贯
- 不改写原句(最多做衔接过渡)
Step 4 — 质量检查
- 字数是否达标:strict 模式必须以
wordcount.py check退出码 0 为准;其他模式用wordcount.py count核对是否落在容差范围 preserve中的关键信息是否全部保留- 压缩后是否可独立阅读(不需要看原文就能理解)
- 是否有信息失真(压缩导致意思改变)
- 句子是否完整(无残句、无悬空指代)
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.
- 8d ago First seen · 122 lines · 171 tokens per session scan A f9ee36b2495e
text-condenser is a skill published in the GitHub repository ZJU-REAL/Easel (794 stars, last pushed yesterday), licensed Apache-2.0. It adds 171 tokens to every session and 1,702 once invoked, about $0.0009 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-03.
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.
roadtrip-navigator
Generate North American road-trip itineraries as a map-first, offline-friendly single-file HTML page. Plans around daily driving segments, overnight stops, fuel/EV-charging, national-park reservations (Recreation.gov / NPS), seasonal road closures, and timezone/border crossings — for executable, decision-ready trips.…
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.