Help us improve
Share bugs, ideas, or general feedback.
From skills-for-humanity
Reframes limitations as design requirements, turning obstacles into generative forces for creative solutions.
npx claudepluginhub human-avatar/skills-for-humanityHow this skill is triggered — by the user, by Claude, or both
Slash command
/skills-for-humanity:s4h-constraint-rule-inversionThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Most constraints are treated as walls. This skill treats them as foundations. The limit that
Inverts the main constraint on a problem to generate novel solutions, then maps them back to real-world constraints. Useful for creative brainstorming and overcoming design deadlocks.
Turns limitations into creative fuel by strategically imposing constraints to force novel thinking and break habitual patterns. Use when brainstorming feels stuck, working with limited resources, or user mentions "think outside the box" or "tight constraints".
Structured divergent thinking session for product problems or opportunities using SCAMPER, 5-Whys, and cross-domain inspiration. Outputs ranked ideas with top-3 deep-dives.
Share bugs, ideas, or general feedback.
Most constraints are treated as walls. This skill treats them as foundations. The limit that seems like an obstacle is often the thing that forces the insight — the moment you stop trying to work around it and start designing with it, better solutions appear.
Step 1: Name the Constraint Precisely State the constraint in a single, unambiguous sentence. Vague constraints produce vague inversions. "We have no budget" is too loose. "We have $0 for external tooling for Q3" is something you can work with.
Framing check: Confirm the specific constraint before continuing. State what you've identified — the actual constraint and the goal it is blocking — in one sentence, then use AskUserQuestion:
Step 2: Ask What the Constraint Forces What does this constraint make you do that you'd otherwise avoid? What comfortable defaults does it eliminate? The constraint is doing work — what work?
Step 3: Invert — Restate as a Design Requirement Convert the limit into a positive requirement: "must cost nothing" becomes "must work with only what we already have." The constraint is now the spec, not the problem.
Step 4: Generate Solutions That Only Work Because of the Constraint Produce 3-5 solutions that are impossible or inferior without the constraint. These are not workarounds — they are solutions the constraint made visible.
Step 5: Select for Unexpected Value
Before narrowing: Show the complete generated set to the user first. Use AskUserQuestion:
Pick the solution where the constraint creates the most unexpected advantage — the one that would not have been found without the limit.
Before proceeding, use the AskUserQuestion tool. State your interpretation of the situation in 1–2 sentences — what is being analyzed and what the core question is — then ask:
Proceed based on their selection. If the user reframes, incorporate the correction before running any analysis.
Constraint (precise):
[Single sentence, unambiguous]
Inverted form (as design requirement):
[Positive restatement]
Solutions that use the constraint:
| # | Solution | Why it requires the constraint | Strength |
|---|---|---|---|
| 1 | |||
| 2 | |||
| 3 |
Most promising:
[Solution name] — [1-2 sentences on why the constraint creates unexpected value here]
Every analogy breaks somewhere — so does every inversion. If the inverted form produces solutions that would work equally well without the constraint, the inversion wasn't deep enough. Go back to Step 2.
After delivering this output, use AskUserQuestion to offer the next move:
/s4h-creativity-lateral-thinking — Use the inverted rules as springboards for lateral moves/s4h-decision-option-mapping — Map new decision options the inversions open up/s4h-constraint-hardness-testing — Test whether the inverted rules reveal softer constraints