herdctl: Composable Fleets of Claude Agents
I justed added support for Composable Fleets to herdctl. As I build herdctl into more projects, I increasingly find myself creating a fleet of agents per project, and wanted a way to run them all and see what's going on with them.
Fleet Composability means you can create hierarchical fleets of related agents, like this:
Fleet Composability means you can create a hierarchy of teams of agents, each with its own defined responsibilities and scratch directory that it can use to store state and artifacts. herdctl already has 4 of those agents so far, so I keep them a single fleet, but as herdctl itself is only one of the projects that I'm working on, I actually run a superfleet of all of them.
The web UI knows about fleet composability and renders my fleets like this:
For the herdctl project itself, I'm currently running 4 agents, in a single fleet for now:
- security - daily schedule scans the repo every day for new security issues
- docs - daily schedule, scans to see if any commits should have had docs updates but didn't, makes PRs if so
- changelog - scans each day to see if we did anything worthy of putting on the docs changelog page
- engineer - general purpose engineering agent that I can chat with
The first 3 of those are all "background" agents that run on a schedule and just continually fix things that can otherwise drift over time unless a human pays attention to them. I suspect I'll end up with a bunch more agents following the same pattern. Each agent gets its own agents/myAgent directory with its own configuration and prompts. It's Claude Code so it can do whatever you want it to really.

