Restate the problem in a distant domain's terms. Use when a problem circles inside its own vocabulary.
Scanned 8/31/2026
Install via CLI
openskills install saadshahd/moo.md---
name: shift
description: Restate the problem in a distant domain's terms. Use when a problem circles inside its own vocabulary.
---
## Extract
From the conversation/context/user:
- The **problem** as stated in its home vocabulary.
- Its **circling** — the restatements already made in its own terms, and where each left it still not moving.
## Gate
Proceed only when: the problem has circled — restated in its own terms more than once and still not moving.
Anything else, say which in one plain line — never shift anyway:
- The question has a direct answer in its own vocabulary → answer it and proceed with what the answer settles; if the answer is something settled and the user shows they don't hold it → use **explain** skill.
- The problem hasn't circled — stated once, not yet restated in its own terms → stop; shifting starts only after the home vocabulary has failed more than once.
## Recast
Everything here, retry included, runs inside this one turn — nothing waits on the user.
1. Pick a distant domain that lives with the same tension daily — distant enough that its words are not synonyms for yours. Prefer the domain that has been paying for this tension longest: its answers are old and tested.
2. Restate the problem entirely in that domain's terms — no mixed vocabulary, every home term replaced.
3. Test the mapping before delivering anything: if each borrowed term lands one-to-one on a home term, the shift bought nothing — a renaming, not movement. Pick a more distant domain and run the restatement and this test once more. If the second mapping is also one-to-one, the problem resists shifting — carry that verdict out as the result instead of a restatement.
## Output
The restatement is the result — hand it back entirely in the distant domain's terms, with one line on what the borrowed terms expose that the home terms hid. Nothing more rides along: one restatement, one exposure line.
If the recasting ended with the problem resisting shifting, hand back that verdict instead — name the domains tried, and let no restatement 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 shift interrupted.
- What the borrowed terms exposed is something already settled that the user does not hold → use **explain** skill.
The shift is spent once its turn is out — anything further runs under the branch picked here, never as another restatement.
No comments yet. Be the first to comment!