An AI agent can be an exoskeleton. Or it can be a robot from Čapek’s R.U.R. The first lifts your team up. The second replaces it. This talk is about building the first one.

Download the slides: exoskeleton_vs_RUR.pdf internal link .

Title slide: Exoskeleton vs R.U.R. -- lifting teams up, not crushing them down

Exoskeleton vs R.U.R.

Exoskeleton vs Rise of the Machines comparison

The core contrast. Exoskeleton – you are inside, it moves when you move. Its ceiling is the wearer, so you invest in people. R.U.R. – it moves on its own. Its ceiling is the architect, and accountability gets nebulous. Čapek gave us the word robota: forced labour.

Priors

Four priors for everything that follows. LLM software is not deterministic. LLMs are geniuses and idiots at once. Only a human can be held accountable. So build what is good for humans, and make agents use it.

Coding Agents

Close the loop yourself: Code, Reflect, Refine

Code, reflect, refine. The agent can drive the coding. The reflecting and refining stay in your brain.

Choose to understand

Understanding the problem used to be required before you could implement it. Now it is optional. Choose deliberately.

Building the Bot

Start simple: GitHub Actions workflow for Claude review

Start with a plain GitHub/GitLab Actions workflow. An explicit trigger, a narrow tool allow-list, one review comment.

Start simple: everything else is a webhook

Slack, Jira, and Sentry don’t run your Actions. A tiny web app turns their webhooks into workflow_dispatch. Keep the bot stateless and let concurrency serialise the clashes.

Bot Working with the Team

Don't overwhelm your team: runs on vs stays quiet on

Run on explicit triggers – a mention, an assigned issue, a bug for triage. Stay quiet on everything else. Fire on every event and the team learns to ignore it.

Fewer, plainer words: before and after

Five hedged lines versus two plain ones. Tune every prompt for brevity. ASD-STE100 Simplified Technical English is a good rulebook.

The team owns the bot

The team changes the prompts and flows. One detailed prompt per trigger. Every run is linked to real work.

Bot is not your puppy

Don’t anthropomorphise it. Not Dave, but NibblerBot. Give it a human name and blame will find it. Blame is not accountability.

Where is context? Yours vs the bot's

Your context already lives in RFCs, tickets, docs, Slack, and people’s heads. Don’t let the bot grow its own opaque memory layer. Make it participate in the knowledge humans already keep.

Writing in the age of AI

The exoskeleton writer thinks, sweats, and writes. The R.U.R. writer prompts, pastes, and forwards. Don’t be a meat proxy.

Going Proactive (≠ Unprompted)

Lift the codebase bit by bit: prompt excerpt

A scheduled prompt that proposes a single incremental improvement against the coding handbook. Small, reviewable steps. No sweeping AI refactors.

Automatic documentation update: prompt excerpt

A daily run that keeps docs, AGENTS.md, and bot prompts in sync with the last 24 hours of commits and tickets. At most one PR.

Other ideas

More jobs for the bot: release notes, cross-channel issue spotting, QA for tagged tasks, a code archaeologist, and Slack thread to ADR.

Harden the Bot Infrastructure

No keys inside the sandbox: bot, egress proxy, sidecars

The bot runs in a microVM with no credentials and no network. Egress goes through a filtering proxy. Services are reached only through sidecars that hold the tokens. The exoskeleton has guards on the pinch points.

Closing quote by Karel Čapek

Čapek, 1923: “as the author I was much more interested in men than in Robots.” So am I.

Author's bio

Ing. Antonín Král, Ph.D.

Citation

For attribution, please cite this work as

Antonín Král (2026). Exoskeleton vs R.U.R.. bobek.cz. https://www.bobek.cz/exoskeleton-vs-rur/

BibTeX citation

@misc{
  title = "Exoskeleton vs R.U.R.",
  author = "Antonín Král",
  year = "2026",
  journal = "bobek.cz",
  note = "https://www.bobek.cz/exoskeleton-vs-rur/"
}