mcpbeat Sign in

Text Condenser Agent Skill

>- 字数裁剪/摘要:把长文本压缩到指定字数,保留核心信息。支持硬裁剪(严格字数)、 摘要(保留要点)、金句提取(只保留最精华的句子)三种模式。 特别适合从长文生成平台适配的短文。 使用时机:用户说"裁到 140 字"、"压缩一下"、"太长了"、"摘要"、"精简"、 "缩写"、"字数裁剪"、"帮我缩短"、"提炼要点"。 和 text-polisher 的区别:polisher 润色文案不改长度,condenser 压缩篇幅不做质量提升。

2k tokens
context cost
the whole folder, loaded on every use
2
files
instructions only
0
copies elsewhere
how many repositories repackaged it
112
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/ZJU-REAL/Easel --skill text-condenser

What comes with it

876 bytes besides the instruction
EASEL-META.md

The instruction itself

6 sections, as written by the author

字数裁剪/摘要

> 把长文本压缩到指定字数,保留核心信息,适配不同平台的字数限制。

输入

| 字段 | 必填 | 说明 |

|------|------|------|

| text | 是 | 待压缩的原文 |

| target_length | 否 | 目标字数(如 140280500);不指定则自动压缩到原文 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 中的关键信息是否全部保留
  • 压缩后是否可独立阅读(不需要看原文就能理解)
  • 是否有信息失真(压缩导致意思改变)
  • 句子是否完整(无残句、无悬空指代)

Step 5 — 输出压缩报告

压缩报告:
- 原文: 2,350 字
- 目标: 500 字
- 实际: 487 字 (压缩率 79.3%,压缩率 = 已删减比例 = 1 − 实际/原文)
- 模式: summary
- 保留要点:
  1. [P0] 核心论点 — 已保留
  2. [P0] 关键数据 — 已保留
  3. [P1] 案例说明 — 已精简
  4. [P2] 背景介绍 — 已删除

Profile 感知

  • 有 Profile:从 style.md 读取品牌调性,压缩时保持一致的语言风格;参考 platforms.md 中的平台偏好,自动匹配最常用平台的字数规范
  • 无 Profile:按用户指定的参数压缩;未指定平台时默认 summary 模式,压缩到原文 30%-50%

> 自研溯源与参考项目见同目录 EASEL-META.md

How to use it

Copy the folder

Take zju-real/text-condenser from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.