# Inversion

> Find the route to guaranteed failure, negate it. Use when a goal keeps not being reached head-on.

- Skill: `majiayu000/inversion` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add majiayu000/inversion`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/inversion/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/inversion

---


## Extract

From the conversation/context/user:

- The **goal** as stated.
- Its **misses** — the head-on attempts already made, and where each fell short.
- The **want** — what the user is asking for in raising it: a new way at the goal, or something else.

## Gate

Proceed only when: the goal has been tried head-on and missed more than once, and what's wanted is a new way at it — not the work done, not the damage owned.

Anything else, say which in one plain line — never invert anyway:

- The goal hasn't been tried head-on yet → do the work; the head-on attempt governs what follows.
- The failing is the execution, not the route → own it and fix it; the fixing governs what follows.
- A list of what could go wrong is what's wanted → give the list plainly and proceed with the work — that list is itself the answer, nothing here owes it a negation.

## Invert

Everything here runs inside this one turn — nothing waits on the user.

1. Ask: what would make this goal certain to fail? List the fewest actions that guarantee it — things being done or skipped today count double. Prefer the certain small saboteur over the dramatic unlikely one.
2. Negate each into one imperative line: a thing to do or a thing to stop.
3. Cut any line that is a risk to watch rather than an action to take — a risk list is the inversion failing, not the route arriving.

The negated list is the route.

## Output

Deliver the route — each line an imperative the user can act on — and stop there: nothing else rides along.

Then check whether anything still unresolved would change what gets built:

- Nothing would → return to the work the inversion interrupted.
- A line of the route rests on something already settled that the user does not hold → use **explain** skill.
- A line's words admit two readings that would do different things → use **clarify** skill.

The inversion is spent once the route is out — anything further runs under the branch picked here, never as another inversion.

