Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add thoughtbot/rails-consultant --skill rubber-duckgit clone --depth 1 https://github.com/thoughtbot/rails-consultantWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/thoughtbot/rails-consultant/rubber-duck)<a href="https://agentmods.dev/skills/thoughtbot/rails-consultant/rubber-duck"><img src="https://agentmods.dev/badge/skills/thoughtbot/rails-consultant/rubber-duck/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/thoughtbot/rails-consultant/rubber-duck"><img src="https://agentmods.dev/badge/skills/thoughtbot/rails-consultant/rubber-duck.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00029 | $0.00686 |
| Opus 5 | $0.00015 | $0.00343 |
| Sonnet 5 | $0.00006 | $0.00137 |
| Haiku 4.5 | $0.00003 | $0.00069 |
Grade A, and why
rubber-duck scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 54 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 54 lines · 29 tokens per session scan A 04f9d78c2d5a
rubber-duck is a skill published in the GitHub repository thoughtbot/rails-consultant (24 stars, last pushed 1mo ago), licensed MIT. It adds 29 tokens to every session and 686 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
recursive-decomposition
Handle tasks that exceed the context window by decomposing them: size and filter the input, chunk it, run recursive sub-agents on independent parts, verify on small windows, and synthesise programmatically, following the Recursive Language Models (RLM) research by Zhang, Kraska and Khattab (2025). Use when a task…
swarm
Run a multi-agent audit of a codebase by spawning specialized parallel subagents (security, performance, tests, architecture, dead-code), then synthesize their findings into a single prioritized action plan. Use this whenever the user runs /swarm, asks to "audit the repo," "review this codebase," "find issues across…
tools-unity-behavior-designer
Behavior Designer patterns for AI behavior trees including task creation, shared variables, conditionals, and debugging.
tools-unity-flowcanvas
FlowCanvas visual scripting patterns for abilities, custom nodes, and graph execution.
tools-unity-gameplay-ability-system
Gameplay Ability System patterns for abilities, effects, attributes, and tags including recursion safety and lifecycle management.
eng-unity-mobile-optimization
Mobile-specific Unity optimization patterns for memory, battery, thermal, and performance.