{"slug": "your-prompts-are-technical-debt-why-scaffolding-built-for-older-models-hinders", "title": "Your Prompts Are Technical Debt: Why Scaffolding Built for Older Models Hinders Newer Ones", "summary": "Anthropic's Claude Opus 5, shipped July 24, 2026, forced the team at Every to delete their existing skills and start from scratch because prompts and scaffolding built for older models caused the new model to argue with instructions and stop before finishing work. Anthropic's own documentation warns that instructions designed to fix failure modes in earlier models become distortions in newer, more instruction-following models, creating technical debt that requires stripping back aggressive language and verification directives.", "body_md": "# Your Prompts Are Technical Debt: Why Scaffolding Built for Older Models Hinders Newer Ones\n\nWhen Anthropic shipped Claude Opus 5 on July 24, 2026, the team at Every — a publication that runs much of its editorial and engineering operation on Claude-based agents — spent a week testing it before publishing their verdict. The title of their review, \"[Vibe Check: Claude Opus 5 Is Brilliant in Flashes, Frustrating in Practice](https://every.to/vibe-check/opus-5?ref=corti.com),\" undersells how instructive their experience is. In Dan Shipper and Katie Parrott's words, the new model \"argued with instructions, stopped before the work was finished, and generally didn't play well with our existing skills and plugins like compound engineering.\"\n\nTheir fix was not better prompting. It was less of it. As Shipper [described on X](https://x.com/danshipper/status/2080700057892815114?ref=corti.com): \"Then we deleted our existing skills and started from scratch.\" Kieran Klaassen, who maintains Every's Compound Engineering plugin, [reached the same conclusion](https://x.com/kieranklaassen/status/2080712817926443486?ref=corti.com): \"I have been coding with it without many skills and it's nice at a medium effort level. Just remember to let go of you[r] skills and big mega prompts. I tried it with compound engineering and it kept returning control to the user. Even though it's an autonomous flow.\" He has since started rewriting the plugin for the new model.\n\nThis is not an Opus 5 quirk. It is a structural property of how we build on top of LLMs, and it is worth understanding mechanically, because it will happen again with the next model generation — and the one after that.\n\n## Every instruction is a patch for a failure mode\n\nA mature agent workflow — a system prompt, a set of skills, a plugin, an orchestration harness — is rarely a neutral description of the task. It is an accumulation of compensations for the specific failure modes of the model it was tuned against. If the model undertriggered on a tool, you wrote \"CRITICAL: You MUST use this tool.\" If it declared victory early, you added \"before you finish, verify your answer against the test criteria.\" If it was lazy about scope, you told it to be exhaustive. Each instruction earned its place by fixing an observed failure.\n\nThe problem: the instructions persist, but the failure modes don't. When the underlying model improves, the compensations stop being corrections and become distortions — you are now steering a car whose alignment has been fixed, with the wheel still held at the angle that used to keep it straight.\n\nAnthropic's own documentation describes this mechanism explicitly. Its [prompting best practices](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices?ref=corti.com) note that recent models are \"more responsive to the system prompt than previous models,\" and warn: \"If your prompts were designed to reduce undertriggering on tools or skills, these models may now overtrigger. The fix is to dial back any aggressive language. Where you might have said 'CRITICAL: You MUST use this tool when...', you can use more normal prompting like 'Use this tool when...'.\"\n\nThe same document lists concrete carry-over instructions that flip from helpful to harmful, for example \"Default to using [tool]\" and \"If in doubt, use [tool]\" (now causes overtriggering), and verification directives on Opus 5 specifically. Anthropic's [model migration guide](https://platform.claude.com/docs/en/about-claude/models/migration-guide?ref=corti.com) is blunt about the latter: \"Claude Opus 5 verifies its own work without being told to, so remove explicit verification or self-check instructions carried over from prompts tuned for earlier models; leaving them in causes over-verification.\"\n\nNote the asymmetry in the failure. An instruction that a weaker model needed and a stronger model ignores would be harmless dead weight. But newer models follow instructions *more* faithfully, not less — so the stale compensation is executed with precision. The [Opus 5 system card](https://www-cdn.anthropic.com/c5fbac3f0b1280a933ebd26d3cb8bb9f5bdeaf48/Claude%20Opus%205%20System%20Card.pdf?ref=corti.com) documents where this lands even without prompting: the model \"tends to over-engineer and over-emphasize the importance of marginal changes that do not impact the overall quality of the code,\" and is \"prone to descending into exhaustive correctness checks, often developing elaborate verification pipelines that distract from the primary task\" (section 2.2.6). Layer a legacy \"always verify, be thorough, double-check\" skill on top of a model that already over-verifies, and the behaviors compound. That is precisely the pattern Every hit: elaborate multi-skill workflows producing early stopping and stalled autonomous flows, while a near-empty context produced good work.\n\n## More effort is not monotonically better\n\nA related assumption baked into older setups is that dialing everything up — longer prompts, more thinking, higher effort — can only help. The early Opus 5 data contradicts this. [FavTutor's roundup of early reviews](https://favtutor.com/claude-opus-5-early-reviews/?ref=corti.com) reports, citing the system card, that coding performance on FrontierCode peaked at 53.4% at *medium* effort and dropped to 43.6% at xhigh. [An independent migration-focused review](https://www.ai.joaoqueiros.com/blog/claude-opus-5-review-effort-skills-migration?ref=corti.com) found the same direction in field testing: \"stepping down sometimes improved behavior,\" with fewer tool calls and less reopening of settled decisions at lower effort levels. Klaassen's \"nice at a medium effort level\" matches.\n\nIf your harness hardcodes maximum thinking budgets or top effort settings because that is what the previous model needed for hard tasks, you may be paying more tokens for worse results. The migration guide's recommendation is to treat effort as an empirical knob: \"run a fresh effort sweep on your own evals rather than carrying over a setting tuned for an earlier model.\"\n\n## The instruction budget\n\nThere is also a capacity argument for deleting scaffolding, independent of behavioral mismatch. [A widely shared analysis at byteiota](https://byteiota.com/claude-5-context-engineering-anthropic-deleted-80-prompt/?ref=corti.com) — reporting statements attributed to Thariq Shihipar, a member of technical staff at Anthropic — claims that over 80% of Claude Code's system prompt was removed in the migration to Opus 5 and Fable 5 with no measurable regression on coding benchmarks, and that frontier models reliably follow only on the order of 150–200 instructions before adherence degrades. (These figures come from that article's reporting; I have not found them in Anthropic's official documentation, so treat the exact numbers as reported claims rather than published benchmarks.)\n\nWhatever the precise budget, the direction is well supported: every instruction in context competes with every other instruction, and stale rules don't just waste tokens — they can directly contradict the model's now-better defaults, forcing it to arbitrate between your prompt and its judgment. The article's before/after example is a good illustration of the fix. Old rule, written to suppress a verbose-commenting failure mode: \"Default to writing no comments. Never write multi-paragraph docstrings... one short line max.\" Replacement, written as intent rather than compensation: \"Write code that reads like the surrounding code: match its comment density, naming, and idiom.\" The second version survives model upgrades because it encodes *what you want*, not *what the old model got wrong*.\n\n## Some of the breakage is structural, not behavioral\n\nNot all of the friction is soft prompt mismatch; some scaffolding breaks at the API layer. Per Anthropic's migration guide: sampling parameters (`temperature`\n\n, `top_p`\n\n, `top_k`\n\n) are no longer accepted on recent models and return errors, with prompting-based steering as the replacement; manual extended-thinking budgets (`budget_tokens`\n\n) are deprecated in favor of adaptive thinking plus the `effort`\n\nparameter; and assistant-turn prefills — a workhorse technique for forcing output formats on older models — return a 400 on Claude 4.6+ models, replaced by structured outputs. A harness built around prefill-based JSON forcing or temperature schedules doesn't degrade gracefully on a new model. It simply fails, which is arguably the kinder failure mode: the behavioral mismatches are the ones that silently cost you quality.\n\n## What to actually do\n\nThe practical takeaway is not \"delete everything,\" and it is not \"old prompting advice was wrong.\" Those instructions were correct for the models they targeted. The takeaway is that prompts, skills, and harnesses are version-coupled artifacts — technical debt with a model-generation half-life — and a model upgrade is a migration, not a config change. The joaoqueiros review calls Opus 5 \"a major technical upgrade and a poor candidate for a blind model swap,\" which generalizes to every major model transition.\n\nA defensible migration process, synthesized from Anthropic's guidance and the early Opus 5 field reports, looks like this: freeze a small set of real evaluation tasks with known-good outputs and baseline the old model on them. Then change only the model and measure — before touching a single prompt — so you can separate model regressions from scaffolding mismatches. Then subtract before you add: remove verification and self-check directives, \"MUST\"/\"CRITICAL\" tool-forcing language, thoroughness exhortations, and any orchestration logic that assumed the model couldn't self-direct. Cap what the new model now does too eagerly — Opus 5 \"delegates more readily than earlier models,\" so the migration guide recommends explicit rules about when delegation is warranted and how many subagents to spawn, and it produces longer outputs, so length now needs to be requested explicitly. Sweep effort levels empirically rather than inheriting a setting. Finally, re-add instructions only when your evals demonstrate the model still needs them — and when you do, write them as intent, not as workarounds.\n\nOne last caveat that keeps this honest: the direction of adjustment is not uniformly \"less.\" The same best-practices document notes that if you want \"above and beyond\" behavior, newer models need you to request it explicitly rather than inferring it from vague prompts. Some behaviors need less prompting than before, others need more. The only durable rule is that you cannot know which without re-testing, because the artifact you are tuning is not the prompt — it is the prompt–model pair, and half of that pair just changed.\n\n## Sources\n\n[Vibe Check: Claude Opus 5 Is Brilliant in Flashes, Frustrating in Practice — Every (Dan Shipper, Katie Parrott, July 24, 2026)](https://every.to/vibe-check/opus-5?ref=corti.com)[Dan Shipper on X — Opus 5 launch thread](https://x.com/danshipper/status/2080700057892815114?ref=corti.com)[Kieran Klaassen on X — Opus 5 and Compound Engineering](https://x.com/kieranklaassen/status/2080712817926443486?ref=corti.com)[Claude prompting best practices — Anthropic documentation](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices?ref=corti.com)[Model migration guide — Anthropic documentation](https://platform.claude.com/docs/en/about-claude/models/migration-guide?ref=corti.com)[Claude Opus 5 System Card — Anthropic (July 24, 2026)](https://www-cdn.anthropic.com/c5fbac3f0b1280a933ebd26d3cb8bb9f5bdeaf48/Claude%20Opus%205%20System%20Card.pdf?ref=corti.com)[Claude Opus 5 Tops the Benchmarks While Early Testers Call It \"Hard to Love\" — FavTutor](https://favtutor.com/claude-opus-5-early-reviews/?ref=corti.com)[Claude Opus 5 Review: Brilliant, Frustrating, and Easy to Misconfigure — ai.joaoqueiros.com](https://www.ai.joaoqueiros.com/blog/claude-opus-5-review-effort-skills-migration?ref=corti.com)[Claude 5 Context Engineering: Anthropic Deleted 80% of Its Prompt — byteiota](https://byteiota.com/claude-5-context-engineering-anthropic-deleted-80-prompt/?ref=corti.com)[Compound Engineering plugin — EveryInc on GitHub](https://github.com/EveryInc/compound-engineering-plugin?ref=corti.com)", "url": "https://wpnews.pro/news/your-prompts-are-technical-debt-why-scaffolding-built-for-older-models-hinders", "canonical_source": "https://corti.com/your-prompts-are-technical-debt-why-scaffolding-built-for-older-models-hinders-newer-ones/", "published_at": "2026-07-28 04:42:17+00:00", "updated_at": "2026-07-28 05:06:13.727394+00:00", "lang": "en", "topics": ["large-language-models", "ai-agents", "ai-products", "ai-safety"], "entities": ["Anthropic", "Claude Opus 5", "Every", "Dan Shipper", "Katie Parrott", "Kieran Klaassen"], "alternates": {"html": "https://wpnews.pro/news/your-prompts-are-technical-debt-why-scaffolding-built-for-older-models-hinders", "markdown": "https://wpnews.pro/news/your-prompts-are-technical-debt-why-scaffolding-built-for-older-models-hinders.md", "text": "https://wpnews.pro/news/your-prompts-are-technical-debt-why-scaffolding-built-for-older-models-hinders.txt", "jsonld": "https://wpnews.pro/news/your-prompts-are-technical-debt-why-scaffolding-built-for-older-models-hinders.jsonld"}}