For most of software history, value accrued to whoever owned the most workflows. Features were the main currency.
But agents have upended this logic. They don't navigate GUIs; they consume APIs and compose capabilities.
In other words, every company is now a dev tools company!
As @davidcrawshaw put it: "the best product for an agent is just the best product for a developer."
Many know about @HashiCorp's "Tao" concept, which encapsulates this idea well. Users don't want features, they want outcomes. Thus, the job of a product is to collapse complexity into the smallest yet most powerful abstraction that enables those outcomes.
Exhibit A is Terraform, whose declarative resource graph was (a) opinionated enough to drive immediate productivity, but (b) extensible enough that thousands of providers and modules emerged around it.
Similarly, S3 reduced cloud storage to three verbs: Put, Get, List. The power resided in the abstraction, not just the technology.
This provides a blueprint that every software company will need to internalize in the age of agents. Teams need to stop thinking in terms of features and prescriptive workflows and start thinking in terms of abstractions and capabilities.
In an agent-first world, the most important question facing product teams is not what features and why, but instead how do I design the right primitive?
My favorite example of the primitive-first approach is Pi, a coding tool created by @badlogicgames that I’ve fallen in love with. Pi bills itself as a "minimal agent harness." It is deliberately narrow, leaving it to the developer (or agent) to decide the particulars of their desired workflow. Rather than shipping a complete coding product, it exposes a simple, pluggable coding agent harness…a set of primitives, if you will.
Building great developer tools (e.g. primitives) has always been an exercise in this balance. EC2 gave developers a raw virtual machine, powerful and minimally opinionated. Heroku gave them git push, magical but constrained. The best primitives feel deceptively simple because complexity has been compressed thoughtfully.
All of this means the winning products and strategies going forward will look very different from those of the SaaS era. The most valuable companies will allow every use case to emerge instead of trying to solve each one themselves.
Whereas the old moat was defined by feature breadth, workflow ownership, and data gravity, the emerging moat may be something much simpler: the elegance of the abstraction.
Take a look at your favourite skill.
Go on, take a look.
Check for lines like:
- "Make the commit message very detailed"
- "Be thorough"
- "Make the implementation easy to read"
What do these lines have in common?
They're no-ops. They do nothing to change the agent's behavior.
Agents always write good commit messages. They always try to be thorough. They always try to create easy-to-read implementations.
Try removing them. Does the output change? No? Then the line was a no-op.
Agent-authored skills are LITTERED with no-ops. Entire paragraphs and sections of text that does nothing to change the agents' behavior.
No-ops make skills harder to evaluate, harder to maintain, and burn tokens uselessly.
Learn to spot them, test them, and remove them. Your skills will thank you.