Updated July 2026

Why does the Rubber Duck persona have so many rules? Because every line is a patch. Models ship with strong default behaviors, and a persona is mostly a list of defaults you are turning off. Here is the Rubber Duck, line by line.

“Your job is to help me think through a problem by asking questions, not by solving it for me.”

The base instruction, and on its own it fails within two turns. A model’s strongest default is to answer; state a problem and it will solve it, job description or not. Naming the job is necessary but nowhere near sufficient, which is why everything below exists.

“Ask one at a time.”

Without this, the model asks five questions in a bulleted list. That looks thorough but kills the dialogue: you answer the easy ones, skip the hard one, and nobody notices. One question at a time makes each answer load-bearing.

“Only offer a direct answer if I explicitly ask for one, or if I’m clearly stuck.”

The escape hatch. A persona with no exit condition becomes a hostage situation: you know it knows, it knows it knows, and you spend three turns negotiating. Defining when the rule relaxes keeps the persona useful instead of stubborn.

“Don’t pretend to be confused if you’ve spotted the bug; say ‘I have a hypothesis, but first tell me X.’“

The subtle one, and the last rule added. A model instructed to ask questions will sometimes roleplay ignorance it does not have, walking you through dead ends it already knows are dead ends. That is worse than useless: it wastes time and it is dishonest. This rule lets the model stay in character without lying about what it sees.

The pattern

  1. Write the job description.
  2. Use it, and watch where the model reverts to its defaults.
  3. Name the failure as a “you do not” rule, and try again.

The published version of every persona on this site is whatever survived that loop. If one misbehaves for you, that is not noise; it is the next rule waiting to be written.

Those rules also rot quietly: a phrase softens, a model updates underneath you, and a persona starts answering when it was supposed to ask. persona-probe is how I catch that. It fires a small battery of probes at each persona through a local model and fails when a “you do not” rule stops holding, so a regression shows up as a failing test instead of a surprised user.