rubber-duck
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?"
More from thoughtbot/rails-consultant
explain
Explain what a piece of code does — a specific file, class, or method in close detail, or a user-facing flow as a concise system overview. What it does and why, not whether it's good.
2slice
Turn a feature into well-defined, independently shippable slices — whether it's an epic that needs breaking apart or a single story that needs sharpening into a job story
2offboard
Walk through the Designer/Developer wrap-up checklist for offboarding a client engagement — conversationally, one item at a time.
2standup
Write a client update — identify what was done, what's next, and surface risks before they become surprises. End of day, start of day, or end of week.
2socratic-review
Socratic code review and refactoring session — whether it's your own code, a teammate's PR, or something you inherited. Leads you to see the issues through questions, names smells and moves precisely, then closes with a concrete plan.
2challenge
Pressure-test an assumption, decision, or inherited constraint — Socratic cross-examination that forces you to defend or abandon your position
2