Inside Shippy: How an Ocean-Monitoring AI Agent Was Built to Be Trusted, Not Just Smart
The team behind Skylight's maritime AI explains why reliability, not raw intelligence, was the hardest engineering problem they faced.

Key points
- Shippy is an AI agent, software that carries out multi-step tasks autonomously, built to help maritime analysts track illegal fishing and vessel activity in real time.
- Shippy runs on Claude Opus 4.6, a large language model made by Anthropic.
- Every user gets their own isolated session: no data from a fisheries officer in the Philippines ever touches data belonging to another agency.
- The team built a custom command-line tool to stop the AI from making subtle errors when pulling live data from satellites and vessel signals.
- Skylight serves hundreds of government agencies and NGOs across more than 70 countries.
If a patrol vessel gets sent the wrong way because an AI gave a bad answer, real people in dangerous jobs bear the cost. That single fact shaped every design decision behind Shippy, the AI assistant built into Skylight, a platform for tracking ships at sea.
The team published a detailed breakdown of their approach on Hugging Face. What they describe is less a story about a clever AI and more a story about building guardrails around one. When we first covered Skylight on 15 July, the question of how to verify an agent's outputs was already live; now there's an architecture answer.
What actually stops an AI agent from getting things wrong?
Layers. Not a smarter model, but a series of predictable, testable steps that narrow what the AI can mess up at each stage.
Shippy is built around three concepts: soul, skills, config. The soul is a set of written instructions baked into the system telling Shippy what it is and what it won't do. It won't decide whether a vessel is breaking the law. Those limits are written explicitly in the system prompt rather than buried in fine-tuning, which means a human can read and audit them.
Skills are separate instruction files handling specific tasks: looking up a vessel's position, finding a country's Exclusive Economic Zone (the sea area where a nation controls fishing), or generating a map link so an analyst can verify the answer themselves. A single question can pull from several skills at once.
Config covers practical settings like which AI model to use. Swapping to a different model is a one-line change, not a rebuild.
Why did the team build its own command-line tool?
The trickiest part was data. Skylight's API, the connection point between Shippy and live satellite feeds, handles dozens of input types and delivers results in paginated chunks rather than all at once. Early versions of Shippy built its own data requests from scratch. They looked correct but weren't: records went missing, location data came back garbled, filters were misread.
The fix was a custom command-line tool called the Skylight CLI. Shippy issues one simple command and the CLI handles authentication, pagination and structured output underneath. Each layer can be tested independently. If something breaks, engineers know exactly where to look. The CLI also writes results to a local file rather than streaming them through the shell, which prevents large data sets from crashing downstream tools.
Should every AI tool handling sensitive data work this way?
Isolation matters as much as accuracy. When a fisheries officer logs in, their data and conversation history must stay invisible to every other user. The team built a hosting system called Mothership that spins up a fresh, contained environment for every single user session and discards it when the conversation ends.
For anyone outside government work, here's the practical read: explicit limits, independently testable components, and strict data separation are the architecture of trustworthy AI, not optional polish. The Skylight team didn't discover that by theorising. They found it by watching a smarter model quietly return wrong answers.



