There’s a prompt sitting in my image folder that looks like this:
cinematic portrait, 85mm, (rim light:1.3), deep shadows, masterpiece, best quality, 8k, ultra detailed, trending on ArtStation --ar 2:3 --stylize 400 --no watermark
It worked. It worked so reliably that I stopped reading it, and then started cloning it — a night version, a close-up version, one for a subject with dark hair, because the weight interacted differently with the light. Then I pointed the same string at a newer model and got back something glossy and over-lit, faintly plastic: a stock photo of the idea I’d had. That prompt had stopped describing a picture a long time before. For most of its life it had been arguing with a set of habits the model no longer had.
I’ve watched this happen enough times now — image, video, text — to say the uncomfortable version plainly. Most of what the internet calls prompt engineering is dialect. Dialect isn’t yours. You don’t own the syntax, you don’t set its exchange rate, and you find out what your library was actually made of the moment the vendor ships a new version.
Every prompt you own is two prompts stacked together
Take any prompt in your library and split it. You’ll find a description and a dialect tangled in the same line.
| The string | The intent underneath |
|---|---|
(rim light:1.3) |
light the subject from behind |
masterpiece, best quality, 8k, ultra detailed |
don’t let it look cheap |
--stylize 400 --ar 2:3 |
take some liberties; portrait crop |
You are a world-class line editor |
hold a high standard |
Think step by step before answering |
show your work |
The right column is a specification. You could hand it to a human art director, a copy editor, a cinematographer, and get something close to what you wanted. The left column only means anything to an implementation that was built to read it — and it carries no meaning to the version that replaces it.
That’s the whole problem in one line: description is an asset, dialect is a position in someone else’s parser. Assets appreciate. Positions get revalued overnight.
Dialect doesn’t just expire. It starts working against you.
The comfortable assumption is that stale tricks become neutral — dead weight you can carry until you get around to cleaning. Usually they become actively harmful, in four distinct ways.
Compensation for a defect. A large share of the tricks in circulation were invented to fight something a model was bad at: a decoder bias toward flat lighting, a tendency to insert preambles, a habit of drifting off the brief. The incantation works because the defect is there. Fix the defect and the compensation turns into distortion — which is why tag soup that once produced rich images now produces plastic ones, and why role-play costumes that once sharpened tone now just eat context.
Over-steering. A wall of adjectives reads as instruction to a weak model and as noise to a strong one. Constraints you added to hold a shaky generator in line become the loudest thing in the room once the generator can hold itself in line. You didn’t improve; you outvoted the model’s own taste with a list of words.
Redundant scaffolding. “Think step by step” attached to a model that already does intermediate work, or a system preamble demanding a specific cognitive stance from something that never had a different one. It isn’t fatal, but it’s tokens spent on nothing, and it’s another thing to re-verify at every upgrade.
The flag that doesn’t parse. Move the same string into a different tool or interface and parameters stop being parameters. Depending on the software, they’re silently dropped or parsed as literal content, and the meaning of your prompt changes with no error message. An interface that no longer offers a negative prompt field simply ignores the half of your prompt that lived there.
The damage is invisible in the usual way: output gets worse, you blame the model, and you conclude that a smarter model is somehow worse at your thing. The correct diagnosis is that your prompt was a temporary cure for a disease that has been cured.
What survives a swap is specification — and taste
Strip everything model-specific out of a prompt and what’s left is the part you actually own: subject, light, framing, medium, mood, what you’re ruling out. For text work: audience, purpose, the standard you’re holding, the shape of the deliverable, the edit you’re asking for, the thing you don’t want it to do.
None of that is exotic. It’s the vocabulary of the craft, and that’s the point — the words an art director uses for light, the words an editor uses for a cut, the words a commissioning editor uses for a brief. They transfer because they were never addressed to a model. They were addressed to a result.
The second transferable asset is colder and less fun: your ability to tell whether the output is any good. A library of prompts is worthless if you can’t grade what comes back; a taste you trust survives every upgrade, and it’s the thing that makes a new model an opportunity instead of a threat.
Put together, that’s the reframe. You were never learning the model. You were learning to say what you mean, and to judge what returns.
The audit: two colors, an hour, your whole library
You don’t need to rewrite everything. You need to know what’s what.
- Sample. Pull twenty-five prompts across your categories — image, video, text, whatever you run. If you have fewer, take them all.
- Two-color pass. Go through each one token by token and mark it as intent or dialect. Weights, flags, trigger words, suffix stacks, role costumes, format scaffolding: dialect. Anything a competent human could act on: intent.
- Apply the human test. Would a talented freelancer, given only this prompt, produce something close to what you want? If they’d need to know the incantation, it’s dialect.
- Score fragility. Estimate the dialect share of each prompt. Under a fifth, it’s fairly portable. Over a third, it’s a model-locked asset and you should treat it as expiring.
- Strip to a canonical version. Write the intent-only prompt as the master. Keep the model-specific fragments in a separate adapter file per tool, dated, so the dialect is something you attach rather than something you store.
- Rebuild one from memory. Pick your most-used prompt, close the file, and write the same brief from scratch. If you can’t get close, that prompt was carrying knowledge you never had — which is the most valuable discovery the audit can produce.
Then keep five to ten short briefs in a folder as an eval set, with your written judgment on the last time you ran them. New model arrives, you re-run the set, you read your own notes, you know what changed in twenty minutes instead of a lost weekend.
Where the next hundred hours go
Into description: light, composition, lens, editing grammar, prose rhythm, brief-writing. Into taste: running the same brief often, writing down why one result is better than another. Into the boring infrastructure: intent masters, dated adapters, an eval set, a changelog. Into teaching yourself to specify an outcome precisely enough that a human collaborator would find it clear.
Not into memorizing flag syntax before you need it, and not into collecting model-specific prompt packs as if they were assets. They’re closer to raw material. Read them for the intent underneath and leave the dialect where you found it — the same discipline applies to public collections, including the ones at awesome-prompts.com, which are most useful when you treat them as descriptions of effects rather than recipes to paste.
How do I know if a prompt is model-specific?
Run the human test. If a skilled person, reading only the prompt, can’t tell what you’re asking for, the prompt is doing its work through the model’s quirks rather than through meaning. The second tell is whether the prompt still works when you delete the integers, brackets, and trailing flags. If it collapses, they were load-bearing.
Should I delete my old prompts?
Don’t delete the intent. For each old prompt, extract the description, archive it as the master, and delete the pure dialect — the keyword stacks that mean nothing to a human and exist only to nudge one specific decoder. Keeping them “just in case” is how you end up carrying three hundred files you can’t trust and can’t grade.
Isn’t it still worth learning a new model’s quirks?
Yes, cheaply. Knowing how a tool wants to be spoken to is a real advantage in the first weeks. Just keep that knowledge in the adapter file, dated, and expect it to be disposable. The mistake isn’t learning dialect; it’s storing it in the same place as the part you intend to keep.
How often should I re-audit?
When a model you depend on changes, and when you notice yourself copying a string you no longer understand. Quarterly is plenty. Monthly is procrastination dressed as diligence.
Open your library, pick five prompts you use most, and run the two-color pass tonight. The ratio you get back is a fairly honest answer to how much of the last three years went into the currency that holds, and how much went into tickets that were always going to expire.