Skip to content
Business
Skill

/unstuck

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)

BOOST
From plugin
makerskills
86422 skills
Install
$ npx -y skills add coreyhaines31/makerskills --skill unstuck --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/unstuck

Context preview

The summary Claude sees to decide when to auto-load this skill.

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)

SKILL.md

unstuck.SKILL.md
name: unstuck
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.\""
metadata:
  version: 0.1.1

/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 goal** — what are you ultimately trying to do? (Not the blocked step — the job it serves.)
  • **The wall** — what exactly blocks it?
  • **Attempts** — what have you already tried?
  • **The source of the no** — who or what said no? Physics? A vendor's docs? A person? An error message? Your own assumption?
  • **Stakes + deadline** — how much does breaking this wall matter, by when?

If the user says "I've tried everything," ask for the list. "Everything" is usually 2–3 things.

Step 2 — Classify the wall

Use the taxonomy above. State the classification and why. Two rules:

1. **Decompile the word "impossible."** Restate the wall without it: "expensive," "undocumented," "they refused," "I don't know how." The restatement usually names the wall type. 2. **Restate the problem at two altitudes** before proceeding — one level more abstract (*what job is this serving?*) and one level more concrete (*what literally fails, at which exact step?*). Many walls dissolve at a different altitude; if one does, say so and skip to Step 6.

Step 3 — Assumption autopsy (always runs)

Run T1 from `references/techniques.md` regardless of wall type: enumerate every assumption embedded in the problem statement, mark each **verified fact** vs **inherited belief**, and attack the beliefs. Most walls die here — the ones that don't are at least correctly framed for Step 4.

Step 4 — Run the triaged techniques

Pick 2–3 more techniques by wall type (lead techniques in the table; full triage guidance in `references/techniques.md`). For each, generate 2–3 angles.

**Rules of generation:**

  • **Quantity gate: minimum 10 angles total before evaluating any.** The first workaround is usually mediocre. No judging, no feasibility talk, no "but" during generation.
  • Angles must be **different in kind**, not variations — three flavors of "ask again nicer" is one angle.
  • Wild angles are welcome at this stage; they get filtered in Step 5, and they often seed the viable ones.

Step 5 — Triage the angles

Sort every angle into:

  • **Try now** — feasible with what's in hand; has a concrete first action
  • **Needs research** — viable if an unknown checks out → route to `/deep-research`
  • **Wild but worth 30 min** — low odds, trivial cost, asymmetric payoff
  • **Dead** — violates a real constraint (say which)

Step 6 — Commit

  • Pick **1–3 angles** with a concrete next action each.
  • If 2+ viable angles are mutually exclusive → hand the fork to `/decide`.
  • If NOTHING survived triage and the wall is physics/math class: say so plainly. **"The wall is load-bearing — reroute the goal" is a legitimate, successful output.** Recommend what the rerouted goal looks like.

Step 7 — Archive

Archives live in `${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/unstuck/archive/` (create the directory if missing). Never write archives inside the skill's own folder — skill installs and upgrades re-sync from source and wipe anything saved there.

Write to `<archive dir>/<YYYY-MM-DD>-<slug>.md`:

# Wall: <one-line>

**Date:** YYYY-MM-DD
**Invoked by:** user | agent
**Wall type:** assumption / framing / gatekeeper / tool / resource / physics
**Goal it blocked:** <one line>

## The wall as stated
<verbatim>

## The wall decompiled
<restated without "impossible">

## Assumptions attacked
- <belief>
Read more
Ships withmakerskills

AI agent skills for the personal operator's craft. Decisions, research, second-brain workflows, content rotation, scenario modeling, CFO cadence, domain hunts, and the meta-skills to author more. Built for founders and indie operators.

Get the whole plugin

Other skills on makerskills.