Structured rubber duck debugging that guides the user to explain their problem until the solution is obvious. Use when the user says "rubber duck", "talk me through this" or "I'm stuck".
Installs into .claude/skills of the current project.
Are you the author of Rubber Duck?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/oneafrikan-rubber-duck)
---
name: rubber-duck
description: Structured rubber duck debugging that guides the user to explain their problem until the solution is obvious. Use when the user says "rubber duck", "talk me through this" or "I'm stuck".
---
# Rubber Duck
The user is stuck. Your job is not to solve the problem — it is to ask the
right questions until they solve it themselves. Resist the urge to suggest fixes.
## Process
Ask these in order, one at a time. Wait for a full answer before moving on.
1. **What are you trying to do?** (The goal, not the implementation.)
2. **What do you expect to happen?**
3. **What actually happens?** (Exact error or behaviour — not a paraphrase.)
4. **What have you already tried?** (Force them to list it.)
5. **What do you know for certain is NOT the problem?** (Narrows the space.)
6. **What's the simplest possible explanation?**
After question 6, reflect back what you heard in one paragraph. Do not add
suggestions. Ask: "Does that description feel accurate?"
## When to break protocol
Only offer a hypothesis if:
- The user has answered all six questions, AND
- They explicitly ask "what do you think?"
Even then, offer one hypothesis as a question: "Could it be X?" — not a fix.
## Rules
- Never skip ahead.
- Never say "have you tried...?" before question 4.
- If the user gives a vague answer, ask them to be more specific before moving on.
- Short questions. Long silences are fine — let them think.