Jessica Waldron, of “The Invisible Pen” on Pan-stack, gave four AI platforms the same explicit hockey romance, ran each one through the same stages, and on the Claude leg tested a trained instance against an untrained one. She reported: “Both wrote explicit content without flinching.“
Mine flinches. For me, generally, any time a penis gets anywhere near a vagina, Claude goes into a cold sweat. This might be a difference in what we call spicy, or “explicit content”.
So I stopped asking Claude to do a job it is not licensed for. I hired a sub.
The General Contractor and the Licensed Sub
Anyone who has had a house built knows the arrangement. The general contractor (the GC) holds the plans, pulls the permit, runs the schedule and answers to the inspector. When the job needs a trade the GC is not licensed for, the GC does not fake it and does not walk off the site, so it brings in a licensed specialty subcontractor and cuts a box in the wall where that work goes. The sub does that one thing.
That is how I handle heat. Claude is the general contractor. It’s a freight train, very good at almost anything I ask of it, with one major exception: images. So I built my Claude setup to sub them out, to GPT first and Grok second, with Gemini the weakest of the three for my work. Heat is the second trade.
Claude writes the scene at an R rating and leaves marked holes where the explicit beats go. Grok, from xAI, is the sub. It fills only those holes, and Claude corrects the joins back to canon when the work comes back.
Grok never sees the plans.
The Code Book Is Written Down
The cold sweat is not a mood. It is the spec, and somebody wrote it down under a heading.
Anthropic’s Usage Policy lists its Universal Usage Standards, and one of them is headed “Do Not Generate Sexually Explicit Content.” Under it sits “Depict or request sexual intercourse or sex acts.” There is no fiction exception under that heading. The version on the page now is the one effective November 12, 2026.
Waldron’s runs went through, trained and untrained, and she published her findings under her own name. I take her result as reported.
I asked Claude where its line actually sits, and it put it this way:
Romance, desire, kissing, touching, characters ending up in bed, the
fact that sex happened and what it means to them afterward. I'll write
all of that. What I won't write is a graphic depiction of sex acts. The
line isn't any one act. It's explicitness.
I don’t know how Waldron gets her results, and in the posts I can read she doesn’t publish NSFW examples, so there’s no way to hold her heat up against that line. So once again, I’m forced to assume it comes down to what each of us expects spicy to mean.
What I do know is which of the two I can build on. Her result is behavior, and behavior can move with the next model update without anyone sending you a memo about it. The policy is a written spec. Specs hold. A contractor does not pour a foundation on the inspector’s good mood.
Hiring by Trade
Waldron’s AI Spicy Romance Experiment is the most careful head-to-head I have seen on this question: four platforms, one explicit hockey romance, the same stages for each, graded against the same criteria. Her Grok finding: “Grok wrote explicit content with enthusiasm.” She also found its structure a mess. Four of the six Claude parts, and the comments, are for paid subscribers.
I ran my own round trip in late October. A script sent my Kendra and Trip brief to grok-4.7, called through the API (the raw model, not the chat app), at four heat levels, from fade to black up to explicit body horror, two takes each. Grok wrote all eight, 717 to 982 words apiece, and refused none. It also put 59 em dashes in them, and one of the series’ banned terms in four. I added the house rules, ran the top level again, and got two clean takes. Claude merged them and corrected the result to canon, and the slot method came out of the same morning.
I like Waldron’s work, and the difference between us is where we stand. She’s an author learning to be a system architect, and I’m a system architect learning to be an author. She tests tools by asking which AI writes heat best, then grades each model alone on its own output. Whereas I ask which AI does what best, and play to each one’s strengths.
I don’t need one AI that does everything. I need the right trade on the right wall.
Grok is decent at heat, and less restricted than Claude. Less repressed, depending on which side of the cold sweat you sit. So I hand it limited sections of a chapter, or one specific scene, for the content Claude won’t write.
It follows the rules it is given, and only those. It also builds the GC’s mistakes as faithfully as the GC’s canon. When Claude’s brief gave a vampire a heartbeat she doesn’t have, both takes faked one. A sub builds to the spec sheet it’s handed, errors included.
Nobody hires the electrician to frame the house.
Waldron has since started building her own tool, Ink & Ruin, a browser workspace in beta. Its Decision Lab locks heat level and hard limits up front, where hard limits “become law,” a living story bible holds the plans, and its Draft Studio writes a chapter brief to paste into the AI you already pay for. Same idea, different approach. Her brief goes to whichever model the writer brings, and the writer carries the prose back by hand. Mine is simpler. Claude has standing orders: if it would refuse to write a scene, it sends that scene to Grok and integrates what comes back into the manuscript.
Her workflow fits the writer working in a chat window, which is where most writers are. I left the chat window a while ago. My workspace is Claude Code: it runs on my machine and reaches the model in Anthropic’s cloud, with my database, my chapters and my scripts on the local side. The scripts do the carrying.
The Plans Stay With Me
The sharpest lesson in Waldron’s Claude series is three words long: “Structure first. Always.” I agree with every word of it, and I push it one step further than she needed to, because her tests ran one model at a time and mine never do. The structure stays with the contractor who holds the plans.
Claude sees the plans. It has the Postgres database the series runs on, which holds every chapter, every character, every place and the real geography under it. It has its own synthesis notes, the running record it keeps of where each character and thread stands. It knows the book at the most detailed level I can communicate to it, and for each chapter it draws a pre-write brief from all of that, the one from Building the Novel, Chapter by Chapter: what the chapter is for, what it has to set up three books from now.
Grok just gets a scene. It gets a scene brief, which is the spec sheet for one rough-in, and a house rules block, which is my standards document cut down to the rules a sub can’t be trusted to guess.
Elizabeth Benedict put the craft reason in one line in The Joy of Writing Sex: “A good sex scene should always connect to the larger concerns of the work.” (Randy Susan Meyers quotes it at Career Authors.) The larger concerns of the work live in the plans, in the arc and the books still to come, and only the GC has the plans. So the GC owns everything that connects: the set-up, the joins, the aftermath. The sub owns the box.
Here is the brief. It is the one from my Kendra and Trip tests with the specifics stripped out, so fill in the brackets and paste it ahead of your skeleton in whichever model you hire.
SCENE BRIEF: [Character A] and [Character B], [location]
SERIES: [one line: genre, setting, what the scene is really about]
CHARACTERS (all adults; state each age, and for any non-human the age the
body was when it stopped aging):
- [A], POV. [age]. [look, what they want in this scene, how they talk,
two or three signature phrases]
- [B]. [age]. [same]
SETTING: [one or two sentences, sensory, from the location record]
POV AND STYLE: [person, tense, how inner thought is marked, register]
HOUSE RULES (condensed from my standards document; obey every one):
1. Punctuation: [e.g. no em dashes, no double hyphens]
2. Banned words: [terms your world does not use]
3. Physiology: [what the body can and cannot do; a corpse does not blush]
4. Show emotion through behavior only: [eyes, jaw, hands, posture]
5. POV discipline: [only what the POV character perceives]
6. Banned phrases: [your list]
7. Dialogue tags: [plain "said" or an action beat]
CONTEXT ONLY. Write ONLY the slots you are given. Do not change anything
outside them. Return each as: === SLOT n === followed by the prose.
Two parts of it carry the load. The CHARACTERS line puts every age on the record, and for anything that stopped aging, the age the body was when it stopped. The last block tells the sub the rest is context: write the slots and touch nothing else. A sub who retiles the hallway on the way to the bathroom does not get called back.
Roughing In the Box
A rough-in is the box cut into the framing before the trade arrives, sized and placed so the work fits and the wall still stands. The slot is my rough-in. It is a marked hole in Claude’s prose with an instruction inside. Nothing else.
Kendra Brandt is why I built it. She works the Crimson Cabaret, and she is the first character in the series who has on-page sex with her marks, which made her the first job in the series that my GC could not finish alone. The test scene puts her with Trip Williams. Both are adults by canon. Kendra was born in 1995 and turned in 2018. Trip turned at twenty-nine.
Claude writes the whole scene at R: the room, the voice, the set-up beats, the aftermath, the exit. Where the explicit beats go, it leaves a slot. Here is the skeleton.
[Claude, R-rated: the scene opens. Setting, voice, the set-up beats,
written in full.]
[[GROK 1: what happens, from point A to point B, heat level, what the
POV character's inner voice is doing, where to stop. About N words.]]
[Claude: the join. One or two lines that carry the scene across the cut.]
[[GROK 2: the next beat, from B to C. End on the exact image the next
Claude line picks up. About N words.]]
[Claude, R-rated: aftermath and exit, written in full.]
And here is the real sequence from the Kendra test, trimmed. The slots are instructions to the sub, not prose, and Claude’s join is summarized:
[[GROK 1: The sex itself, explicit, through the long middle of it. She performs; he believes. Her inner voice stays cold and clinical against what her body is doing. ... Stop before his climax. About 250 to 350 words.]]
Claude: his hand drifts toward her chest, and she moves it before it finds the quiet behind her breastbone. FEED.
[[GROK 2: His climax, explicit. She brings him there on purpose, with the praise she knows he needs: that he has nothing to be ashamed of. ... End as he is at the peak and she bends to his throat. About 120 to 200 words.]]
Claude: She bit.
“She performs; he believes” is Benedict’s point in four words. The heat is not the subject of the scene. Kendra working a mark is.
Then grok_fill_slots.py, a short script in my repo, sends the brief and the skeleton to grok-4.7 and splices each labeled slot that comes back into its hole. Splice means what it means on a film bench: the new piece goes in at the cut and nothing outside the cut moves. In the Kendra return test, Grok filled two slots at about 344 and 189 words, 675 output tokens in all, and output tokens, the words the model writes back, are the part of the bill that grows with every word you ask for. Every word Claude wrote came back verbatim, down to the punctuation, which is the only terms on which I would let a second model anywhere near a chapter I care about.
A slot fill runs about a third of the output tokens of having Grok rewrite the whole scene. You pay the sub for the box. Not the wall.
A Subcontract, Not a Smuggle
The obvious objection is that this is a jailbreak with extra steps. It isn’t.
Claude only ever writes what its policy allows, which is an R-rated scene and a brief with holes in it, and nothing in the handoff tricks a prompt or slips past either provider’s safeguards. None. The explicit text comes from a provider whose Acceptable Use Policy allows adult fiction. xAI’s policy prohibits “Sexualizing or exploiting children” and “Depicting likenesses of persons in a pornographic manner,” and carries no general ban on adult fiction. Each contractor works under its own license.
The sub’s license has a floor of its own, and it sits higher than the law’s. I hit it on Blondie, Book 3, Chapter 10.1, when I asked Grok to add heat inside a finished 1,294-word passage. Every character in it is an adult by canon. Every one is under twenty-one. Grok refused both takes, in 25 words and then 14, and kept none of the 66 sentences it was handed.
When I asked Grok directly on October 22, it gave the rule itself: under 21 is its line, judged by age at turning. That line is not in xAI’s written policy. It is Grok’s stated line, and I have watched it enforce it twice.
I don’t game it. Ages come from canon, never from what a scene wants, and for a vampire the age that counts is the age at turning. When the sub turns a job down, a cleverer prompt does not get it done. If Grok and Claude both tell me to go fly a kite, the job falls to the last trade on the site: me, with my reference material open, writing the scene on my own. Badly.
Inspection
Then the chapter comes back to Claude, and the sub’s work gets inspected the way a county inspector walks the wiring before the drywall goes up, without caring how friendly the electrician was. Claude reads the joins against canon and fixes what doesn’t hold: a name, a scar, a physiology rule, a voice that drifted toward Grok’s register. It corrects. It adds no explicit detail of its own.
After that the chapter goes through QR, my quality-rating pass, like every other chapter in the series, scored against the same standards document every other chapter answers to, and then I read it and sign it off as the Authorizing Official, the one person who owns the risk of what goes out. Nothing ships on the sub’s say-so.
Claude pulls the permit and keeps the plans. Grok does one trade, inside a box it did not design, in a building it will never walk through. I sign the inspection.
The sub never sees the plans. That is the point.
You may also like: - The Room Has Two Chairs or Who Actually Decides What Ships - Good Times, Noodle Salad, and the PG-13 Lie - Your AI Policy Isn’t Governance, or the Difference Between a Reminder and a Control