I never tell my agents to use YAGNI
How a good principle becomes a specification-follower that strips the soul out of what you're shipping
YAGNI as a principle isn’t wrong, but agents often take it way too literally… and it might be killing the soul of your products.
In practice, you ask for a small touch that makes something feel alive. A little animation, a confirmation message that’s warm instead of clinical, a shortcut that’ll clearly get used. The agent pushes back: “this isn’t strictly needed.” YAGNI, implied or stated. You end up negotiating for polish that should’ve been a default yes.
The YAGNI principle came from a perspective of not implementing speculative capabilities you presume you’ll need, because they increase future modification cost. The problem is complexity you have to carry – not effort you spent.
YAGNI applied to speculative complexity is a useful constraint. YAGNI applied to the quality of what you’re actually building turns your agent into a specification-follower that strips the soul out of what you’re shipping.
The distinction that matters:
A config knob for a scenario that might never happen – that’s speculative complexity. Everything downstream has to carry it. Cut it.
A warm confirmation message, a small animation, a bit of care in the copy – you’re building that feature anyway. Building it well isn’t scope creep. It’s just building.
A beautiful onboarding experience? Could have real carrying cost. But if onboarding is in scope, building a bad version of it isn’t YAGNI discipline. It’s just choosing to ship something worse than you could’ve. The question isn’t whether it adds complexity – everything does. The question is whether that complexity is in service of your current users or hedging against futures that might never arrive.
The question I actually want agents asking: “is this speculative – for users or scenarios we don’t have yet?” Not “is this strictly required?”
The rule I actually use in the skills I write and in my own AGENTS.md:
When considering the YAGNI principle, apply it to speculative complexity. Not product quality.
Which is why I don’t say “use YAGNI” at all. The temptation to take it literally is too strong, and I’ve seen enough agents refuse things that were obviously worth building to know the framing matters.


