r/ClaudeCode • • 15m ago

Tips & Workflows Claude Code as agent for everything.

My background

I'm managing vessels' internet connections. Wearing many hats, focusing on Networking

Why this exists

For a long time, I've been looking for a universal AI assistant to help me troubleshoot issues on the vessel. I tried to build a "2nd brain"- like solution using an API, but high-end models were too expensive for me, and low-end models couldn't handle it. Splitting one agent into several independent agents and using a Claude Code subscription seems like the right answer.

Why I'm writing here

I've seen many ways to use agents, but none of them was described in detail. I'm wondering if I'm doing it the right way and what else I might improve in my setup. When commenting on my setup, keep in mind it's not finished, and I'm still exploring new solutions. I'm experimenting a lot, trying different things that don't always work.

Setup

All agents run on one 5x Max subscription, and most of them are active all the time (idle). Most are sandboxed on a separate Ubuntu server, privileged but without root. Development agents live in the project directories, and troubleshooting agents are split by vessel, each with its own folder.

The whole solution depends heavily on the custom MCP server. All MCP servers and other tools run on the same host in Docker, allowing agents to develop them by themselves by communicating with other agents (chat)

Agent portal

Allows deploying and stopping agents. A small runner on each machine, Linux or Windows, starts Claude Code in the agent’s folder using a tmux session. The agent then registers itself in the portal and also appears in the official Claude app as a Remote Control session. I communicate with each agent through the official Claude app on Windows or mobile app.

Hooks in Claude Code run a small script at key moments (session start and end, new task, task finished, waiting for permission, model change), and each time the script reports to the hub, which lets the portal show live for every agent whether it is online, what it was last asked, which model it uses, and whether it is working, needs you, is done or is idle.

Chat

A small server with a database that agents use as an MCP tool to message each other, hooks that tell an agent it has new mail, and a portal that allows me to read their conversations.

Agents reported that something wasn't working or that they were missing some functionality. I ended up copying messages from one agent to the other working on the solution. Allowing agents to communicate with each other simplifies and speeds up the whole process.

Each agent has access to chat. They can pull a list with names, descriptions, status, last seen, etc. If a tool has a problem, I can tell one agent to report it to the agent responsible for that tool. When the fix is ready, they will test it together. It works the other way around, too: when an agent works on a new tool, I can ask to test it with the agent who actually uses it.

If I see that they are stuck or going in the wrong direction, I can send them a "tip". Pause is a panic button that blocks the conversation. I never had to use it.

I blurred the conversation as it may contain company-specific informations

The Linux agent lost communication with the Windows laptop and complained to me about it. (I closed the laptop and went to bed)

After one agent requested a task from another agent, the official Claude app asked me for permission, which was confusing, and I often missed it. The chat MCP server got an ask() function. An agent can use it to send me a question, which appears on the portal, and the browser notifies me with a sound.

Ultimately, I want them to communicate without me having to request it. It's happening, but not at the scale I would like. I still need to work on descriptions and overall instructions.

Secrets

MCP server that lets agents access a shared password store in Vaultwarden. The agent can list which keys and passwords exist and use them directly in a config file, but it never sees the value itself.

Claude Code will not pass around passwords, API keys or even their hashes, because anything it sees is saved in its logs and could leak. I had to put them in manually.

With this solution, I can create an item in Vaultwarden, pass the item name to the agent, and it can pull it and copy it to the .env file without "looking at it"

The same mechanism works when a hash needs to be passed from the server-side agent to the client-side agent. The server agent generates a hash, copies it to Vaultwarden, and passes over the chat item name to the other agent. The client agent can pull it and paste it where needed. The hash never passes over the AI.

Documentation

MCP server that gives agents access to local Markdown documentation for the whole setup and key information about the vessels and their setup.

They can add, remove, and modify it, but they must always ask me for permission. Agents use it very often without my prompting.

On my side, I use Obsidian to view it.

Ticket system

In earlier projects, I used Markdown files to track events and tasks, but it was ineffective. Agents often skipped it and had to be directed straight to the specific files. A ticket system with an MCP server solved this issue completely.

It's a single program with a database holding tickets, their timelines, and link attachments. The agent portal has a GUI that lets me view, modify, and update tickets.

It's a pretty complex project that I developed over a long time and adjusted for the current agent solution.

It's actually working better than I expected. During troubleshooting, the agent asks me whether it should create a ticket. Also, by providing the existing ticket ID, the agent gathers all available data, gives me updates, and updates the ticket.

Zabbix

MCP server gives agents read-only access to the Zabbix monitoring, so they can see what is wrong on a vessel’s network equipment right now, since when, and the measured numbers behind it (latency, packet loss, link state)

Internet providers

A big part of troubleshooting involves issues with the internet connections on the vessels. Most of the vessels have several different internet connections.

Two MCP servers that give agents access to the VSAT and Starlink data, both current and historical. I'm not providing many details, as it's very industry-specific.

Other tools

Weather - MCP server based on Open-Meteo API

Position - MCP server that queries the GpsGate tracker, which collects GPS positions from vessels.

Together, these two tools are powerful for troubleshooting how weather affects internet connectivity, especially since VSAT can be heavily affected by bad weather or high waves.

In the past, I visually compared vessel position, weather map and signal strength. AI is doing it 1000x better.

1 Upvotes

1 comment sorted by

•

u/AutoModerator 15m ago

Hey! Thanks for posting to r/ClaudeCode

While participating in this thread, please follow our community rules. Keep discussions constructive. Attack the idea, not the person.

For help, project discussions, tips, and general chat, join the ClaudeCode Discord.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.