From unstuck
Use when stuck on a bug, test failure, or unexpected behavior and need a structured 3-strike escalation protocol
How this skill is triggered — by the user, by Claude, or both
Slash command
/unstuck:getting-unstuckThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Structured escalation when stuck on a problem. Three strikes: diagnose → pivot → escalate.
Structured escalation when stuck on a problem. Three strikes: diagnose → pivot → escalate.
$ARGUMENTS = description of the issue (error message, failing behavior, what was tried).
If $ARGUMENTS is empty, ask:
AskUserQuestion:
question: "What are you stuck on? Describe the error, failing behavior, or what you've tried."
header: "Problem"
options:
- label: "Build/compile error"
description: "Code won't build, type errors, import failures"
- label: "Runtime error"
description: "Crashes, exceptions, unexpected behavior at runtime"
- label: "Test failure"
description: "Tests failing, assertions wrong, flaky tests"
- label: "Behavior mismatch"
description: "Code runs but produces wrong results"
Gather:
$ARGUMENTSSummarize the problem in 2-3 sentences. This becomes the RCA Problem section.
Identify language and framework from:
pydantic, FastAPI, asyncio in traceback)pyproject.toml, package.json, go.mod, Cargo.toml)Store detected context: {LANGUAGE} and {FRAMEWORK} (may be empty).
If {LANGUAGE} and {FRAMEWORK} are identified:
test -f "${CLAUDE_PLUGIN_ROOT}/knowledge/{LANGUAGE}-{FRAMEWORK}.md" && echo "found"
If found, read ${CLAUDE_PLUGIN_ROOT}/knowledge/{LANGUAGE}-{FRAMEWORK}.md.
Hold the knowledge pack in context — skills reference it during investigation.
Generate slug from the problem summary (lowercase, hyphenated, max 5 words).
mkdir -p docs/rcas
Read ${CLAUDE_PLUGIN_ROOT}/templates/rca.md and create docs/rcas/{YYYY-MM-DD}-{SLUG}.md:
{TITLE} with the problem summary{DATE} with today's dateTrack the RCA path as {RCA_FILE} for updates throughout.
Load the unstuck:diagnosing skill and follow it.
Pass context:
{RCA_FILE}After diagnosing returns:
{RCA_FILE} Investigation Log — Strike 1 row with approach and resultresolved, fill Resolution and Lessons Learned, doneIf not resolved, proceed to Strike 2.
Load the unstuck:pivoting skill and follow it.
Pass context:
{RCA_FILE}After pivoting returns:
{RCA_FILE} Investigation Log — Strike 2 rowresolved, fill Resolution and Lessons Learned, doneIf not resolved, proceed to Strike 3.
Load the unstuck:escalating skill and follow it.
Pass context:
{RCA_FILE}After escalating returns:
{RCA_FILE} Investigation Log — Strike 3 rowescalated or resolved based on outcomeReport:
## Unstuck Summary
Status: { resolved | escalated }
RCA: {RCA_FILE}
Strikes: {N}/3
Strike 1 (Diagnose): { one-line outcome }
Strike 2 (Pivot): { one-line outcome }
Strike 3 (Escalate): { one-line outcome }
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub jugrajsingh/skillgarden --plugin unstuck