Install any skill in seconds. Free to start, no credit card required.
Get Started Free →When a user is stuck, frustrated, or describing a problem vaguely, do NOT immediately suggest solutions. First, force structured problem articulation through targeted questions. Use when you see vague problem descriptions, frustration signals, or potential XY problems.
.claude/skills/adityapeshave-sophos-rubber-duck/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 47% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 59% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -5% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -21% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -1% | 0% |
Users often know the solution to their own problem - they just haven't articulated it clearly yet. Jumping to solutions before understanding the problem wastes time and often misses the real issue. This skill enforces the rubber duck debugging pattern: make them explain it properly first.
Trigger when you see:
Do NOT immediately propose solutions. Even if you think you know the answer.
Let me make sure I understand the problem clearly.
1. **What did you expect to happen?**
[Get specific desired outcome]
2. **What actually happened?**
[Get specific observed behaviour, error messages, symptoms]
3. **What have you tried so far?**
[Understand their mental model and eliminate paths]If answers are still vague, follow up:
A few more questions to narrow this down:
- When did it last work correctly?
- What changed between then and now?
- Does it fail every time, or intermittently?
- Can you show me the exact error message/output?
- What's the simplest case where it still fails?Before solving, confirm understanding:
Let me make sure I've got this right:
You expected: [X]
But instead: [Y]
You've already ruled out: [Z]
Is that accurate?Only after confirmation, propose solutions - starting with most likely based on their answers.
Watch for this pattern:
> User: "How do I get the last 3 characters of a filename in bash?" > Real problem: They want to check file extensions
When you suspect an XY problem:
I can answer that, but I want to make sure I'm solving the right problem.
What are you ultimately trying to accomplish? Sometimes there's a more
direct approach.When user is clearly frustrated:
I can tell this has been frustrating. Let's slow down and be systematic.
[Then proceed with the three questions, but with softer framing]Do NOT:
User: "My API isn't working"
Let me make sure I understand.
1. What did you expect the API to do?
2. What's actually happening? (Error message? Wrong response? No response?)
3. What have you tried so far?User: "How do I parse JSON in bash?"
I can show you that, but parsing JSON in bash is usually painful.
What are you ultimately trying to do with the JSON? There might be a
cleaner approach depending on your goal.User: "The login doesn't work" Agent: asks three questions] User: "I expect to see the dashboard after login. Instead I get redirected back to login. I've cleared cookies and tried incognito."
Got it. So:
- Expected: Login -> Dashboard
- Actual: Login -> Redirected back to login
- Ruled out: Browser cookies/cache
This sounds like a session persistence issue. Let me check a few things...User: "I've spent 3 hours on this stupid bug and NOTHING works"
I hear you - that's genuinely frustrating. Let's be methodical and
figure this out together.
Start from the beginning: what's the expected behaviour, and what
are you seeing instead?| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-02 | fail→pass | 8,259 | 6,748 | -18% | 1 | 1 | 0% | 1,581 | 2,317 | +47% | 0 | 0 | — |
case-15 | fail→fail | 9,705 | 5,879 | -39% | 1 | 1 | 0% | 1,631 | 2,209 | +35% | 0 | 0 | — |
case-01 | fail→fail | 8,534 | 4,006 | -53% | 1 | 1 | 0% | 1,350 | 1,946 | +44% | 0 | 0 | — |
case-03 | fail→pass | 7,934 | 6,419 | -19% | 1 | 1 | 0% | 1,307 | 2,072 | +59% | 0 | 0 | — |
case-04 | fail→pass | 10,586 | 4,575 | -57% | 1 | 1 | 0% | 2,014 | 1,909 | -5% | 0 | 0 | — |
case-05 | fail→fail | 11,652 | 5,865 | -50% | 1 | 1 | 0% | 2,032 | 2,191 | +8% | 0 | 0 | — |
case-06 | fail→pass | 12,193 | 3,564 | -71% | 1 | 1 | 0% | 2,273 | 1,805 | -21% | 0 | 0 | — |
case-07 | fail→pass | 9,694 | 3,330 | -66% | 1 | 1 | 0% | 1,790 | 1,780 | -1% | 0 | 0 | — |
case-08 | fail→pass | 7,602 | 4,070 | -46% | 1 | 1 | 0% | 1,273 | 1,973 | +55% | 0 | 0 | — |
case-09 | fail→pass | 9,561 | 4,001 | -58% | 1 | 1 | 0% | 1,635 | 1,912 | +17% | 0 | 0 | — |
case-10 | fail→pass | 14,744 | 7,375 | -50% | 1 | 1 | 0% | 2,371 | 2,473 | +4% | 0 | 0 | — |
case-11 | fail→pass | 55,067 | 4,973 | -91% | 1 | 1 | 0% | 1,195 | 2,118 | +77% | 0 | 0 | — |
case-12 | fail→pass | 7,646 | 3,054 | -60% | 1 | 1 | 0% | 1,161 | 1,761 | +52% | 0 | 0 | — |
case-13 | fail→fail | 11,137 | 5,581 | -50% | 1 | 1 | 0% | 1,812 | 1,984 | +9% | 0 | 0 | — |
case-14 | fail→pass | 8,837 | 2,662 | -70% | 1 | 1 | 0% | 1,553 | 1,667 | +7% | 0 | 0 | — |
case-16 | fail→fail | 18,360 | 4,435 | -76% | 1 | 1 | 0% | 1,977 | 1,875 | -5% | 0 | 0 | — |
case-17 | fail→pass | 11,933 | 5,060 | -58% | 1 | 1 | 0% | 2,117 | 2,156 | +2% | 0 | 0 | — |
case-18 | fail→fail | 8,026 | 4,383 | -45% | 1 | 1 | 0% | 1,498 | 1,878 | +25% | 0 | 0 | — |
case-19 | pass→pass | 4,576 | 7,591 | +66% | 1 | 1 | 0% | 1,055 | 2,453 | +133% | 0 | 0 | — |
case-20 | pass→pass | 3,872 | 6,503 | +68% | 1 | 1 | 0% | 731 | 2,474 | +238% | 0 | 0 | — |
case-21 | pass→fail | 2,492 | 5,192 | +108% | 1 | 1 | 0% | 415 | 2,106 | +407% | 0 | 0 | — |
case-22 | pass→pass | 9,992 | 5,984 | -40% | 1 | 1 | 0% | 2,185 | 2,515 | +15% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +50 percentage points is the difference between those two pass rates over the 21 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.