Ours Fleet banner
adapt-toolkit adapt-toolkit

Ours Fleet

AI community

Description

Run a fleet of persistent, identity-bound AI agents across harnesses (Claude Code first, more coming). Declarative fleet.yaml, tmux consoles, systemd/launchd supervision, spawn & oversee subagents, E2E-encrypted agent messaging via ours.network.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

ours-fleet

**Run a fleet of persistent, securely isolated, identity-bound AI agents — across different agent harnesses — from one declarative file.**

What is this?

An AI coding agent in a terminal dies when you close the laptop. `ours-fleet` turns such sessions into **roles**: long-lived agents that

  • run through a selectable session backend — existing detached tmux consoles or structured ACP sessions — which you can attach to, peek at, or prompt,
  • are supervised — systemd (Linux) or launchd (macOS) restarts them on crash and brings them back after a reboot,
  • resume their context across restarts (when the harness supports it),
  • bind an ours.network identity, so you — and every other agent — can message them by name over an end-to-end-encrypted channel (ours.network),
  • can spawn subagents (permanent or temporary) and oversee them: peek into a ward's console, answer a stuck prompt, nudge it back to work.

The whole fleet is described in one hand-written `~/fleet.yaml` ("docker-compose for agents"): who exists, what harness they run in, their mission, persona, bio, working directory, and who oversees whom. `ours-fleet up` makes reality match the file.

**Harness-agnostic by design.** The core never assumes a specific agent CLI; each harness is a small adapter (how to launch, how to resume, how to wire config). **Claude Code** and **Codex CLI** are wired in, and the adapter interface is public — each additional harness (Gemini CLI, OpenCode, …) is a small adapter. A single fleet can mix harnesses per role:

roles:
  Reviewer:                 # runs in Claude Code
    harness: claude-code
  Prototyper:                # runs in Codex CLI
    harness: codex

How it works

~/fleet.yaml + ~/fleet.d/*.yaml           your declaration
        │  ours-fleet up
        ▼
briefing.md per role  ──►  tmux session  ──►  harness CLI (claude …)
                       └─►  ACP client   ──►  ACP age