# Inversion Exercise

> Flip core assumptions to reveal hidden constraints and alternative approaches - "what if the opposite were true?"

- Skill: `ntphat0322/inversion-exercise` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ntphat0322/inversion-exercise`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ntphat0322/inversion-exercise/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: NTPhat0322 (https://skillmd.com/u/ntphat0322)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/ntphat0322/inversion-exercise

---


# 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 they 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 |
| Centralize configuration | Distribute configuration | Feature flags, per-tenant config |
| Synchronous request → response | Async command → event | Event-driven architecture |

## Process

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

## Example

**Problem:** Users complain the app is slow

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

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

**Insight:** Strategic slowness can improve UX and system health

## Red Flags You Need This

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

## Remember

- Not all inversions work — test boundaries
- Valid inversions reveal context-dependence
- Sometimes the opposite is the answer
- Question every "must be" or "always" statement

