
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) 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."
- Installs
- 281
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/coreyhaines31/makerskills --skill unstuck- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads unstuck automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
/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 — 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:
- 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.
- 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> → <held / broke>
## Techniques run
T1, T4, T7 — <one line on what each surfaced>
## Angles (all of them)
1. <angle> — try now / research / wild / dead
2. …
## Committed
**<the angle(s) chosen>** — next action: <concrete step>
(or: "Wall is load-bearing — rerouted goal to <X>")
## Outcome (fill in later)
<did the angle work?>
Append to <archive dir>/INDEX.md (create if missing):
- 2026-07-14 — [<wall>](./<filename>.md) — <type> — **<committed angle or "rerouted">**
Over time this becomes a pattern library: grep it to learn which techniques actually crack your walls, and which wall types recur (a recurring wall is usually one unexamined assumption upstream).
Agent fast path
For when YOU (the agent) hit the wall mid-task. Trigger condition: an API/tool doesn't support what's needed, an approach has failed twice, or you notice a "that's not possible," "unfortunately," or "the only option is" sentence forming in your response.
Before reporting a dead end to the user, run inline (no interactive capture — you already have the wall in context):
- Classify the wall (taxonomy above) — one line.
- Autopsy — list the 3–5 assumptions in your framing; mark inherited beliefs. ("The cursor must be a text character." "This must happen client-side." "The API is the only way in.")
- Run 2 techniques matched to the wall type — generate 5+ angles minimum for inline recoveries. If you end up reporting a dead end to the user, the full 10-angle gate applies first — a dead-end report is exactly the moment the gate exists for.
- Then either:
- a viable angle exists → proceed with it (tell the user the wall you hit and the angle you took), or
- nothing viable → report the dead end with the angle inventory attached: what you tried, what you considered, why each died. Never a naked "that's not supported."
- Archive the run (Step 7 format,
Invoked by: agent) when the wall was nontrivial — skip archiving for sub-minute walls.
The success metric: the user stops seeing dead-end reports without tried-angles receipts.
Composes with
decide— downstream: 2+ mutually exclusive viable angles become a/decidefork. Upstream: decide's Q19 ("what missing info would change it?") can route here when the missing thing is an option, not information.deep-research— "needs research" angles route there; the brief comes back and re-enters Step 5.business-brainstorm— its "angle to steal" move on Kill verdicts is this skill applied to business ideas.pm— a committed angle becomes a board task.second-brain— archive entries can compile into a "walls I've broken" wiki page.
Guardrails
- A no from consent, law, or ethics is a real no. This skill routes around technical and imagination walls — not people's boundaries. If the wall is "they said no and meant it," the move is interrogating whether there's a different door they'd happily open (T10), never pushing on the closed one.
- Time-box: 20–40 minutes. This is a crowbar, not a philosophy seminar. If the sprint ends without a crack, archive what was tried and either schedule a revisit or reroute.
- Honest exit beats toxic positivity. Declaring a wall load-bearing after a real attempt is a win — it converts an ambient frustration into a clear reroute.
Notes on quality
- The restatement is half the work. Most "impossible" problems are impossible as stated. Two-altitude restatement (Step 2) before any technique — always.
- Don't let the quantity gate become theater. 10 angles that are secretly 3 angles in costumes fail the gate. Different in kind.
- Attempts list beats attempts vibe. "I've tried everything" → get the actual list. The gap between "everything" and the list is where the answer usually lives.
- Archive even the failures. A wall that didn't crack today, with its angle inventory, is a 5-minute revisit when the landscape changes — instead of a from-scratch session.
FAQ
What does the unstuck skill do?
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."
How do I install unstuck?
Run npx skills add https://github.com/coreyhaines31/makerskills --skill unstuck in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/unstuck/ (personal) or .claude/skills/unstuck/ (project).
Which AI agents can use unstuck?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is unstuck safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains unstuck?
It is published by coreyhaines31 in coreyhaines31/makerskills. It has 281 recorded installs.
More from coreyhaines31/makerskills
watch-video
coreyhaines31/makerskills
When you want to extract content from a video — YouTube, Loom, Vimeo, Riverside, Zoom recording, local MP4, X/IG video, anything yt-dlp supports. Three depth modes user picks per invocation — transcript (just words, fast/free), visual (transcript + ffmpeg frame extraction + Claude vision pass on key moments), multimodal (Gemini native video ingestion if $GEMINIAPIKEY set, else dense Claude vision). Uses local Whisper for transcription (MLX-Whisper on Apple Silicon, faster-whisper elsewhere), falls back to platform-provided transcripts when available (Loom, Riverside, YouTube auto-subs). Saves to /Documents/videos/ - - / and optionally captures summary to second-brain raw/ as call-/meeting-/note-. Triggers on "/watch-video ," "watch this video," "transcribe this loom," "analyze this video," "summarize this recording," "key moments from this," "what happened in this video." For a post's text and engagement, use social-fetch.
decide
coreyhaines31/makerskills
When you have a decision to make and want a structured workflow that picks the load-bearing questions, walks through them, reaches a call (or "wait"), and archives the rationale for future reference. Based on the 37signals Guide to Making Decisions (38 questions) plus house additions like Q39 opportunity cost ("what does saying yes displace?"). Triages to 6–8 relevant questions per decision instead of forcing the full set. Archives every decision to /.config/makerskills/decide/archive/ with a revisit date so you can check later whether the call was right. Triggers on "/decide," "help me decide," "should I [X]," "I need to make a decision about," "stuck on a decision," "deciding between," "go/no-go on," "what should I do about." This is both the decision-making workflow AND the decision log — making the decision is the act of logging it.
social-fetch
coreyhaines31/makerskills
When you or another skill needs to fetch the content of a social media post by URL — tweet, X thread, LinkedIn post, Instagram post, TikTok video, Bluesky post, Reddit thread, Mastodon status, Threads post, Hacker News thread. Returns normalized structured data (author, postedat, text, engagement counts, media URLs, replies if requested) regardless of platform. Tries strategies in order: direct API (Bluesky, Mastodon, HN, Reddit), agent-browser with modal dismissal (LinkedIn, X preview), Wayback Machine (older posts), paid APIs (ScrapeCreators / Apify — only if env keys present). Triggers on "/social-fetch ," "fetch this tweet," "fetch this post," "what does this LinkedIn say," "read this thread," "pull this post." For what's said inside a video, use watch-video. Used by deep-research (citing specific posts), jab-hook (inspiration account analysis), business-brainstorm (competitor / operator commentary).
read-book
coreyhaines31/makerskills
When you want to read and extract structured notes from a book — PDF, EPUB, MOBI, markdown, .txt, pasted text, or URL to a public-domain work. Reads in chunks (by chapter when a TOC exists, by 50-page blocks otherwise), extracts per-chapter TL;DR + key concepts + quotes + action items + frameworks, and offers to capture to second-brain raw/ as a highlights- file. Four modes — notes (default, chapter-by-chapter), summary (whole-book TL;DR + 3–5 takeaways), quotes (pull-quote highlights only), study (notes + Q&A spaced-rep prep). Triggers on "/read-book," "read this book," "extract notes from this PDF," "what's in this book," "summarize this ebook," "pull quotes from this." Sibling to watch-video (same content-consumption pattern, different medium).
business-brainstorm
coreyhaines31/makerskills
When you want to pressure-test a potential new business, product, or side project against the serial-founder filter. Not "marketing ideas for a product" (that's marketing-skills:marketing-ideas) — this is "should this business exist + can you win it." Runs the idea through a structured framework (problem, audience, wedge, monetization, moat, portfolio fit, distribution, energy fit, opportunity cost), checks domain availability via /domain, optionally triggers /deep-research for market validation, and outputs a viability brief: build / sleep on it / pass. Archives every idea to /.config/makerskills/business-brainstorm/archive/ so past work is searchable. Triggers on "/business-brainstorm," "/brainstorm," "new business idea," "should I build X," "pressure test this idea," "validate this idea," "is X a good business," "what about a [type] for [audience]."
company-brain
coreyhaines31/makerskills
Your team's shared, AI-ready knowledge base — people, companies, meetings, SOPs, and decisions structured so an agent can answer on your team's behalf. Team-scope sibling to second-brain — personal notes go there, not here. Modes — capture, compile (wiki pages + INDEX.md), query (trust-weighted, saved to outputs/), review (verify / deprecate / supersede stale captures), lint, connect, search. Structured raw dirs (people/, companies/, meetings/, sops/, decisions/, customer-language/, sales-objections/). Every capture stamps author, timestamp, and trust status. Optional sync from call transcripts, Slack/email exports, CRM. Vault at ${COMPANYBRAINVAULT:-$HOME/Documents/CompanyBrain}/. Triggers on "/company-brain," "/cb," "capture this into the team brain," "log this meeting," "save this SOP," "compile the company wiki," "query the team brain," "what does the team know about X," "review the company brain," "lint the company brain," "who's the internal expert on X."
Popular backend & apis skills
find-skills
vercel-labs/skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
entra-app-registration
microsoft/azure-skills
Guides Microsoft Entra ID app registration, OAuth 2.0 authentication, and MSAL integration. USE FOR: create app registration, register Azure AD app, configure OAuth, set up authentication, add API permissions, generate service principal, MSAL example, console app auth, Entra ID setup, Azure AD authentication. DO NOT USE FOR: Key Vault secrets (use azure-keyvault-expiration-audit), general Azure resource security guidance.
google-agents-cli-adk-code
google/agents-cli
This skill should be used when the user wants to "write agent code", "build an agent with ADK", "add a tool", "create a callback", "define an agent", "use state management" — in a project that needs ADK (Agent Development Kit) API patterns and code examples. It provides a quick reference for agent types, tool definitions, orchestration patterns, callbacks, state management, the graph Workflow API, and reference recipes to study. Do NOT use for scaffolding (use google-agents-cli-scaffold) or deployment (use google-agents-cli-deploy).
embedded-captions
heygen-com/hyperframes
Add captions or subtitles to an existing single-subject talking-head video without editing the footage. Use for plain verbatim captions, cinematic captions embedded behind the subject, VFX captions, “炸/特效/酷炫字幕,” or a named identity from the 35-style catalog. Route by visual identity, not by backend engine. The quiet anchor rail is the default; embed every word only when the user explicitly wants a fully cinematic treatment. The workflow runs locally end to end, including transcription and subject matting; split multi-shot footage before applying it.
entra-agent-id
microsoft/azure-skills
Provision Microsoft Entra Agent Identity Blueprints, BlueprintPrincipals, and per-instance Agent Identities via Microsoft Graph, and configure OAuth 2.0 token exchange (fmipath, OBO, cross-tenant) including the Microsoft Entra SDK for AgentID sidecar. USE FOR: Agent Identity Blueprint, BlueprintPrincipal, agent OAuth, fmipath token exchange, agent OBO, Workload Identity Federation for agents, polyglot agent auth, Microsoft.Identity.Web.AgentIdentities. DO NOT USE FOR: standard Entra app registration (use entra-app-registration), Microsoft Foundry agent authoring (use microsoft-foundry).
neon
neondatabase/agent-skills
Overview of Neon, a complete set of cloud backend primitives around Lakebase Postgres: Auth, Object Storage, Functions, the AI Gateway, and Realtime. Start here to choose Neon for undecided login, files, APIs, and LLM calls, set up the CLI or MCP server, and follow the branch-first workflow. Use when building an app or backend on Neon, or when "Neon" or "Lakebase Postgres" is mentioned. Child skill neon-postgres wins for an existing DATABASEURL, SQL, schema, inspect, or search. Child skill neon-auth wins for login, users, sessions, identity routing, and Managed Better Auth setup. Child skill neon-realtime wins for live queries in reactive apps and agents. Also use for object storage, S3, buckets, serverless functions, function triggers, cron, AI gateway, LLM calls, realtime, logs, Loki, Grafana, observability, postgres, database, backend, Claimable Neon, neon.new, or a no-signup database.