agentleFS
heffreyheffrey/claude-skills/rubber-duck/SKILL.md

rubber-duck

Skill1 starsChanged 7 months agoMITView on GitHub

Use when stuck on a problem, about to make a non-trivial change, or noticing you're about to guess instead of reason

22 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use caveman, grill-me and 4 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.
  • MicrosoftSkill

    caveman

    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

  • GoogleSkill

    grill-me

    A relentless interview to sharpen a plan or design.

    Also in 5 projects that use this

  • MicrosoftSkill

    handoff

    Compact the current conversation into a handoff document for another agent to pick up.

    Also in 5 projects that use this

  • GoogleSkill

    prototype

    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

  • +2 more from google

The file

We split this skill into the rules it gives an agent

4 rules. 0 are common, 4 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 22 edited versions we read keep these.

  • 4

    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
  1. Distinctive:

    Rigid: Do not skip sections; do not propose a solution until the written explanation is complete.

    line 8
  2. Distinctive:

    Before a change that spans more than one file or subsystem.

    line 16
  3. Distinctive:

    Every assumption is a potential bug.

    line 37
  4. Distinctive:

    If after working through the duck you still don't see the problem, the answer is usually in section 4 — an assumption you didn't realize …

    line 47

“Common” is measured: kept by at least 6 in 10 of the 22 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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Rubber Duck

Rigid. Do not skip sections; do not propose a solution until the written explanation is complete.

The act of explaining a problem aloud often surfaces the answer. Use this skill as a gate: you cannot propose a solution until you've written the explanation.

When to use

  • Stuck on a bug for more than a few minutes.
  • A proposed fix "should work" but you can't articulate exactly why.
  • Before a change that spans more than one file or subsystem.
  • Whenever you notice you're about to guess.

The duck

Answer each section in plain prose. Do not skip sections. Do not use bullet points — sentences force precision.

1. What is actually happening?

Describe the observed behavior in one paragraph. Not what you think is wrong — what the system actually does. Include specific inputs, specific outputs, and specific locations.

2. What did you expect to happen, and why?

One paragraph. What should happen, and what in the code or spec says so? If you can't point to a reason, the expectation itself may be wrong.

3. What do you know for certain?

List things you have directly verified (by reading the code, running a test, reading logs). Everything else is a guess. Label guesses clearly.

4. What are you assuming?

Every assumption is a potential bug. Write each one as "I am assuming X because Y." If Y is "it usually works that way," that's a weak reason — verify before proceeding.

5. What would falsify your current theory?

Describe the experiment that would disprove what you believe. If no such experiment exists, your theory is not testable and you don't really have one.

Output

The output of this skill is NOT a fix. It is a written explanation that makes the bug obvious, makes the assumption set explicit, or makes the next experiment concrete. Only then do you touch code.

If after working through the duck you still don't see the problem, the answer is usually in section 4 — an assumption you didn't realize you were making.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.