Hacker Newsnew | past | comments | ask | show | jobs | submit | kaoD's commentslogin


The spec describes Resources, Prompts, Tools, and Elicitation.

In practice, I believe Tools represent 95%+ of what people actually use MCP for. I've not seen an MCP with Resources or Prompts that seems to have widespread use of those features, and I don't think I've ever seen anything implement Elicitation.


All of that can be solved in better ways than MCP. 1+2+4 belongs to sandboxing. 3 to sandbox UIs. Ideally baked into the next generation OSs.

MCP is the wrong abstraction for all of that. Skills are better as pluggable interfaces, and I predict[0] chat and agentic loops will converge eventually (Anthropic already did this correctly; OpenAI, it's your turn) and skills marketplace will replace MCP in its current form.

I see value in MCP, but it feels like a stopgap/stepping stone.

[0] Where "predict" = "hope". The best solutions are often not the winners.


Skills are adjacent to MCP. They do not cover the same surface, in anyway. I don't understand this argument at all (and I see lots of people making it, so enlighten me)

I want my agent to be able to convert reliably between timezones. A skill does not solve this. It needs a deterministic tool it can call


Skills are not only Markdown files. I often structure my skills as small Python scripts and the actual Markdown is only the skill front matter and maybe some brief documentation. You can even stick an OpenAPI schema or whatever you see fit.

If you often need timezone conversion, sounds like a `timezones` skill exposing a few lines in a Python script. Boom. No MCP needed. No server needed. It's just files, all the way down. If you find yourself operating with dates a lot maybe you need a `datetime` skill wrapping a bunch of tiny scripts. Fully deterministic, cheap on tokens, and you can even run them without an agent (shocking nowadays :P)

As I identify repetitive actions I add (Claude adds) new scripts to the Skill to save tokens in the future, whereas MCP I'm at the mercy of the server provider. E.g. I have a Magic the Gathering skill with a bunch of tools to retrieve card databases, simulate hands, get card images...

This article enlightened me: https://mariozechner.at/posts/2025-11-02-what-if-you-dont-ne...

This is why I don't feel Skills are orthogonal. They feel like MCP on steroids since the scripts can be composed with Bash et al (huge battle-tested ecosystem, plenty in the training set)... and you don't need crappy abstractions like "resources" (yes, that's a thing in MCP) when the agent has a shell and a filesystem.

I've used this pattern to great success. Nowadays I just share these `.skill` packages with my friends (I think they're just a fancy ZIP file?)

The only thing missing for me is credentials and sandboxing (see my GP post). I have my own ideas on how to solve this (and some of that Claude in cloud already solves for me), but it's not easy (which is how MCP won).


> If you often need timezone conversion, sounds like a `timezones` skill exposing a few lines in a Python script. Boom. No MCP needed. No server needed

okay, but now my agent needs a coding environment / sandbox.

MCP (or tool use in general) solves this without that (extremely tenuous and expensive to do at scale in prd) requirement.

The skill is totally orthogonal here--solving a totally separate problem


I guess someone could expose the coding environment via MCP.

They could and code execution is actually exposed to the model as a tool!

But if im running a customer support agent at scale, i'm not sure I want it to be able to write code. I do know I need it to be able to convert timezones though. (its also far more expensive / token inefficient to have it write code each time to convert timezones rather to use a predefined tool I made an know works)


> token inefficient to have it write code

It does not write code. It just calls my tool.

But I see your other points though.


> What i dont understand is why does everything have to be so brief

Computers used to have very little memory and processing power, and screens had very low pixel density so line width was not that big. Then you have to deal with the baggage 50 years later.

Modern Lisps have the luxury so they use head/tail or first/rest.


> it may be that my point of view is too narrow

Not sure if you're just being polite but, in case you're doubting, functional languages make that distinction too.

Haskell has `Data.Vector.Vector` vs `Data.Vector.Mutable.MVector`.

Clojure has `transient`.

OP is just mistaken.


> Mutability is a property of variable, not of a value. [...] This has nothing to do with whether it can be reassigned (i.e. mutability).

I feel like you're using "mutable" too narrowly, as it's used colloquially in some programming languages. E.g. in JS, MDN itself talks about "reassignment"[0] and not "mutability" even though people often use "mutability" as a word to refer to the distinction between `const` and `let`. The only mention of mutability there is:

> Others may prefer `let` for non-primitives that are mutated

I.e. explicitly using `let` for mutated arrays, even if not reassigned, to make the signal mutability (which JS cannot express).

Note that you used "reassignment" which is the specific word for "mutating a binding", but the article is not referring to bindings at all.

[0] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...


You might want to start by explaining what AIM is?

AOL Instant Messenger, which was a very popular communication tool in the before times (which came after the before before times)

> Put me anecdotally in the opposite bucket.

The fact that you wrote this comment with Hindley-Milner-ish notation already makes your an outlier.


> Define the style in one place and reuse it.

If I had to guess, this is pure Tailwind rot.


I don't use tailwind but surely it has ways to standardize this kind of stuff?

Tailwind's philosophy is that you must not use CSS facilities at all and instead all their utility classes should be inlined into the HTML soup.

This leaves framework components as the only abstraction boundary, but that means if you're writing plain HTML without a framework there's literally no way to standardize your design system.

That and the huge soup of classes in DOM is (part of why) I don't like Tailwind... but that ship sailed a long time ago.


You can define css classes that combine multiple tailwind classes

https://tailwindcss.com/docs/functions-and-directives#apply-...


You can, but it goes against Tailwind's philosophy. It used to be explicitly discouraged here[0] (see this 2022 GH comment[1]), but now they just don't mention it.

[0] https://tailwindcss.com/docs/styling-with-utility-classes#ma...

[1] https://github.com/tailwindlabs/tailwindcss/discussions/7651...


> How are people getting this "waste of time not to use AI" and "generates 99% of my code" level of code quality?

They don't know what n+1 problem is and they don't know about long-term maintainability.


tbf many human devs I've worked with don't think about n+1 and similar issues and need constant reminders.

overall software quality seems largely unchanged


>tbf many human devs I've worked with don't...

OTOH, if someone insists on writing bad code—even after being advised otherwise—then they should expect to be out of a job.

Doesn't seem like "terminated junior developer" is the level of quality we should be accepting or promoting for AI.


that doesn't actually happen though. If you fired every dev with sloppy code you wouldn't be left with much.

You previously asserted that devs repeatedly ignored specific code quality instructions, which is clearly a fireable offense. You're now generalizing out to a vague concept of "sloppy code", which is not even quantifiable.

In any case, the point is that low quality code shouldn't be promoted as the acceptable goal for AI.


Am I the only one whose experience doesn't match this?

My gripe with Claude is that while investigating how to do this it will report 200 other incidental findings which I overlooked and I realize those are broken too and need urgent fixing, derailing me, not it.


Oh man, exactly. I'm very prone to scope creep as I work on tasks. I already would notice some things that could be fixed or refactored and have a hard time not touching them before I used agents. But now I have to be very intentional about not letting it manipulate me into fixing EVERYTHING RIGHT NOW. Half the time the "one more thing worth noting, unrelated..." isn't even an actual issue, it just brought it up to fish more usage out of me.

Also, while this little demo is certainly exaggerating the issue, I do find working with Claude to sometimes get quite verbose and tiresome. I doubt I would struggle this much to get it to change a button color, but the patterns of speech, the endless lists, the over-explanations, and the whole song and dance of trying to get it to make the change you want without side-effects is frustratingly familiar to me.


You're not alone. I've been sat wondering what kind of codebase someone has if they have this problem, I've never seen this behaviour.

Claude is an unbelievable yak shaver if you let it be.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: