adapt-toolkit

Ours Fleet — AI skill for Claude Code

AI community

Run a fleet of persistent, identity-bound AI agents across harnesses (Claude Code first, more coming).

How to install Ours Fleet

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

What Ours Fleet does

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.

Alternatives in AI

  • Osaurus — Own your AI. The native macOS harness for AI agents -- any model, persistent memory, autonomous execution, cry 5.1k ★
  • Phantom — An AI co-worker with its own computer 1.3k ★
  • Snip — CLI proxy that reduces LLM token usage by 60-90% 425 ★

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