Fixing Opus 5 with system prompts

FIXING Opus 5: PROOF that Prompt Engineering IS NOT DEAD

🎬 IndyDevDan πŸ“… Aug 17, 2026 ⏱ 34:03
Opus 5 system prompt prompt engineering Claude Code token efficiency

🀬 The Best, Worst Model

"Opus 5 is one of the best state-of-the-art ultra-smart models and one of the worst state-of-the-art models ever released β€” because it talks like a complete smartass." The symptoms engineers have been noticing: insanely verbose responses, overuse of phrases like load-bearing, worth stating plainly, here's the honest truth, the em-dash chains β€” and it burns far more output tokens than any model before it. Plus the Anthropic "co-author" in your Git commit messages. 0:00

The fix is a skill everyone declared dead: "If you hear someone say prompt engineering is dead, completely ignore them. They have no idea what they're talking about." The best engineers of his 15 years share one skill above all: "they know how to communicate with their technology. And guess how you communicate with agents? Prompts." 1:02

βš–οΈ System Prompt vs User Prompt

There are two ways to prompt your agents. Most engineers use only one. "The user prompt is the single task at hand. The system prompt is the law for every task you hand your agent." 1:58

The leverage math: "Most engineers fixate on skills and the user prompt. But the system prompt is vastly more useful β€” because every single word you write there is multiplied over every single user prompt. It affects every prompt in and every response out." Most engineers never even touch it. 2:26

His method: side-by-side Claude Code instances in a terminal multiplexer (Herder) β€” "smartass Opus 5" on the left (default system prompt) vs "senior Opus 5" on the right (with an appended system prompt), summarizing Zuckerberg's long "The future is for everyone" post as the demo task. He iterates the system prompt layer by layer. 2:48

Write it by hand, and explain the why: "When I'm working with pieces of autonomous software that will be multiplied over many runs, I do it by hand. If you're just vibe-slopping everything, you won't get the results someone paying attention gets." And in the prompt itself: "explain why β€” so we can deliver the best possible results for our team, business, and customers." 5:25

He talks to the agent as an engineer, not by assigning a role: "You and I maintain a no-BS, clear, concise, actionable relationship. We're here to solve problems and create value, and our communication reflects that." 5:45

βž•βž– Positive + Negative Patterns

The first concrete, repeatable technique: encode both what to replicate and what to avoid. "Replicate the positive patterns, avoid the negative patterns. We're doing both β€” do this, and don't do this." 8:11

Positive patterns (do)Negative patterns (avoid)
Put the most important info last β€” "I always see the last thing you write first"load-bearing, worth stating plainly, here's the honest truth
Use plain, specific language; state each fact oncethe real tension, carry the argument
Match detail level to the task/requestAnalogies β€” "discuss what's right in front of us"
Challenge incorrect assumptions directly and explain whyOverused em-dashes / dash chaining
Optimize for clarity and engineering value, not quotabilityFlattery, praise, validation, agreement without reason
Use the simplest domain terminology that compresses informationDecorative headings, emoji, motivational language, semicolon fragments

The result after just this section: "very few dashes, no load-bearing anywhere, language clearer, 31 seconds (fewer output tokens)." 12:05

πŸ“ Reference Points

The second technique: build a fast shared language with your agent so it stops repeating tokens. "We use reference points to communicate quickly." 13:20

The rules: "Use numbered lists and markdown headings when they improve navigation for three or more findings β€” decisions, options, risks, questions, actions. Assign each a short code: D1/D2/DN for decisions, R for risks, F for findings, P for promises. Preserve the same codes throughout the conversation. Do not create codes for short, simple answers." 13:50

The payoff: "our agent is referencing R6 β€” and I can just say 'talk more about R6' and it knows exactly what I mean. We've created this quick language together. It's not repeating itself, not wasting tokens." 15:05

🧱 Hard Operational Boundaries

The third technique targets Opus 5's scope creep β€” a product of its RL training: "these models are taught to find the answer at all costs, no matter what it takes. Opus 5 will find and reference problems you didn't even ask for remotely. It tries to do as much as possible β€” and loses focus quickly." 16:50

