Microsoft for Developers
Get the latest information, insights, and news from Microsoft.
Latest posts
When the model has never seen your code
This is the fifth article in a series about Agent Experience (AX): the practice of making AI coding agents work correctly with your technology. The series covers what you can and can't control in the agent stack, how to measure whether your extensions are helping or hurting, and how to iterate toward better outcomes. Everything we've covered so far assumed the model has some training data about your technology. Maybe it's outdated, maybe it's biased toward a competitor, but there's something in the weights to work with. For proprietary code, internal SDKs, and custom frameworks, there's nothing. In the previous...
Models don’t have preferences, they have context
You open a fresh chat, type "What framework should I use for a web app?", and the model says "React." You screenshot it, share it, and write "Claude prefers React." It gets engagement. People nod along. A few reply with their own results. And now we have a consensus: Claude prefers React. Except it doesn't. The model doesn't prefer anything. You're reading the room, not the mind. The genre There's a whole genre of this. Run N prompts in a bare chat window, tabulate the answers, maybe build a heatmap, publish it as a blog post or a thread. "Which frameworks do LLMs prefer?" "What languages do models recommend mo...
Stop overloading your skills
You built a skill for your technology. API references, authentication flows, SDK patterns, error handling, version info, all packed into one skill. The agent calls it, gets all that context, and generates code. The kicker? You've just wasted a lot of tokens. It already knows Models have ingested your documentation, your Stack Overflow answers, your GitHub repos, your blog posts. The default imports, the standard auth flow, the common CRUD operations: the model already has all of that baked in. When your skill repeats what the model already knows, you're not helping, you're adding weight. Every token your skill...
When your agent extensions fight each other
This is the fourth article in a series about Agent Experience (AX): the practice of making AI coding agents work correctly with your technology. The series covers what you can and can't control in the agent stack, how to measure whether your extensions are helping or hurting, and how to iterate toward better outcomes. You shipped your extension, measured it, confirmed it creates lift. Then a developer installs it alongside 14 other extensions, and outcomes get worse. Not because your extension is broken, but because extensions don't exist in isolation: they compete. In the previous article, we covered how to me...
Competing against yourself
You shipped a new CLI: better developer experience, modern architecture, and optimized for agents. You deprecated the old one, updated the docs, and blogged about it. Developers are migrating. Then someone asks an AI coding agent to scaffold a project, and the agent... uses the old tool. Training data gravity Models learn from the internet. If your technology has been around for a decade, there are thousands of blog posts, Stack Overflow answers, tutorials, and GitHub repos that document the old way of doing things. Your new CLI? A handful of announcement posts and maybe some updated docs. So what happens wh...
Your agent just scaffolded a project from 2020
Your agent ran a scaffold command. Project generated, dependencies resolved, no errors. Everything looks fine. Except it's based on the project structure from 2020, and neither you nor the agent noticed. How npx picks the right-but-wrong version When an agent scaffolds a project or runs a CLI tool, it often reaches for without specifying a version. Something like: Notice, that there's no version pinned anywhere. The agent typed the package name and assumed it'd get the latest. That's where things break. When you run without a version, npm resolves the latest version that's compatible with your current Nod...
Is your agent extension actually working?
This is the third article in a series about Agent Experience (AX): the practice of making AI coding agents work correctly with your technology. The series covers what you can and can't control in the agent stack, how to measure whether your extensions are helping or hurting, and how to iterate toward better outcomes. You shipped your skill, wrote clear instructions, developers install it, and agents discover it. Everything looks like it's working. But is the generated code actually better because of your extension? Or would the agent have produced the same result without it? In the first article, we introdu...
Stop skillmaxxing, save your tokens
You built a dozen skills for your technology: authentication, CRUD, error handling, deployment, testing, monitoring. Then you installed a cloud platform bundle with 15 more covering diagnostics, storage, compliance, and cost optimization. A design suite. A marketing pack. Document converters for Word, Excel, PowerPoint, PDF. Fifty skills, all sitting in your workspace. Here is why that's a problem. The tax you pay before typing a single prompt Every skill has metadata: a name, a description, trigger phrases, sometimes parameter schemas. When you start a session, the agent discovers all of them and injects their ...
Spec-Driven Development: A Spec-First Approach to AI-Native Engineering
AI has made software delivery faster, but speed alone does not guarantee better outcomes. As teams adopt AI-native development, the real challenge is keeping requirements, design, implementation, and validation aligned so the final result still reflects the original intent. Spec-Driven Development (SDD) addresses this by making structured specs the shared source of truth for both humans and AI. Instead of prompting first and aligning later, teams align first and let AI accelerate execution from a clear spec. Why AI-assisted development still breaks down Teams often ship software that works but still misses the ...