
Inversion Exercise
- 270 installs
- 733 repo stars
- Updated October 14, 2025
- obra/superpowers-skills
Turn a spec or requirements into bite-sized implementation tasks before any code is written.
About
inversion exercise — Writing Plans converts specs into engineer-ready implementation plans—file structure, checkbox tasks, failing-test-first steps, and commit boundaries—assuming zero codebase context. It pairs with executing-plans and subagent-driven-development for delivery. Solo builders use it after brainstorming when a feature needs disciplined execution.
- Bite-sized TDD-friendly tasks with explicit file paths and verification commands.
- Requires plan header with goal, architecture, and required sub-skills.
- Scope check to split multi-subsystem specs into separate plans.
Inversion Exercise by the numbers
- 270 all-time installs (skills.sh)
- +24 installs in the week ending Jul 26, 2026 (Skillselion tracking)
- Ranked #932 of 3,301 Productivity & Planning skills by installs in the Skillselion catalog
- Security screen: LOW risk (skills.sh audit)
- Data as of Jul 28, 2026 (Skillselion catalog sync)
npx skills add https://github.com/obra/superpowers-skills --skill inversion-exerciseAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 270 |
|---|---|
| repo stars | ★ 733 |
| Security audit | 3 / 3 scanners passed |
| Last updated | October 14, 2025 |
| Repository | obra/superpowers-skills ↗ |
What it does
Turn a spec or requirements into bite-sized implementation tasks before any code is written.
Files
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
Related skills
FAQ
Is Inversion Exercise safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.