Constraints Breed Creativity (Until You Hand Them to AI)
I start many writing sessions the same way. The rules come from Natalie Goldberg’s Writing Down the Bones: set ten minutes on a timer, keep your hand moving, don’t cross out, and don’t correct. When the timer starts you go, and when it stops, you can read what you wrote.
And it works. I found more ideas once I stopped blocking myself mid-stream. My writing got better, because the editor stayed quiet most of the time. The editing still happens. It just happens later.
Ten minutes is a completely arbitrary constraint, and it has done more for my output than any amount of “just be more creative” ever has.
Constraints breed creativity. Limitations force innovation. Necessity, invention, something something. It is probably one of the most repeated piece of creativity advice in existence, and I’m not going to argue with it, because I have run the experiment on myself for years and the advice holds.
What I want to do instead is take the advice seriously enough to ask what a dumb rule is actually doing when it works. Because it turns out the rule has two different jobs.
- The People Who Made an Art Form of It
- What the Rule Is Actually Doing
- Handing the Rules to the Machine
- One Paper, Pointing the Wrong Way
- So Which Job Were You Hiring It For?
- Three Hundred Books
The People Who Made an Art Form of It
The Goldberg timer is a gentle modern version of an older tradition: people who imposed rules on themselves so arbitrary they sound like dares, and then produced work nobody could have willed into existence directly.

The headquarters of this tradition is OuLiPo, the “workshop of potential literature,” founded in 1960 by Raymond Queneau and François Le Lionnais, with Georges Perec joining in 1967. Their premise was that a writer laboring under an arbitrary formal rule will surface phrasing that intention alone wouldn’t reach. Their proof-of-concept is Perec’s La Disparition (1969), a full novel written without the letter e. A whole novel, about disappearance, in which the most common letter in French has disappeared. Gilbert Adair’s English translation, A Void, keeps the same rule, which means the translator had to solve the puzzle a second time.
OuLiPo’s other two greatest hits are small enough to run at your desk right now:
- N+7. Take a text. Replace every noun with the noun seven entries later in a dictionary. Your dictionary will give you different results than mine. Run “The deadline slipped because the team hit a bug in the migration” through a pocket dictionary and you get “The dealer slipped because the teapot hit a bulb in the milestone.” Nonsense, until your eye finds “the milestone slipped” hiding in the output. You pick the one worth keeping, and you would not have found it on purpose.
- Snowball. Each successive word is one letter longer. “I am the text which slowly becomes stronger.” It sounds like a party trick until you try to make one that also says something, and discover the search for valid words pulling your meaning somewhere you didn’t plan.
Outside OuLiPo the family gets more practical. SCAMPER (Bob Eberle, 1971, compressing Alex Osborn’s 1953 checklist) is a set of verbs you cycle over a problem to force variation: Substitute, Combine, Adapt, Modify, Put to other use, Eliminate, Reverse. Stuck on a feature? Take the R. What happens if the user does it backwards, or the steps run in reverse order? TRIZ (Genrich Altshuller, from 1946) is the most engineered version: you name the underlying contradiction, where improving one parameter worsens another, and look the pair up in a matrix distilled from hundreds of thousands of patents, which hands you one of forty inventive principles.
One move in common among all of them: impose a rule, then let the search for valid output do the work. None of these people waited for a better idea. They built a wall and bounced off it.
What the Rule Is Actually Doing
Why should a dumb rule work at all? The Goldberg timer and the OuLiPo lipogram are not doing the same thing. A working constraint has two different jobs.

