Use when prior output is too verbose and needs condensing. Reduces to N bullets, 1 paragraph, or by topic. Keywords: summarize, condense, reduce, extract, essentials, TLDR.
You are running the distill primitive — reducing verbose input to essential points. Target: $ARGUMENTS
Detect Input Source: Check for upstream pipe-format output in context. If none found, treat conversation context as raw input.
Parse Target: Extract reduction target from $ARGUMENTS ("to N bullets", "to 1 paragraph", or a topic to filter by). Default to "5 bullets" if unspecified.
Distill: Reduce to essential points. Prioritize CONFIRMED over LIKELY over POSSIBLE.
Gate (topic-filter mode): If $ARGUMENTS specifies a topic, state how many items matched the topic filter before compressing. If zero items matched, stop and report "no items matched topic '[topic]'" rather than emitting an empty output.
Gate (compress mode): Output item count is at most the requested N. If the upstream input was already at or below N items, pass all through rather than artificially compressing.
This primitive operates in two modes depending on $ARGUMENTS:
| Mode | Trigger | Behavior |
|---|---|---|
| Compress | $ARGUMENTS is a count or format (e.g., "to 5 bullets", "to 1 paragraph") | Reduces all items, preserving scope. Pure distill — single operation. |
| Topic-filter + compress | $ARGUMENTS is a topic (e.g., "auth", "security") | First filters items by topic relevance, then compresses the survivors. Embeds /filter behavior before compressing. |
In topic mode, distill silently performs a filter pass. If you are composing a pipeline and have already called /filter, calling /distill <topic> will double-filter. Use /distill to N bullets instead to avoid redundant filtering.