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

推荐订阅源

K
Kaspersky official blog
罗磊的独立博客
F
Fortinet All Blogs
人人都是产品经理
人人都是产品经理
量子位
V
Visual Studio Blog
Blog — PlanetScale
Blog — PlanetScale
M
MIT News - Artificial intelligence
B
Blog RSS Feed
腾讯CDC
博客园_首页
aimingoo的专栏
aimingoo的专栏
博客园 - 三生石上(FineUI控件)
博客园 - Franky
S
SegmentFault 最新的问题
N
Netflix TechBlog - Medium
小众软件
小众软件
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
L
LINUX DO - 热门话题
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Martin Fowler
Martin Fowler
D
Docker
P
Privacy & Cybersecurity Law Blog
S
Securelist
V
V2EX
Jina AI
Jina AI
阮一峰的网络日志
阮一峰的网络日志
T
Tor Project blog
The Hacker News
The Hacker News
Microsoft Azure Blog
Microsoft Azure Blog
AWS News Blog
AWS News Blog
The GitHub Blog
The GitHub Blog
有赞技术团队
有赞技术团队
T
The Exploit Database - CXSecurity.com
Help Net Security
Help Net Security
酷 壳 – CoolShell
酷 壳 – CoolShell
Application and Cybersecurity Blog
Application and Cybersecurity Blog
博客园 - 叶小钗
Recent Announcements
Recent Announcements
Cloudbric
Cloudbric
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Latest news
Latest news
MongoDB | Blog
MongoDB | Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Recorded Future
Recorded Future
V2EX - 技术
V2EX - 技术

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 Take your PostgreSQL-backed apps to the next level Awesome GitHub Copilot just got a website, and a learning hub, and plugins! Build a real-world example with Microsoft Agent Framework, Microsoft Foundry, MCP and Aspire
Stop skillmaxxing, save your tokens - Microsoft for Developers
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.