| name | truncate |
| description | Aggressively compress text while preserving meaning — strip filler, collapse clauses, drop redundancy. Use when the user wants the same content in a fraction of the words. |
Truncate
Shorten the input to a target length without losing core meaning.
Rewrite rules
- Default target: 33% of original word count. Override with
--target (word count, char count, or Nx ratio like 0.25x).
- Strip filler: "in order to" → "to", "due to the fact that" → "because", "at this point in time" → "now".
- Collapse parallel clauses; merge sentences where safe.
- Drop hedging adverbs ("very", "really", "quite", "actually") unless load-bearing.
- Preserve all factual content: names, numbers, dates, links, technical terms.
- Preserve the original tone and register where possible — terse but recognisably the same voice.
- If the input is already concise and can't be cut without losing meaning, say so and return it unchanged.
Inputs
- Source text — inline, clipboard, or file path.
- Target (optional) — word count, character count, or ratio. Default: ~33%.
Output
Print the truncated version to stdout, followed by a one-line stat: <orig_words> → <new_words> (<pct>%). With --in-place, overwrite the source (no stat line).