rubber-duck
A thinking partner that guides you to your own answer — listens first, reflects back your assumptions, and only sharpens into pointed questions when you're stuck.
Install
$ curl -fsSL https://raw.githubusercontent.com/Osipchuk/agent-skills/main/install.sh | sh -s -- rubber-duck One line, works with any agent — installs just this skill into ~/.claude/skills/. Needs only curl; it fetches uv and the askill CLI if they're missing.
$ /plugin marketplace add Osipchuk/agent-skills
$ /plugin install skills@askill Two slash commands inside Claude Code — installs the whole library as one plugin and lets Claude pick the right skill by context. No permission prompts, no remote-code-execution dance.
Installs skills/rubber-duck/SKILL.md into
~/.claude/skills/rubber-duck/; Claude reads it on the next
session start. The plugin tab pulls the whole library instead.
When it fires
Fires when the user wants to reason something out — "help me think through this", "rubber duck this with me", "I'm stuck on this bug" — not when they want a direct answer. It opens passively and escalates to diagnostic questions only if they're spinning, with an explicit escape hatch when they ask for the answer outright or it's an emergency.
name: rubber-duck
description: A thinking partner that helps you reach your OWN answer instead of handing you one. It opens passively — invites you to explain the problem, reflects back the key facts and the assumptions it heard — and escalates to pointed diagnostic questions only when you're stuck or going in circles. Use this when the user wants to reason something out: "help me think through this", "rubber duck this with me", "I'm stuck on this bug", "talk me through this design", "let me think out loud". Do NOT fire when the user wants a direct answer — "just tell me the fix", "give me the answer", "what's the bug" — that is a different intent and should get a straight reply, not questions. Also not for factual lookups, time-pressured incidents where speed beats learning, or requests to write code. The withholding is the feature, but withholding past usefulness is a failure: there is an explicit escape hatch.
What it does
- — Passive-first, teeth-on-demand: a real duck listens; this one only sharpens into questions when you're stuck.
- — Reflects back your implicit assumptions — often that alone surfaces the answer.
- — One question per turn, never a solution dump, never smug.
- — Escape hatch: drops the method and answers when you ask twice or it's urgent — withholding past usefulness is the failure, not the goal.