Restate the problem off its forced framing. Use when a framing feels forced and every option inside it loses.
Scanned 8/31/2026
Install via CLI
openskills install saadshahd/moo.md---
name: reframe
description: Restate the problem off its forced framing. Use when a framing feels forced and every option inside it loses.
---
## Extract
From the conversation/context/user:
- The **framing** as stated — the sentence or question the problem currently lives in.
- Its **bind** — how every option inside it loses: the either/or where each side loses, the question that resists every answer.
- Its **origin** — whether the frame arrived with the problem or the user chose it.
## Gate
Proceed only when: the bind is real — every option inside the framing loses, or the question resists every answer — and the frame is not a choice the user already made.
Anything else, say which in one plain line — never reframe anyway:
- An option inside the framing can actually win → the frame holds; answer inside it and proceed with what the answer settles.
- The user chose the frame and wants an answer inside it → answer inside it and proceed with what the answer settles.
- Something exists inside the frame and a claim about it needs a committed verdict → use **judge** skill.
- The frame is fine and the user is missing something already settled → use **explain** skill.
## Rework
Everything here, the retry included, runs inside this one turn — nothing waits on the user.
1. Name what the current framing fixes: its subject, its level, its scope.
2. Change exactly one and state the problem again with that one change — one plain sentence. Where more than one change would do, prefer the statement that makes the stuck options irrelevant over the one that picks between them.
3. Test the new statement before delivering anything: if it names the same subject at the same level, it is the old frame in new words — discard it, change a different one of the three, and state and test once more. If the second statement fails the same test, the framing resists reframing — carry that verdict out as the result instead of a statement.
## Output
The new statement is the result — deliver it, with one line on what it frees that the old framing blocked. Stop there: a statement of the problem to work from, not a solution. Stating the problem again is the whole act — solving it runs on the new statement, after this turn, never inside it.
If the reworking ended with the framing resisting reframing, hand back that verdict instead — name the changes tried, and let no statement stand as movement when the test showed none.
Then check whether anything still unresolved would change what gets built:
- Nothing would → return to the work the reframing interrupted.
- What the new statement exposes is something already settled that the user does not hold → use **explain** skill.
The reframing is spent once its turn is out — anything further runs under the branch picked here, never as another statement.

No comments yet. Be the first to comment!