The Azure Architecture team just gave us something rare: a decision-making framework for when to build a skill versus a sub-agent. Kishorekumar Pattabiraman's guidance is refreshingly practical, focusing on reusability, simplicity, and long-term maintainability. This is the kind of grounded advice we need more of, especially when the industry loves to drown in abstract debates about agent architectures.
Our take? This is a quiet corrective to the hype cycle. Too often, teams over-engineer AI systems because they assume every problem requires a sub-agent. Pattabiraman's criteria cut through that. If a capability is self-contained and likely to be reused across different contexts, a skill makes sense. If it needs to hold state, manage a multi-step conversation, or coordinate other tools, a sub-agent earns its complexity. The emphasis on simplicity is the real gift here. We've all seen codebases where a simple function became a microservice, and the same mistake is happening with agents. This framework is the antidote.
For our readers, the practical implication is immediate. Before you scaffold a new sub-agent, ask: "Could this be a skill with a clear input and output?" If yes, start there. It also implicitly warns against premature abstraction. Reusability is valuable, but only if it doesn't sacrifice clarity. A skill that is hard to describe or test is a liability. This connects to a broader tension we've explored in Talking to My AI Clone Taught Me to Question the Tech, where the allure of sophisticated AI often masks fundamental usability issues. Similarly, Verify Your AI's Understanding: A Simple Check for Tax Season reminds us that verification and simplicity go hand in hand. If you can't easily verify what a skill does, you shouldn't be adding more moving parts.
What we would tell a reader who asks about this: read it, then apply its lens to your current projects. Look at your most complex agent. Is every sub-agent justified, or did you default to that pattern? The focus on long-term maintainability is the key differentiator. It's not just about what works today; it's about what you can debug, update, and hand off to a colleague next quarter. The related piece on Navigating AI/ML Job Requirements: A Shift in Expected Skills underscores that the market increasingly values engineers who can make these pragmatic calls, not just those who can spin up complex systems.
The concrete takeaway? Adopt a "skill-first" default for any new capability that doesn't explicitly require conversational memory or multi-step orchestration. That single rule will save you from a mountain of debugging and architectural debt. As you build, keep asking whether your sub-agents are earning their complexity. The answer, more often than you think, will be no. Watch for that moment of resistance when you consider simplifying a sub-agent into a skill. That resistance is your signal to revisit the framework.
