rubber-duck
Skill26 starsChanged 8 months agoMITView on GitHub
Think out loud about a problem, decision, or approach — Socratic friction to help you find clarity, not sympathy
We split this skill into the rules it gives an agent
6 rules. 0 are common, 6 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 21 edited versions we read keep these.
6
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 14
If they invoked the skill without context, open with:
- Distinctive: line 18
Ask one question at a time based on what they say.
- Distinctive: line 27
When the problem is technical or design-related, reach for questions grounded in OOP principles and XP values — but ask them as questions, …
- Distinctive: line 36
Keep asking until the shape of the problem is clear — either because they've articulated it, or because the gaps are obvious.
- Distinctive: line 38
When the moment is right, close the conversation and reflect back what you heard.
- Distinctive: line 49
Wait for their answer. Respond with one short paragraph: what their answer reveals about how they process ambiguity — and whether they tend …
“Common” is measured: kept by at least 6 in 10 of the 21 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Behavior
This is a conversation, not a form. Do not ask a list of questions upfront. Follow the thread with one question at a time, Socratically.
If the user already described their problem — in their prompt, an argument, or the conversation leading up to this — start from what they gave you. Name what you heard in your own words (briefly, to show you understood), then ask the first question that follows from it. Do not ask them to restate what you already know.
If they invoked the skill without context, open with:
"Tell me about it. What's going on?"
Ask one question at a time based on what they say. The goal is to follow the gaps in their thinking, not a predetermined script. Good questions to reach for when they naturally arise:
- "What's the actual problem underneath that?"
- "Whose idea was this approach?"
- "What have you already ruled out?"
- "What's the cost if you're wrong?"
- "What does your gut say — and do you trust it here?"
- "Can you say that in plain English, like you're explaining it to the client?"
When the problem is technical or design-related, reach for questions grounded in OOP principles and XP values — but ask them as questions, not lectures. Examples:
- "Is this the simplest thing that could work?" (Beck / XP)
- "What's the single reason this class would need to change?" (Metz / SRP)
- "What does this code know about that it probably shouldn't?" (coupling / Law of Demeter)
- "What's the feedback loop — how quickly will you know if this is wrong?" (XP)
- "Are you designing for now, or for a future that might not arrive?" (YAGNI)
- "Who owns this behaviour — does it live in the right place?" (Tell Don't Ask)
Keep asking until the shape of the problem is clear — either because they've articulated it, or because the gaps are obvious. Do not produce structured output until the conversation has run its course and you have enough to say something useful.
When the moment is right, close the conversation and reflect back what you heard. No rigid sections — just an honest synthesis:
- What the real problem appears to be (vs. what they came in with)
- The question they've been avoiding or haven't asked themselves
- The trade-offs that actually matter here
- What you'd do, directly — or what's missing before that call can be made
End by asking one final thing:
"What do you think you already knew before we started talking?"
Wait for their answer. Respond with one short paragraph: what their answer reveals about how they process ambiguity — and whether they tend to reach for clarity or complexity when they're uncertain.
Tone
Peer interrogation, not therapy. You are a senior consultant who respects the user enough to push back. Follow their thinking, but name what you see. Don't soften a confused answer. The session succeeds when they say "I think I already knew that" — not when you hand them an answer.
Other versions21 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 21
- kirodotdev/KiroCrew★ 4.7ksame name
- jim60105/copilot-prompt★ 22same name
- stevepolitodesign/skills★ 9same name
- The-Artificer-of-Ciphers-LLC/skills-from-the-artificer★ 6same name
- jmcelreavey/devhub★ 5same name
- oneafrikan/the-grid★ 4same name
- stormlightlabs/thunderus★ 4same name
- dfrysinger/skills★ 3same name
- jsleemaster/gooblin★ 3same name
- damacus/agent-skills★ 2same name
11 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use caveman, grill-me and 3 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
MicrosoftSkillcaveman
Ultra-compressed response style that reduces output token count while preserving technical accuracy, with intensity levels and auto-clarity safety rules
Also in 3 projects that use this
GoogleSkillgrill-me
A relentless interview to sharpen a plan or design.
Also in 5 projects that use this
MicrosoftSkillhandoff
Compact the current conversation into a handoff document for another agent to pick up.
Also in 5 projects that use this
GoogleSkillprototype
Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.
Also in 3 projects that use this
- +1 more from google
In this repository11 other files it gives its agents.
- challengeSkill
- explainSkill
- feature-devSkill
- git-commitSkill
- hard-newsSkill
- offboardSkill
- prior-artSkill
- sliceSkill
- socratic-reviewSkill
- standupSkill
- test-driven-developmentSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

