Skills

Claims are cheap, so each skill here links to the projects and posts behind it. Then a live agent run, how the stack changed over eight years, and the defaults I reach for and why.

Proof, not claims

Pick a skill. The bar under each one shows how much public evidence there is.

Watch an agent run

An invoice-approval agent, streamed as the same kinds of events AG-UI defines. It stops and asks before it acts.

Simulated run · AG-UI event vocabulary · no backend
Event stream

Press run. Each line is one typed event arriving over the stream.

Shared state (JSON Patch applied)
{}
What the user sees

The agent’s tool calls, message and an approval card will appear here.

How the protocol works: AG-UI and A2UI.

Try an eval gate

Ten generated outputs, some broken. Switch the checks on and see what each layer catches, and what it blocks by mistake.

  • shipsMaps signup to "User Registered" and forwards itgood
  • shipsDrops events with no userId, keeps the restgood
  • shipsMissing closing brace, will not compilebad
  • shipsCalls a helper that does not exist in the runtimebad
  • shipsCorrect, but 400 lines for a three-line jobbad
  • shipsCompiles, but reverses the filter conditionbad
  • shipsCompiles and reads well, but drops every second eventbad
  • shipsPlain and correct, and the judge is merely lukewarmgood
  • shipsRenames fields exactly as asked, with a clear commentgood
  • shipsUses a sandboxed Node API the runtime has blockedbad
6
bad outputs shipped
0 of 6 bad outputs caught
0
good outputs blocked
The cost of a strict bar.

No gate: everything ships. This is how most prompt changes go out.

How I structure evals →

Illustrative sample of ten outputs, not production data.

How the stack changed

One row per job. Bright tools showed up for the first time; dim ones carried forward.

2017
Crawl
Learning to move data at scale
SKU Monetate6 new
PythonScrapyAWSKafkaGraphQLRedis
2019
Integrate
Connecting systems and automating the manual
Itilite Technologies3 new
PythonFlaskMySQLReact
2020
Scale
Platforms, cost and throughput
Zivame5 new
JavaSpring BootKafkaSolrDockerKubernetesAWS
2022
Ship AI
Agents, retrieval and evals for real customers
Twilio · Segment R&D8 new
GolangTypeScriptReactLangGraphRAGEvalsOpenAISageMakerKafkaFastAPI

first time in the stack carried forward

What I reach for, and why

Defaults earned the hard way. Each links to the write-up.

Automation touches money
Evidence on every value and a human approval

A reconciliation you cannot audit is a liability. Show the exception list, not the whole pile.

The favour that became a revenue line

The agent protocol stack

Four layers have settled. The demo above sits on the third.

MCP
Agent to tool

How an agent calls things in the world.

A2A
Agent to agent

How agents delegate work to each other.

AG-UI
Agent to user

A typed event stream from a run to the client.

A2UI
What the user sees

UI described as data, rendered with trusted components.