home / skills / yousufjoyian / claude-skills / inversion-exercise

inversion-exercise skill

/problem-solving/inversion-exercise

This skill helps you apply the inversion exercise to reveal hidden constraints and alternative approaches in software design and decision making.

This is most likely a fork of the inversion-exercise skill from mamba-mental
npx playbooks add skill yousufjoyian/claude-skills --skill inversion-exercise

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
1.9 KB
---
name: inversion-exercise
description: Flip core assumptions to reveal hidden constraints and alternative approaches - "what if the opposite were true?"
---

# Inversion Exercise

## Overview

Flip every assumption and see what still works. Sometimes the opposite reveals the truth.

**Core principle:** Inversion exposes hidden assumptions and alternative approaches.

## Quick Reference

| Normal Assumption | Inverted | What It Reveals |
|-------------------|----------|-----------------|
| Cache to reduce latency | Add latency to enable caching | Debouncing patterns |
| Pull data when needed | Push data before needed | Prefetching, eager loading |
| Handle errors when occur | Make errors impossible | Type systems, contracts |
| Build features users want | Remove features users don't need | Simplicity >> addition |
| Optimize for common case | Optimize for worst case | Resilience patterns |

## Process

1. **List core assumptions** - What "must" be true?
2. **Invert each systematically** - "What if opposite were true?"
3. **Explore implications** - What would we do differently?
4. **Find valid inversions** - Which actually work somewhere?

## Example

**Problem:** Users complain app is slow

**Normal approach:** Make everything faster (caching, optimization, CDN)

**Inverted:** Make things intentionally slower in some places
- Debounce search (add latency → enable better results)
- Rate limit requests (add friction → prevent abuse)
- Lazy load content (delay → reduce initial load)

**Insight:** Strategic slowness can improve UX

## Red Flags You Need This

- "There's only one way to do this"
- Forcing solution that feels wrong
- Can't articulate why approach is necessary
- "This is just how it's done"

## Remember

- Not all inversions work (test boundaries)
- Valid inversions reveal context-dependence
- Sometimes opposite is the answer
- Question "must be" statements

Overview

This skill helps you flip core assumptions to reveal hidden constraints and alternative approaches by asking “what if the opposite were true?” It trains teams to surface implicit 'must be' statements and to generate unconventional solutions. Use it to challenge orthodoxy, uncover edge-case fixes, and broaden design space quickly.

How this skill works

Start by listing the core assumptions underlying a decision, system, or feature. Systematically invert each assumption and explore practical implications, trade-offs, and contexts where the inversion might be valid. Iterate by prototyping or modeling the most promising inversions and measuring whether they solve the original problem or expose new opportunities.

When to use it

  • When the team insists there’s only one viable solution
  • When a solution feels forced or undocumented assumptions dominate
  • During design reviews or retrospectives to generate alternatives
  • When progress stalls and creative options are needed
  • To test resilience and discover hidden constraints

Best practices

  • Frame assumptions as explicit 'must' statements before inverting them
  • Apply inversion selectively—test boundaries and real-world feasibility
  • Document insights from inversions and the contexts where they hold
  • Prototype lightweight experiments instead of committing to full rewrites
  • Combine inversion with user data to avoid purely contrarian choices

Example use cases

  • Improve perceived performance by intentionally adding latency where it enables better results (debounce, batch, prefetch)
  • Simplify a product by removing low-value features revealed through inversion
  • Increase reliability by optimizing for worst-case rather than just the common case
  • Prevent abuse by adding controlled friction instead of only boosting throughput
  • Shift architecture from pull to push patterns when eager loading proves more efficient

FAQ

Does inversion mean always doing the opposite?

No. Inversion is an exploratory tool to reveal hidden assumptions and new options; only experimentally validated inversions should be adopted.

How do I avoid wasting time on impractical inversions?

Prioritize inversions with clear success criteria and low-cost experiments. Stop early if an inversion fails to meet measurable goals or introduces unacceptable risk.