Context Engineering Ate Prompt Engineering
Prompt engineering hit a ceiling
“Prompt Engineer” was the hottest job title of 2024. Companies hired people to craft the perfect system prompt: tweaking word order, adjusting temperature, adding “think step by step” like a magic spell.
By 2026 the returns have flatlined.
Past a certain point you’re fighting the context window instead of using it. The teams building the best AI products, like Cursor, Vercel and Anthropic, stopped optimizing prompts a long time ago and started engineering context.
Recent evaluation work points where practitioners keep ending up: how you structure the input matters far more than how you phrase it.
That’s why context engineering looks more durable to me than prompt engineering. The work is designing the information architecture an agent can reliably use, and the wording matters much less.
What context engineering actually is
Say you ask an agent with no project context:
“Add a dark mode toggle to my site”
It guesses your CSS approach. Tailwind? CSS variables? CSS-in-JS? It invents class names that don’t match your conventions, puts the toggle in the wrong place, and uses a state management pattern you don’t use. You spend 30 minutes fixing the output, which is longer than writing it yourself.
Now give it context. The agent reads your CLAUDE.md and knows you use CSS custom properties with a --color- prefix. It queries your MCP server and finds your existing design tokens, --color-bg-primary and --color-bg-secondary. It checks your shadcn/skills config and knows your components live in src/components/ with .astro extensions.
It writes a toggle that follows your conventions, uses your tokens and lands in the right spot in your layout on the first try.
The prompt was the same both times. Only the context changed.
Context engineering is the work of structuring your codebase, schemas and retrieval pipelines so AI agents can reason about them, which puts it closer to architecture than to prompt writing.
When one agent hallucinates and another ships correct code, the model is rarely the reason. Claude, GPT and Gemini are all capable; what differs is the context you feed them. A 50,000-token dump of your entire codebase gets you plausible-looking garbage. A structured map of your components, conventions and type system gets you code that works.
Three tools that already work this way
shadcn/skills
shadcn/ui uses “skills”, curated instruction sets that tell AI agents how your project works:
- Your framework and version
- Your import aliases
- Your installed components
- Your icon library
- Your naming conventions
With that in place, agents generate correct, idiomatic code on the first try because they don’t have to guess your conventions. The skill declares them.
CLAUDE.md
A Markdown file in your repo root that gives AI agents persistent project context. Every developer on the team and every AI tool that touches the codebase gets the same information: your architecture decisions, testing patterns and deployment process, written down instead of living in people’s heads.
It works like onboarding docs, except the reader is an agent that follows them every time instead of skimming once and forgetting.
MCP servers
The Model Context Protocol is an open standard for giving AI agents structured access to tools and data. Instead of dumping everything into a prompt, you build a server that exposes the context an agent needs, when it needs it.
The ecosystem is moving that way:
- Figma MCP gives agents access to live design tokens and layers
- Vercel MCP gives agents access to deployment logs and build status
- Chrome DevTools MCP gives agents access to live browser state
- OpenAI, Google, Microsoft, and Amazon have all adopted the protocol alongside Anthropic
I’ve built MCP servers for Notion, Replicate, and OPIK, and I see the same thing every time. Once an agent has structured access to a tool instead of a text description of it, the interaction gets easier to inspect, debug and repeat. How you shape that access matters too; I covered the tool-surface side in MCP Tool Design for AI Agents, Not API Endpoints.
Why frontend engineers should care
Frontend engineers are already context engineers, and most of them haven’t noticed.
You think in components with clear interfaces, write prop types that tell consumers what a component needs, and keep data flows predictable. Context engineering is the same skill applied to AI. You’re designing the information architecture an agent navigates, and the concepts map directly:
- Component boundaries = context isolation
- Prop interfaces = input schema design
- Type definitions = structured context
- A good component API = making the right thing easy and the wrong thing hard
Your TypeScript types are already a context engineering tool, since they tell agents (and humans) what shape the data takes.
More context is not better context
The obvious pushback: context windows keep growing. If a model can read a million tokens, why structure anything? Hand it the whole repo.
A bigger window doesn’t help the model ignore noise, though. In my experience a 200K-token session is slower and pricier than a 30K one, and more likely to grab onto something stale from three files back.
So a lot of context engineering is deciding what to leave out:
- Scope instructions to where they apply. Put project-wide rules in a root
CLAUDE.mdand local conventions in smaller files inside subdirectories. An agent editingsrc/components/doesn’t need your deployment runbook. - Load on demand. Skills and MCP tools let an agent fetch detailed instructions or data when a task calls for them, so you don’t pay for them on every turn.
- Check what gets added without asking. Auto-saved memories, long tool lists and verbose tool responses all draw from the same budget as the context you actually care about. I switch most of that off; Stop Using Claude Code on Defaults explains why.
- Trim tool output. An MCP tool that returns a 5,000-line JSON dump is leaking context. Return what the agent needs for its next step. I wrote up how we did this for the Opik MCP server.
Why the boring title wins
“Context Engineer” sounds less exciting than “Prompt Engineer”. It’s harder to tweet and harder to sell as a conference talk.
It is also the skill that decides whether AI makes you faster or just busier. Developers who structure their codebases for agents, build MCP servers and treat project context as infrastructure spend less time fixing avoidable misunderstandings, because for them the codebase is the prompt.