Job one: muzzle the judge. This is the Goldberg mechanism. The reason my mornings got more productive is that my internal editor doesn’t get to butt in (at least that’s the ideal). Don’t cross out, don’t correct, keep moving. Every rule is aimed at the judge, so the generator gets more chances. More ideas, and the judging happens later instead of continuously. Much of the classic advice works this way. Brainstorming’s “no criticism” rule, morning pages, freewriting, the first-draft cult.
Job two: shrink the search. This one involves research spikes into territory where the standards haven’t settled yet. Sandbox your coding agents, build an AI SDLC, secure the thing. The problem with new territory is that there are forty defensible ways to do everything and everybody on the internet has a strongly-worded opinion about each of them. Left unconstrained, a spike like that never ends.
The most recent one was agent sandboxing. We surveyed the landscape, all the way down to VMs, up through control planes, Docker-based options, the works. One promising path was Docker’s own sandboxing, until Docker handed that product over to E2B, a sandboxing startup, and the Docker-native direction died in front of us. The research killed more options for various reasons, and what survived pointed in a direction. It turns out E2B uses Firecracker microVMs, and those were now available on AWS.
The rule felt arbitrary: “must run standard Docker images.” And the job it did was search-shrinking: fewer live options, faster decision, done. In the end, it led to a solution that used Dockerfiles to build microVMs.
Free the generator, or narrow the search.
Even the failures do a job, by the way. I once put a hard cap on my own reading list. It did not hold. I’ll come back to that one.
Handing the Rules to the Machine

If a constraint is a process, anything that can follow a process can use it. And the constraint family translates to prompting. SCAMPER is a for-loop: “take this problem, run Substitute, Combine, Adapt, Modify, Put to other use, Eliminate, Reverse, give me three answers per verb.” N+7 is one sentence of instruction. TRIZ’s contradiction matrix is a lookup table, which is the most prompt-shaped object that has ever existed. I have a skill installed that does this: creative-ideation, from NousResearch’s Hermes collection, MIT-licensed, drops into Claude Code or Cursor, and routes whatever you ask it to one of twenty-two named human creativity methods. SCAMPER, TRIZ, OuLiPo, Oblique Strategies, most of this post, on tap. Its core rule is printed right in the skill: constraint plus direction equals creativity. Its anti-slop rule is a constraint too: refuse the first three ideas, five on high-slop terrain like AI startup pitches.
And on the search-shrinking side, the mechanical versions are the best thing I’ve got. There’s a research skill I use constantly, and it is constraints all the way down:
- A fixed field schema. Every research agent has to come back with answers to predeclared fields. Not “whatever it found.” Specific answers to specific questions.
- A hard budget. Eight searches, twelve fetches per item, at standard depth. That number is exactly as arbitrary as my ten-minute timer.
- Forced honesty. The agents are forbidden from filling gaps with guesses. Anything unanswered gets marked uncertain. The constraint is against confabulation itself.
- A gate at the end. The run isn’t done until the validator passes. Nobody promised to follow the rules. A machine checks.
Before I had that, I’d point a coding agent at a topic with plain web fetch and take whatever came back. The constrained version is not a little better. It’s the difference between research and vibes. I said in the first post in this series that a question gets you the average and a process gets you something else. This is the something else, with rails.
So: constraints free the generator, constraints shrink the search, constraints make the machine honest. The advice checks out on people, and it checks out when you hand it to a model.
One Paper, Pointing the Wrong Way
Alwin de Rooij and Michael Mose Biskjaer, “Does generative AI make us think alike?” (Behaviour & Information Technology, 2026). They tracked down every study they could find on what happens to human creative output when a model is in the loop, and pooled them into one set of numbers: nineteen studies, sixty-one separate measurements. The answer: the work gets more alike. Not a lot alike. The pull toward sameness is small (d = .334, for the stats people), but it shows up consistently, and it is exactly the size of effect you would never catch in your own work. One piece at a time, invisible. Added up across everyone, very real.
The interesting part is a breakdown buried in the review (a moderator analysis, in the paper’s terms): the sameness was stronger when the task came with rules about what the ideas had to be, and weaker when it was loose, anything-goes brainstorming. The move this post is about, impose a rule, narrow the space, force the search, is the condition under which the flattening gets worse.
I want to be exact about what “everything above” includes. It includes me. A section ago I told you, with some pride, about a skill I have installed that routes my requests to twenty-two named creativity methods. That is a novelty-forcing rule about what the ideas have to be, with an install command.
The skill’s own author saw the middle coming, for what it’s worth. The anti-slop rule, refuse the first three ideas, exists because the first draws are the average ones. So either the patch works and a constrained model can be pushed off the middle, or the patch is one more wall somebody handed me and we are all standing in the same destination anyway.

