Use Agent Skills, NOT MCP

Show notes

Infographics built with https://buildmygraphic.com/ Website: https://maximilian-schwarzmueller.com/

Socials: 👉 Twitch: https://www.twitch.tv/maxedapps 👉 X: https://x.com/maxedapps 👉 Udemy: https://www.udemy.com/user/maximilian-schwarzmuller/ 👉 LinkedIn: https://www.linkedin.com/in/maximilian-schwarzmueller/

Want to become a web developer or expand your web development knowledge? I have multiple bestselling online courses on React, Angular, NodeJS, Docker & much more! 👉 https://academind.com/courses

Show transcript

00:00:00: As a developer, using AI efficiently can be quite

00:00:03: got a bit easier because you can safely ignore MCP, the Model Context

00:00:07: Protocol, now, and I'll explain why.

00:00:09: The Model Context Protocol was already introduced in 2024

00:00:13: behind it sounds pretty good. The idea is that large language

00:00:16: models on their own are dumb. They're just producing tokens,

00:00:20: always will. So they're producing tokens.

00:00:23: They don't know anything. And the reason why ChatGPT, for example,

00:00:27: now much better than it was when it was initially released is not only

00:00:30: because models got smarter or better but mostly

00:00:34: because ChatGPT now has tools included, like web

00:00:38: search or the capability to execute code.

00:00:41: And the idea behind MCP simply was to make it easier to expose new

00:00:45: tools to large language models. Sounds like it makes sense, right?

00:00:48: Yeah, sounds like it does but it doesn't unfortunately because one

00:00:52: is, or two big problems with MCP actually are

00:00:55: that you can't give them a lot of tools.

00:00:59: If you start adding, like dozens of MCP servers to your

00:01:03: AI application, chances are that it will just

00:01:07: not use any of these tools or use them in the wrong way because

00:01:11: polluting that context with all that MCP information because all these

00:01:14: MCP servers, of course, need to expose information about the tools

00:01:19: they provide and about the resources they provide and that can quickly lead to a

00:01:23: situation where you're making your AI application dumber

00:01:26: instead of smarter. So that's one problem.

00:01:28: Another problem is that you have to hope that the AI uses

00:01:32: certain tools or you have to kind of tell it, "Hey, please use that MCP

00:01:36: server to get a certain task done," which, eh, works but

00:01:40: is not really ideal and then there's another maybe even

00:01:44: bigger problem when it comes to MCP and development,

00:01:48: on here. As a developer when it comes to tools like Cursor there

00:01:52: only so many things you want your AI to do.

00:01:56: That might be spinning up a browser looking at the website.

00:01:59: That might be querying a database to see if some data has been

00:02:03: inserted. That might be to reach out to some

00:02:06: documentation. Maybe there also is some Git-related stuff and

00:02:10: that's it then. Now the bad news for the MCP fans are

00:02:15: you don't need MCP for any of that. Cursor and all these other AI

00:02:18: coding tools already have web search built in or the

00:02:23: capability to send a request to some website and fetch the

00:02:26: content to read it so they can already visit websites.

00:02:29: No MCP needed for that. They already have browser use

00:02:33: implemented. Cursor has at least.

00:02:35: It can spin up a browser and view it and work with it and

00:02:39: navigate it for you. They can use the command line

00:02:43: interact with Git which allows them to interact with a

00:02:47: can do all these things already and that's the reason why

00:02:50: I don't really use any MCPs and never felt like

00:02:54: anything's missing except for one thing.

00:02:57: One problem I do have as a developer is providing the

00:03:01: right context or it's not a problem but it's the most

00:03:05: difficult and important thing. For example, I know that there are a lot

00:03:08: of modern browser APIs and CSS features I would like to use in my

00:03:12: project. I don't want to write CSS code like it's

00:03:16: but that's what AI typically does as a default and I don't want that

00:03:20: so I typically remind AI to please use relative

00:03:24: colors, for example, or please use the pop-over API and that's,

00:03:28: course, annoying but that's something where I

00:03:32: this new Skills standard which is emerging and evolving.

00:03:36: The idea behind Skills is that in your project you can add

00:03:40: a Skill folder and right now where you add that

00:03:44: folder still kind of depends on which tool you're using.

00:03:47: Cloud code, you would have a Skills folder in the

00:03:51: and then for each skill you would add a subfolder in that Skills folder

00:03:56: and add a skill.md file. That is the bare minimum.

00:03:59: Now what goes into that skill.md file?

00:04:01: In the end just some context, just a prompt you could say.

00:04:04: This is simply how such a skill.md file could look like.

00:04:06: You have some metadata which is just the name and description a- as

00:04:10: a minimum and the description is the part that will help the AI decide

00:04:14: whether to use the skill because the idea behind these Skills

00:04:18: is that the coding agent essentially loads all

00:04:22: these names and descriptions into its context whenever you

00:04:25: start a new chat and that's obviously just a few tokens so that's no problem.

00:04:29: It's not polluting your context but it has all that

00:04:33: information. It has a system prompt, of course, that makes sure that this

00:04:37: is prominently embedded and that it considers all

00:04:41: these skills whenever tackling a task and it would then

00:04:45: take a look at the entire file, open that entire file but only then

00:04:48: and then it therefore gets the rest of this content which is

00:04:52: just an extra prompt, just some extra context that's loaded

00:04:56: on demand and that's the important part.

00:04:59: Now a Skill can be more than that. You can add subfolders to each

00:05:02: skill to even add scripts so your own code that should be

00:05:06: executable so that you can add your own tools in the end connected to

00:05:10: a skill that can be used so for example you could add code that opens and

00:05:14: reads a PDF document so that you have your own parsing logic in

00:05:18: place. You can add extra references like extra

00:05:22: you could therefore, for example, build a skill that helps the AI write

00:05:26: better React components by making it aware of the fact that it might

00:05:30: not need useEffect because AIs love to use useEffect

00:05:34: but they might not need to. There is a full article on the official docs

00:05:38: that you might not need an effect. You can put that into your references,

00:05:42: skill related to that, maybe also add some other React component

00:05:46: related information in there and then whenever you ask the AI

00:05:49: to do something that's related to a React component there's a high chance

00:05:53: of it loading that skill and using that extra knowledge and context

00:05:57: so that you don't constantly have to repeat yourself or hope

00:06:01: that the AI does things the way you want it to do and that's why I

00:06:05: find this Skill spec quite interesting and why I'm using Skills in

00:06:09: my projects to make AI aware of all the modern syntax I'd

00:06:13: like it to use and why I personally don't find MCP super

00:06:16: interesting when it comes to development with AI.

New comment

Your name or nickname, will be shown publicly
At least 10 characters long
By submitting your comment you agree that the content of the field "Name or nickname" will be stored and shown publicly next to your comment. Using your real name is optional.