惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
B
Blog RSS Feed
量子位
aimingoo的专栏
aimingoo的专栏
V
Visual Studio Blog
Y
Y Combinator Blog
Vercel News
Vercel News
云风的 BLOG
云风的 BLOG
宝玉的分享
宝玉的分享
Engineering at Meta
Engineering at Meta
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
GbyAI
GbyAI
人人都是产品经理
人人都是产品经理
博客园 - 叶小钗
Stack Overflow Blog
Stack Overflow Blog
大猫的无限游戏
大猫的无限游戏
Microsoft Security Blog
Microsoft Security Blog
B
Blog
Last Week in AI
Last Week in AI
有赞技术团队
有赞技术团队
博客园 - 聂微东
腾讯CDC
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
J
Java Code Geeks

Microsoft for Developers

Your work might not need the smartest model - Microsoft for Developers Start here: Azure SQL Foundations series - Microsoft for Developers Try Azure SRE Agent with no always-on charges - Microsoft for Developers The Microsoft 365 Copilot Agent’s Playbook: A Practical Livestream Series for Building Better Agents - Microsoft for Developers How to test agent experience changes without shipping them - Microsoft for Developers How to test agent skills without hitting real APIs - Microsoft for Developers Building AX evals that actually work - Microsoft for Developers Let’s Learn GitHub Copilot App - Free Virtual Training Event - Microsoft for Developers The hidden variables in your agent eval - Microsoft for Developers Don't rewrite your CLI for agents - Microsoft for Developers Not all model upgrades are upgrades - Microsoft for Developers What AI benchmarks are not telling you - Microsoft for Developers Your agent already has a plan - Microsoft for Developers Learn from Microsoft: Transform software development through an agentic platform - Microsoft for Developers When the model has never seen your code - Microsoft for Developers Models don't have preferences, they have context - Microsoft for Developers Stop overloading your skills - Microsoft for Developers When your agent extensions fight each other - Microsoft for Developers Competing against yourself - Microsoft for Developers Your agent just scaffolded a project from 2020 Is your agent extension actually working? Spec-Driven Development: A Spec-First Approach to AI-Native Engineering Microsoft Build 2026 recap: vision, launches, and top sessions Improve your agentic developer tools by grounding in Microsoft Learn How AI coding agents actually use your technology The AX stack: what’s fixed, where you can win Agentic-Agile: Why Agent Development Needs Agile (Not Just Prompts) Azure Cosmos DB Conf 2026 Recap: Lessons from Production LangChain.js for Beginners: A Free Course to Build Agentic AI Apps with JavaScript - Microsoft for Developers Securing MCP: A Control Plane for Agent Tool Execution - Microsoft for Developers
Stop skillmaxxing, save your tokens - Microsoft for Devel...
Waldek Mastykarz · 2026-06-11 · via Microsoft for Developers

June 10th, 2026

0 reactions

Principal Developer Advocate

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 metadata into the context window. Whether you need them or not. Fifty skills with descriptions averaging 200 tokens each? That’s 10,000 tokens burned before you’ve asked anything. And that’s just the descriptions. If the agent decides to invoke one, the full skill content lands in context too. Stack a few invocations and you’re looking at tens of thousands of tokens spent on skills,

crowding out the workspace files and conversation history the model actually needs to help you. The thing is though, that most of those skills aren’t relevant to what you’re doing right now. You’re debugging an auth flow, but the agent is carrying metadata for your SEO audit skill, your cold email skill, your PowerPoint converter, and your 6 design taste variants. That’s noise, and noise has a cost.

Auto-invocation breaks down at scale Most skills are designed to be called automatically. The agent reads the task, scans what’s available, picks the best match, and calls it. That works with 3 skills. With 50, the agent starts guessing. Your “API authentication” skill and your “OAuth setup” skill both look relevant when someone asks about auth. Your 3 different “frontend design” skills all fire when someone mentions UI. The agent picks one (maybe the wrong one), or calls both,

burning tokens on redundant context. You’ve seen this: the agent calls a skill you didn’t expect, returns content you didn’t need, and response quality drops because the agent is drowning in options. So what do people do? They give up on auto-invocation and start typing /skill-name explicitly. Problem solved, right?

Explicit invocation doesn’t fix the real problem When you type

/my-deployment-skill, you bypass the auto-invocation mess. The agent calls exactly the skill you asked for. Except you’re still paying the metadata tax: all 50 skills are still discovered at session start, their descriptions still occupy context. You’ve fixed the selection problem but not the budget problem. And if you’re always invoking skills explicitly, you’re not really using skills. You’re using prompts with extra overhead.

Skills vs. prompts: know the difference Skills exist for

automatic invocation. The agent reads the situation, decides a skill is relevant, and calls it. The metadata is there so the agent can make that decision. If it never does because you always invoke manually, the metadata is pure waste. Prompts exist for manual invocation. You pick when to run them, and they don’t carry metadata that gets injected into every session. If you’re explicitly invoking something every time, it should be a prompt. If the agent should decide on its own, it should be a skill. Mixing these up means you’re paying skill-level overhead for prompt-level usage.

What to do about it The principle is the same regardless of tooling: stop paying context taxes on things you don’t use automatically. Many popular AI coding agents like

GitHub Copilot and Claude Code support disable-model-invocation: true in skills. Set it, and the skill won’t be automatically loaded into each session. It’s still there when you need it, but it stops claiming tokens just by existing. In Visual Studio Code, you have a second option: if your skill is just instructions without tool references, convert it to a .prompt.md file. Prompts are designed for manual invocation: reusable, parameterized, but invisible to the agent until you explicitly call them with /prompt-name. Zero metadata tax on sessions where you don’t need it. Either way, go through your skills and ask: does the agent need to find this on its own, or do I always know when I need it? Keep as skills only what the agent should genuinely decide to use on its own: the gaps you’ve measured that the model can’t figure out from training data. Everything else gets the flag or becomes a prompt.

The skillmaxxing trap Collecting skills feels productive. Each one represents a solved problem, a shortcut. But they’re not free. Every skill you add takes up space and makes auto-invocation less reliable for the ones that actually matter.

The best skill setup is the smallest one that produces lift. Three well-scoped skills that the agent invokes correctly will outperform 50 that fight for context. Convert everything you invoke manually to prompts. Build skills only for the gaps. And stop paying taxes on capabilities you’re not using.

Category

Topics

Author

Waldek Mastykarz

Principal Developer Advocate

Waldek is a Principal Developer Advocate at Microsoft focusing on AI Coding Agents. He researches AI Coding Agents, and evaluates and improves Agent Experience for Microsoft's products and services.