A model is an averaging engine. Ask it for ideas and you get the middle of idea-space. Ask it for ideas under a tight rule about what they have to be, and you have not pushed it off the middle. You have told it which middle. Give the model a persona plus a rule, or ask it for ten ideas using only X: same kind of thing, a rule about what the output has to be. Everyone who imposes that kind of rule on the same class of model gets pushed toward the same narrowed region. And everyone thinks the constraint worked, because the answer looks different from what they’d have written alone. It does, but it also looks like what everyone else with the same rule got.
But this is one paper, and the moderator result is one finding inside it. The studies under it mostly tested 2023 and 2024 chat models, not the current stuff. And what they constrained was the task humans brought to the model, not the model itself: the move from one to the other is an inference, not a finding. But it is the first direct measurement of the advice this post is about, and it points a different way.
So Which Job Were You Hiring It For?
Here’s where the two jobs from earlier stop being a taxonomy and start being instructions.
Judge-muzzling constraints are for you. Keep them. The ten-minute timer works because you have an internal editor that gets in the way, and the rule handcuffs it. A model has no internal editor. It is not nervously crossing out its own drafts. “Don’t stop to correct yourself” is a meaningless instruction to something that was never going to. Goldberg’s rules, morning pages, the no-criticism rule, the first-draft cult: all of these treat a human bottleneck, they work on humans, and they neither need nor benefit from a model’s involvement.
Search-shrinking constraints survive the machine. The research skill, the field schema, the eight-search budget, the validator. Narrowing a search is narrowing a search, and it works on a model for the same reason it works on a spike at work: fewer live options, faster decision, and no one was asking for diversity in the first place. The point of those constraints was coverage and honesty, and on those metrics the constrained version wins outright.
Novelty-forcing constraints are the ones that get eaten. When the entire job of the rule is “push me somewhere I wouldn’t go on my own,” handing it to the model converts it into a destination, and it’s the same destination everyone else with the same rule gets. This is the branch the meta-analysis measured and it backfired.
So the practical rules:

- Constraints on your own process: keep, no changes. They muzzle your judge. The model never had one.
- Constraints on research and retrieval: keep, they enforce themselves. If a validator can check it, it works.
- Constraints meant to force original ideas out of a model: go wide first. Run the open divergent pass before you create any walls. Survey the territory with the constraint off, watch what’s there, and only then draw a rule, distilled from what you saw. A constraint earned by a wide survey lands somewhere specific. A constraint imposed up front lands where everyone else’s did.
- Treat a rule the model hands you as a draft, not a wall. If you are in genuinely new territory, you’ll be regularly unsure which of its suggested walls to keep. That uncertainty is correct. A constraint you invented after looking at the territory does a different job than one handed to you by something that averages.
The human half needs a kitchen timer, a pocket dictionary, and paper. The machine half is one install and one write-up: the creative-ideation skill linked up top for the method library, and the research skill linked above for the constrained-search side. Everything else in this post is a way of holding them. Which is all I wanted out of this stuff in the first place: just another tool that gets me to an answer I couldn’t see from where I was standing.
Three Hundred Books
Some years ago I decided my reading needed discipline. I have over four thousand books on my ebook reader. IIt did not feel like a problem while I was buying them: four thousand. I used to graze, jumping between them at random, finishing nothing. So I made a Current Reading list, the books I’m actively reading, and capped it at fifty. Fifty sounded like the kind of number a disciplined person would pick.
It is currently three hundred books long.
I added each book one at a time, and every addition made sense at the moment I made it. Book seventy-three was basically research. Book one-forty was short. Book two hundred was for a project I have not started and will never start. Every one of the three hundred was, at the moment of its addition, an exception.
The rule failed at its job: stopping me from spreading myself across too many books at once. I still read a dozen or twenty at a time.
I am currently reading twenty books, which means I am reading two and have strong opinions about eighteen.
Three hundred books is a horizon: the books I’m plausibly reading in the next five or six years, kept in my face so the choosing among them stays live. It’s a map, not a discipline.
Give yourself one. Watch what it does. It may do the job you hired it for, like the timer. It may fail at that job and get itself a better one, like the list. Either way you will be there watching it happen, which is the one thing the model will never do for you. The constraint was never the whole point. What you were paying attention to when you made it was.
