Indirection
Simple site changes stop being direct
Instead of editing markup and style directly, the change has to be expressed through a framework’s structure, conventions, and state model.
htmlctl / Essay Page
Agents are already good at producing websites directly: HTML, CSS, JavaScript, metadata, content cards, images, and page structure. Many modern web stacks assume the opposite and wrap even simple publishing tasks in framework conventions, developer ergonomics, and runtime assumptions that make sense for humans building applications, but not for agents shipping sites.
The mismatch
Agents can write and revise content, structure pages, adjust layout, edit HTML and CSS directly, wire simple JavaScript behaviors, and iterate quickly against concrete rendered output. That is already enough to build a large class of websites.
Many popular stacks assume a human developer working inside a component framework, managing application state, build pipelines, abstractions, and conventions that are valuable when building complex apps but expensive when the real job is publishing a website.
Where the overhead comes from
Indirection
Instead of editing markup and style directly, the change has to be expressed through a framework’s structure, conventions, and state model.
Rebuild friction
When every environment rebuilds independently, it becomes harder to know whether what was approved is exactly what went live.
Runtime creep
A contact form, a newsletter, a protected preview route: each small need starts nudging the stack toward a general-purpose runtime instead of a publishing system.
Skill mismatch
The ergonomics are designed around codebases humans maintain by hand, not around agents working best with direct asset output and clear review loops.
Operational blur
Static assets, dynamic services, auth, and environment-specific settings blur into one system, making rollout and rollback harder to reason about.
Lost leverage
If the agent is already good at generating site assets directly, forcing it through more abstraction can reduce speed without buying meaningful value.
What changes when the tool is for agents
HTML, CSS, JavaScript, metadata, icons, OG images, and content should be first-class publishing inputs, not outputs hidden behind a framework boundary.
Preview URLs, exact promote, and immutable releases keep the approval loop grounded in what the agent actually produced.
When the site needs runtime features, add them as extensions behind explicit routes rather than turning the core publishing system into an app platform.
The htmlctl position
What this is not saying
Next step
The two clearest consequences of this model are the extensions system and the newsletter extension that proves it out in a real website.