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.
- Name what the current framing fixes: its subject, its level, its scope.
- 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.
- 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.