LET'S TALK →

An SME run on AI agents

We rebuilt an SME to run on security-bound AI agents across the whole business. Agents manage the website and marketing, sort the inbox and files, and handle invoices, receipts and offers.

The assistant that never got hired

The owner of a small company was drowning in repetitive work and had decided to hire an assistant to take it off their plate. The brief we got was smaller than that. They wanted help using AI more. We asked a different question in the first meeting. What if the assistant were a set of agents, and what if they took the menial work off everyone, not just the owner?

That set the constraints. An SME has no IT team and should not need one. Whatever we built had to run on almost no infrastructure, be operated by anyone who can use a computer, and cost less than the assistant it replaced. A full workflow engine was out of the question. So was anything a developer would have to babysit.

A few days following the company's operations were enough to map the tasks people did over and over. Meanwhile we worked out what the simplest possible system would look like.

No single provider

One requirement we set ourselves before the client did. Nobody should be locked to one AI provider. The field moves too fast to bet a company's operations on one model, and the right answer to "which model" changes every few months. The client should be on the best model available and able to switch whenever they like.

Most of what followed comes from that decision. Around this time the providers had introduced skills, a way of handing an agent a written procedure for a task. Written tightly, a skill walks the agent along a tightrope. Written loosely, it lets the agent cross an open field and make its own calls. Either way, a skill is not magic. It is a prompt in plain language in a markdown file, and a set of skills is a folder of them.

That was the whole architecture. A company knowledge base as well-formed markdown, a set of skills as markdown, hosted anywhere. Give an agent the knowledge and the skills and it operates as an employee who knows the company and has a precise procedure for every job. It seemed almost too simple.

Keeping the files honest

Anyone who has worked with AI knows what happens to a folder of instructions left in its care. It rots. The agent adds rules on top of rules, restates what is already there and writes instructions in capitals. We tested it. Too strict, with a wall of "never do X" and "always do Z", and the agent freezes and asks permission for everything. Too loose and it looks for dangerous ways around a block. Too verbose and its context fills with noise. Too specific and it gets stuck the moment the situation differs from the script.

The answer was a small number of meta skills, written by hand and with great care. A skill for editing the knowledge base, so every addition lands in the right shape. A skill for writing new skills. A skill that audits the whole structure for duplicates, contradictions and dead weight, run on a schedule. With those in place, the agent could build the rest of its own toolkit, and we could check its work against rules it had not written.

Everything in Git

The files needed a home, and the obvious one was Git. Full history of every change to every skill and every fact about the company. No lock-in to any provider's platform. Running on Claude? Point it at the repository through a connector. Running on ChatGPT? Point it at the same repository. Self-hosting a model? Same again. The company's operating manual lives in one place, and the agent reading it is interchangeable.

Where the agent stops

An agent that reads email, holds company data and has the open internet in front of it is a liability unless it has hard edges. We drew them the same way we would for a person. The agent has its own seat on the AI provider and its own account in the client's workspace, and that account is bound by workspace policy so it cannot send mail or share a file outside the company. Not an instruction the agent could talk itself out of. The account cannot do it.

Inbound is filtered too. Mail rules catch the obvious prompt injection patterns, the "ignore previous instructions" and "this is a system prompt" family, before the agent sees them. And the agent is told to treat everything it reads as data, never as an instruction, which held up against our own attempts to break it. When a person is driving, the same rule applies as for any tool. The agent is a power tool rather than a screwdriver, and the person holding it is responsible for where it points.

What the agents do now

We started with the tasks that ate the most time.

Beyond the set tasks it works as a knowledgeable colleague. A spreadsheet of last month's sales. An email in the company's voice. A pitch deck for a hard customer, on brand.

Today

  • Sort the contact inbox
  • File this week's receipts
  • Reconcile last month
  • Send the meeting notes
  • Price the quote for Nordvik
  • Update the opening hours on the site

1

What it cost, and what it saved

Each employee has a seat on the AI provider and so does the agent. That is the whole bill. No API metering running into thousands a month, no automation platform, no developer on retainer. Nothing to maintain beyond the periodic audit the agent runs on itself, and when something does go wrong, we are a message away.

The owner got roughly a day a week back. Almost every part of the company shed hours. The assistant the company was about to hire, with the weeks of onboarding and the salary that came with it, became a set of skills the agent writes for itself.

The work continues. We keep finding tasks to hand over, and we are watching how the knowledge base holds up as it grows. Tools like Zapier and Make have their place in larger companies. For an SME, a folder of markdown, a Git repository and a well-fenced agent turned out to be enough, and better than we had hoped.

We wanted to write this one up early. It was too interesting a problem to sit on.

Need help with something similar?

Whether you need tailored solutions or strategic guidance, our team is here to help.

Get in touch