Assemble cases from context, induce the widest sound rule. Use when a real case shows a class no rule yet decides, or a rule decides only the cases it came from.
Scanned 8/31/2026
Install via CLI
openskills install saadshahd/moo.md---
name: widen
description: Assemble cases from context, induce the widest sound rule. Use when a real case shows a class no rule yet decides, or a rule decides only the cases it came from.
---
## Extract
From the conversation/context/user:
- The **context** where the real cases live — the input, the named files, memory. Never a handed case list: the set gets assembled from the context, not received.
- The **rule**, if one already exists — stated or implied — pulled from that same context, with the grounds it came from: the cases it was derived on and the objective it served.
## Gate
Proceed only when: the context holds real cases, and something unseen will meet the rule.
Anything else, say which in one plain line — never induce anyway:
- The context holds no real case → there is nothing to induce from.
- Nothing unseen will ever meet the rule — something already written should get shorter and nothing it covers can be lost → use **reduce** skill.
## Assemble
Pull every real case the context holds — what the input shows, what the named files record, what memory and your own judgment place in the same class. State each case with the wrong answer it exhibits and the right answer it demands.
Never ask for cases — finding them is the first act. The whole procedure — cases to rule to record — runs inside this turn; the first thing handed back is the finished result.
## Induce
Do not summarize the cases. Induce the widest rule that:
- gets every case in the set exactly right, and
- forbids the wrong answer each case exhibits.
If a rule already existed, it contributes nothing here — never stretch or patch it to fit; the new rule comes from the case set alone. If its grounds moved — the cases are new, or the objective changed — the old rule is void, and what you hand back is a new derivation, not a refit.
Between candidate rules, prefer the one that decides more situations, even if it takes longer to state.
## Probe
1. List 10 situations not in the case set where the rule gives a definite answer, and state the answer it forces in each.
2. Hunt for one situation where the rule forces a wrong answer.
- Found one → narrow the rule by the smallest amount that fixes it. A narrowing that loses a case from the set went past the smallest — find one that keeps the whole set. Then list and hunt again on the narrowed rule.
- Found none → the loop ends; the rule stands.
If narrowing has left the rule unable to give a definite answer in 10 situations outside the set, stop the loop there and carry the shortfall into the record — the widest sound rule found barely outreaches its cases.
## Output
Hand back three things: the case set; the rule; and the record of what it now decides and where it stopped — the situations listed with the answer the rule forces in each, and every narrowing with the situation that forced it. Sound means checked: the rule is claimed right on the cases in the set and the situations listed, nothing wider.
Then check whether the rule 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 widening interrupted.
- A direct question the user alone can answer would settle it → ask it, then proceed with the work.
- The rule as handed back takes the reader's judgment to apply — two readers would disagree where it fires → use **anchor** skill.
- A claim about something that exists needs a committed verdict → use **judge** skill.
The widening is spent once the rule is handed back — anything further runs under the branch picked here, never as another round of widening.
No comments yet. Be the first to comment!