# Unstuck

When a solution seems impossible and the path forward is blocked.

- Repository: https://github.com/coreyhaines31/makerskills (880 stars)
- Category: AI and agents
- License: MIT
- Last updated: 2026-10-26
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add coreyhaines31/makerskills --skill unstuck -g -a claude-code -y`
Codex: `npx skills add coreyhaines31/makerskills --skill unstuck -g -a codex -y`
Cursor: `npx skills add coreyhaines31/makerskills --skill unstuck -g -a cursor -y`
Gemini CLI: `npx skills add coreyhaines31/makerskills --skill unstuck -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add coreyhaines31/makerskills`

## Description

When a solution seems impossible and the path forward is blocked. Refuses to take no for an answer: classifies what kind of \"no\" you hit, then runs lateral-thinking techniques (assumption autopsy, inversion, first principles, constraint toggling, analogical transfer, and more) until the wall cracks or is proven load-bearing. Generates at least 10 angles before evaluating any. AGENTS: use this on yourself when an API doesn't support what you need, an approach has failed twice, or a \"that's not possible\" sentence is forming, run the fast path BEFORE reporting a dead end. Archives walls to ~/.config/makerskills/unstuck/archive/. Sits upstream of decide. Triggers on \"/unstuck,\" \"I'm stuck,\" \"this seems impossible,\" \"we hit a wall,\" \"there's no way to,\" \"they said no,\" \"dead end,\" \"out of options,\" \"I've tried everything,\" \"work around this.\

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# /unstuck, The roadblock antidote

Turns "impossible" into angles. Classifies the wall, runs the right lateral-thinking techniques against it, and doesn't stop at the first mediocre workaround. Output is either a set of viable angles with next actions, or an honest "this wall is load-bearing, reroute the goal."

**Two modes:**
- **User-invoked**, someone is stuck and asks. Full 7-step workflow below.
- **Agent fast path**, YOU (the agent) hit the wall mid-task. See [Agent fast path](#agent-fast-path), run it before telling the user something can't be done.

## The mental model: walls have types, and the type picks the crowbar

"Impossible" is a claim, not a fact. It almost always decompiles into something weaker: *expensive*, *against the rules*, *nobody's done it*, *I don't know how*. Only *actually impossible* (physics, math, arithmetic) ends the session, and it ends it honestly.

| Wall type | What "impossible" actually means | Lead techniques (see `references/techniques.md`) |
|---|---|---|
| **Assumption** | An inherited belief nobody re-verified | T1 assumption autopsy, T3 first principles |
| **Framing** | The goal is stated in a way that excludes the answer | T4 altitude shift, T2 inversion, T5 work backwards |
| **Gatekeeper** | A person/org said no | T10 interrogate the no, T6 analogical transfer |
| **Tool/tech** | "X doesn't support Y" | T9 SCAMPER (substitute the primitive), T6 analogical transfer |
| **Resource** | Not enough time/money/people | T7 constraint toggling, T8 provocation |
| **Physics/math** | Actually impossible (rare) | Honest exit, reroute the goal, the wall is load-bearing |

## Step 1, Capture the wall

Get from the user (one structured message, don't round-trip):

The rest: https://github.com/coreyhaines31/makerskills/blob/HEAD/skills/unstuck/SKILL.md
