executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
s4h-constraint-rule-inversionFlips a constraint into a creative driver — uses the limit as the generative force rather than working around it. Triggers: 'invert the constraint', 'use the limitation', 'constraint as feature', 'what if this limit was the requirement'.
Independent GitHub snapshot · Automated classification · Original documentation governs
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