text-condenser · Text Condenser

Text compression: shrinks long text to a target length while keeping the core message, fitting platform character limits. Three modes: strict (hard limit, ±5%), summary (keeps all key points, ±15%), extract (pulls only the best original sentences, no rewriting).
Built-in platform limits: Weibo 140, Twitter 280, Xiaohongshu 1000. Word counts are script-verified: counting and pass/fail always go through wordcount.py, never eyeballing; strict mode iterates until the script passes.
Example invocation: "Cut this long post down to 140 characters for Weibo."
Full brief
Positioning
text-condenser is a long-text compressor: it shrinks length without improving quality (polishing is text-polisher's job). It solves one problem: "too long to post."
Core capabilities
- Three compression modes: strict (hard target ±5%, word-by-word, for Weibo/Twitter limits); summary (keeps all key points, ±15%, for abstracts and ledes); extract (pulls only the finest original sentences unedited, for quote extraction).
- Platform character norms: weibo 140 / twitter 280 / xiaohongshu 1000 / zhihu_answer free — naming a platform auto-sets the limit.
- Information priority tagging: P0 must-keep / P1 keep-if-possible / P2 droppable, with strategy chosen by retention ratio (light trim / medium / heavy / extreme compression).
- Script-verified loop: counting and pass/fail always via wordcount.py; strict mode rewrites and re-checks until the script exits 0 — never finished by feel.
- Key-info preservation:
preservepins must-keep keywords/facts; outputs a compression report (original/target/actual counts, compression ratio, retained-points list).
Workflow
- Count original, extract core information structure, tag priorities
- Choose trim strategy by retention ratio
- Compress per mode (strict mode: script-verified loop)
- Quality check (target met, preserved items, standalone readability, no broken sentences)
- Output compression report
Inputs & outputs
| Input | Notes |
|---|---|
| text | Required — source text |
| target_length | Optional — target count; defaults to 30%–50% of original |
| mode | Optional — strict / summary / extract (default summary) |
| platform | Optional — target platform (auto-sets the limit) |
| preserve | Optional — must-keep facts/keywords |
| tone | Optional — neutral / punchy / soft |
Output: compressed copy + compression report, written to outputs/.
Boundaries with adjacent skills
| Skill | Lane |
|---|---|
| text-condenser (this) | Shrinks length, no quality improvement |
| text-polisher | Polishes copy, doesn't change length |
Fit
- Fitting long posts into Weibo/Twitter hard limits
- Quick abstracts and article ledes
- Quote extraction and highlight reels
Before you start
- Prepare the source text and target length/platform; unspecified targets default to 30%–50%.
- Strict mode is script-judged; multiple rewrite rounds are normal.
text-condenser is part of the Aiglade Skill library. Invoke it from the Aiglade chat box in plain language.