Re-derive something written into the shortest version that still covers everything. Use when something already written should get shorter and nothing it covers can be lost.
Scanned 8/31/2026
Install via CLI
openskills install saadshahd/moo.md---
name: reduce
description: Re-derive something written into the shortest version that still covers everything. Use when something already written should get shorter and nothing it covers can be lost.
---
## Extract
From the conversation/context/user:
- The **text** as it stands — the rule, doc, prompt, or answer to be reduced.
- What it must **cover** — the cases, points, or duties it exists for: stated in the context, or recovered by you from it.
## Gate
Proceed only when: the text is already written, what it must cover is in hand, and the set is closed — nothing unseen is coming.
Anything else, say which in one plain line — never reduce anyway:
- Nothing is written yet → there is nothing to reduce.
- What it must cover can't be stated or recovered → every cut is blind — no way to say what a shorter version must keep doing.
- Something unseen will meet it — a real case shows a class no rule yet decides, or the rule decides only the cases it came from → use **widen** skill.
## Derive
Do not trim the text. Deleting sentences keeps whichever ones were already there — not the shortest way to cover the set. Set the old wording aside, take what it must cover, and derive the shortest statement that covers all of it.
If what it must cover has moved since the text was written — cases now in hand it never faced, an objective it never served — the old wording is void twice over: derive from the coverage as it stands today, and what comes out is a new derivation of the current set, never the old statement refit to it.
Between candidate statements, prefer the shortest one that covers everything over the one that keeps the original's shape.
The whole run — derivation, shortening, recovery — happens inside this turn; the first thing handed back is the finished result.
## Shorten
Push the derived statement shorter, pass by pass. When a pass makes it stop covering something, it went too far — back off by the minimum that recovers it. The overshoot is how you find the floor; what ships covers everything.
The passes end at the floor: every remaining cut costs coverage, and its minimal back-off restores the words that were there. A clause that survives every pass is load-bearing, not fat.
## Output
Hand back two things: the reduced statement, and the name of anything that refused to get shorter. Covering means checked: the statement is claimed to cover the set it was derived from, nothing wider.
Then check whether the statement is settled enough to return to the work it interrupted: would anything still unresolved change what gets built?
- Nothing would → return to the work the reduction interrupted.
- A direct question the user alone can answer would settle it → ask it, then proceed with the work.
- The reduced statement takes the reader's judgment to apply — two readers would disagree where it fires → use **anchor** skill.
- The shortening surfaced a real case outside the covered set — a class no rule yet decides → use **widen** skill.
The reduction is spent once the statement is handed back — anything further runs under the branch picked here, never as another pass of shortening.
No comments yet. Be the first to comment!