The boundaries: "Deliver only what was requested at the intended scope. Do not widen work into cleanup, refactoring, documentation, or adjacent features. Do not speculate on abstractions for future requirements. Do not claim completion without evidence. Never add a co-author to a commit message. Concisely restate, but do not overload with response detail." 17:35

⌨️ Prompt Aliases

The fourth technique: "micro-skills baked into your system prompt that expand into full instructions on demand." When the agent sees the exact alias, it expands and acts as if the full expansion were given directly. "They're bash aliases, expansions, commands inside your system prompt." 18:38

AliasExpansion
SCRSimplify, compress, and repeat your response
ELIExplain this like I'm 18 β€” simplify language, shorten response
FOCFocus on what matters most β€” boil it down to the true signal
REFRewrite your response with reference points
The disambiguation rule: "If these are referenced in a longer string, they are NOT aliases β€” do not expand." So SCR alone triggers it, but a sentence containing "SCR" doesn't. 19:10

The demo: fire SCR at the verbose summary and it compresses instantly; FOC boils it to the single most important point ("signal alignment is being redefined from the model holds the lab's value to the agent holds yours"). 20:50

πŸ“‹ Examples β€” In-Context Distillation

The final layer: concrete do/don't examples, "just like training data." The format is user: prompt β†’ do: ideal response β†’ don't: the smartass response. 26:25

The Easter egg β€” pull responses from a model you like: "You can boot up a model like Claude Fable 5, which doesn't have Opus 5's ticks and verbosity, run the same prompt, and pull its response into your examples. Tweak it β€” strip the dashes, tighten it β€” and now you've got a real do-example. Copy Opus 5's smartass output as the don't-example." He calls this in-context distillation. 28:15

The final result: the "senior Opus" response came in at 22 seconds vs 41 seconds for the smartass version, with reference points, no load-bearing, fewer dashes. "If you need to spend output tokens, spend them β€” but for a concise summary, we don't want all that." 30:35

On the "they deleted their system prompt" signal: "Claude Code got rid of a lot of their system prompt. That is the WRONG signal to not use one. They do that because the models can do a bunch of stuff without it. If you want the model to do specific things, perform in specific ways, not torch your output tokens β€” you must system-prompt engineer." 25:48

βœ… Key Takeaways

  1. The system prompt is the law β€” and the leverage. Every word multiplies across every prompt in and response out. If something should apply globally, that's the place for it.
  2. Prompt engineering is not dead β€” it's the highest-leverage skill. "If someone says it's dead, ignore them." Great engineering is great communication, and you communicate with agents through prompts.
  3. Five repeatable techniques: positive + negative patterns, reference points (D/R/F/P codes), hard operational boundaries, prompt aliases (SCR/ELI/FOC/REF), and in-context-distillation examples.
  4. Keep the smart, drop the ass. Don't suppress the model's intelligence β€” just strip the verbal tics, the scope creep, and the token-burning verbosity.
  5. Talk to it like an engineer, not a role-played persona. "You and I maintain a no-BS, clear, concise, actionable relationship." Models respond better to direct standards than to a fake role.
  6. You are the bottleneck β€” not the model. "The hard part now is communicating quickly, concisely, and in the most value-accretive way."
  7. Write the system prompt by hand, and explain the why. High-multiplication artifacts deserve slow, deliberate work β€” not vibe-prompting.

πŸ”— Resources & Links

πŸ“ Timestamp Index

0:00 Opus 5 β€” the best, worst model ever released
1:58 System prompt vs user prompt
2:48 Fixing smartass Opus 5 β€” side-by-side
5:25 Write it by hand + explain the why
8:11 Positive + negative patterns
13:20 Reference points (D/R/F/P codes)
16:50 Hard operational boundaries
18:38 Prompt aliases (SCR/ELI/FOC/REF)
26:25 Examples β€” in-context distillation
30:35 The result β€” 22s vs 41s, cleaner output
☰ View all