Plugins or agents: what is still worth building?

Hello everyone,

I would like to share a thought about how we build value around a design tool today: shipping a plugin, or driving the tool with an agent (MCP server, skills, a local or hosted LLM).

This is a subject I am directly concerned about. I build plugins, and I spend most of my time trying to make plugin building reachable for more people, so that anyone can cover one precise use case and keep control over what it costs. I would welcome your feedback.

TL;DR

A plugin is an act of service: the load is carried once, by its author, for everyone who installs it, and the cost sits at the start. An agent is a way to build through your own prism: immediate, personal, shaped exactly as you think, and billed every time you run it. My working hypothesis is agents to explore, plugins to produce. What I would like to discuss is where each of us draws that line, and what it changes for an open-source tool like Penpot.

If you want the longer version, here are the slides of the 10 minute talk.

Context

For years, packaging value for a design tool meant one thing: a plugin. A manifest, an embedded UI, storage, auth, versioning, a catalogue listing, sometimes monetisation. It is a real product, with a real cost, and it requires code.

Since Penpot shipped its MCP server, and since agent skills became usable by people who do not write code, a part of that value can exist without any plugin at all. You describe an intent, the agent reads the document, calls the API, applies the change. No UI to maintain, no release cycle, no catalogue listing.

I have tested both sides: plugins in production, and full design tasks driven from a conversation through the Penpot MCP server. Both work. They do not cost the same thing, and they do not belong to the same people.

The problem

The two paths have opposite cost curves.

A plugin is expensive at the entry: reading the API, handling the sandboxed environment, designing an interface that fits inside the editor. It requires a developer, or a designer who codes. Once it exists, the marginal cost is close to zero, and the evolutions become product decisions (UX plus dev).

An agent setup is cheap at the entry and open to almost any profile, but the cost grows with usage, because it is billed by token. The more specific the request, the more you pay, and weak framing multiplies redundant calls.

Running a local model changes that equation, and this is where I see real value: no metering, data that stays home, a bill you can predict. It does not erase the cost, it moves it to infrastructure. I opened that path in another thread here, about local open-source tooling in design schools, and I went deeper into it in this article, as a complement.

Two other points I do not want to skip:

  • Sovereignty: unless the model runs locally, design data, internal know-how and business logic leave the perimeter. A self-hosted Penpot connected to a hosted LLM is only half sovereign, and that matters precisely for the organisations that chose Penpot for its openness.
  • Accessibility of the practice: making an agent evolve means writing and reading skills, in a dense markdown format. It is more open than code, but it is not effortless. For people with attention difficulties or neurodivergent profiles, long instruction documents are a real barrier, and I think we should say it out loud.

My current take

Shipping a plugin is an act of service. Someone carries the load once, and everybody else stops carrying it. The work is packaged, documented, maintained by its author, and it outlives the person who installed it.

Using an agent is the opposite movement. You build through your own prism, you shape the process exactly as you think, and it fits you because you wrote it. It is powerful, and it is personal.

The image I keep coming back to: having a piece of furniture made for your space, versus buying it at IKEA. The commissioned piece costs more upfront, someone else solved the hard parts, and it lasts. IKEA is convenient, immediate, you assemble it to your own taste, but durability is not part of the deal, and the price you avoided at the start comes back later.

Neither is wrong. They answer different moments.

What I am exploring

A sequence rather than a competition:

  • Agent plus MCP as the exploration ground: you automate, you test, the process takes shape, and nobody has to commit to a product yet.
  • The process stabilises: it becomes named, documented, repeatable, boring in the good sense.
  • The plugin as the production ground: you encode the stabilised process, with a predictable cost, an interface anyone can use, and data that stays inside the perimeter.

Applied to Penpot, this feels worth discussing here, because Penpot sits in a rare position: open-source, self-hostable, with an MCP server already shipped, and a catalogue still small enough that every contribution is visible.

Some open questions

Thank you for reading. Nothing here is settled, this is an open reflection rather than a conclusion.

  • Is it still worth building a plugin for a use case an agent could cover with a few skills? Where do you personally draw the line?
  • For plugin authors: has agentic usage already changed your roadmap, your scoping, or the way you write your documentation?
  • Does an MCP layer grow the plugin ecosystem or replace part of it? My hypothesis is that it grows it, by revealing which processes deserve a real interface.
  • How do we keep extensibility accessible to non developers, without pushing everyone into a metered dependency?
  • Has anyone here paired a self-hosted Penpot with a local model to drive real design work? What worked, what failed, and what did the setup cost you in time?
3 Likes

I really appreciate the time and thought you’ve given to this, @a-ng-d.

As someone who has only built a very simple plugin, and used the MCP for a few test projects, I would add another major benefit to plugins over agents (for now) and that’s consistency/repeatability, which is linked to shareability.

With models continually evolving and picking up on the slightest variation in prompts, it’s near-impossible to get the same result twice. As you say, this is valuable where you’re looking for high levels of customisation, but for many of us, automation is about reducing the repetitive tedious tasks, allowing us to focus on the design decisions. Plugins do this specific use case repeatability so well, and make it much easier to share that process with other people in the most accessible format too.

My personal approach in my limited use of AI workflows is to work through the ideal process with an agent, and then get that process formalised into a repeatable script as early as possible. But then again, I am still for engaging in the manual process as a part of the design journey. The time spent working through manual execution is more time dedicated to considering the design decisions overall. (But this is a whole other discussion for another time :sweat_smile:)

2 Likes

Plugins to explore, agents to produce: a slightly different take

I am not entirely convinced by the idea that agents are mainly tools for exploration. Put that way, it sounds a little like: “Let the machine handle the creative part and keep the boring stuff for ourselves.” And honestly, that does not sound like a great deal.

In design, creativity is a pretty important part of the job — probably one of the reasons I do it in the first place. So in this particular case, I would reverse the proposed model: plugins — or, more precisely, the designer using them — for exploration; agents for production.

It is true that, when I use an agent, I am still the one writing the prompts, setting the goals and directing the whole operation. But that does not mean I want to hand over a substantial part of the creative exploration. I would rather use an agent to speed up, standardise and streamline something I have already decided, rather than delegate the part of the work I actually enjoy the most.

After all, if I have to make something terrible, I would rather it be my terrible thing. At least I will know who to blame! :rofl:

Security, data ownership and sovereignty are also worth keeping in mind — although I would leave the technical details to people who know much more about them than I do.

So the question is not only whether plugins or agents are better suited to exploration or production. It is also about deciding which parts of the creative work we are willing to delegate, and which parts we consider inseparable from being designers.

In any case, thank you for the thought-provoking post. It is an interesting reflection precisely because it does not pretend to offer a ready-made answer. And congratulations on the plugins you have created as well — I think they are genuinely excellent! :grinning_face:

1 Like