developers

One line to install. Plain text everywhere else.

sleds is a CLI on your laptop, a status line and a skill in your agent, six lines in a PR body, and an MCP server. Everything it writes is text you can read in the tool that already shows it. Nothing to host unless your review wants the proxy at home.

$curl -fsSL sleds.ai/install | sh
mac · linux · claude code · codex cli · cursor · cmux · orca
1 linecurl -fsSL sleds.ai/install | sh. sleds uninstall is the line out.
6 linesThe SLEDS-* lines a PR body can carry. The record's wire format is a text file.
12 MCP toolsOne help that lists them, generated from the same file as the CLI and the app.
installthe laptop · as you · two minutes

Install, init, doctor.

The installer puts sleds on your path. sleds init finds your handles — git email, GitHub login, the agent's account — and asks you to accept them, backs up your agent settings once, points the agent at your seat, and installs the status line, the /sled skill and the hooks. sleds doctor says what is wired, including your cockpit. sleds off returns the agent to your seat directly; sleds uninstall removes every trace.

terminal · macOS · linux
$ curl -fsSL sleds.ai/install | sh
$ sleds init
  git email      jake@example.com     [enter]
  github         jakek                [enter]
  agent          claude code · jake@  [enter]
  seat           workspace acme · token saved (0600)
  installed status line · /sled skill · hooks
$ sleds doctor
  proxy    ok · 41 ms
  seat     fable weekly 62% · resets thu 9:00
  cockpit  cmux (workspace acme)
  tracker  linear · connected by the workspace
the cli and the skillsame verbs · three surfaces

Same verbs in the terminal, in Claude Code, and in the conversation.

verbterminalclaude codewhat it does
intake/sled intakeThe questions, the brief, the row. From the conversation, the connector runs the same tool.
estimatesleds spec-event on save/sled estimate [file]A band, a fit, a confidence, a cap. Recorded; the actual closes it.
statussleds statusthe status lineBars, credits, the binding reset, what is queued.
jobs · handoffssleds handoffs/sled jobsOvernight jobs and the team's open hand-offs, yours first.
handoffsleds handoff/sled handoff · the wallPark a brief for a teammate or buddy, with the snapshot.
pickupsleds pickup <id>/sled pickup <id>Continue a parked task or walled session on your seat.
withdrawsleds withdraw <id>Take back a hand-off nobody picked up.
defersleds defer [+2h | iso]the wall · hold until resetThe musher resumes the session at the reset. No key needed.
overnight · resume/sled overnight · /sled resume <id>Sized, capped, batch tier; the delivered result pulled back in.
verifysleds verify <jobId | attest line>Ed25519 against the workspace's public key, locally.
helpsleds help [word]The whole table, filtered. One file feeds chat, terminal and app.
off · uninstallsleds off · sleds uninstallBack to your seat directly; or remove hooks, status line, token, skill, musher.
the pr bodythe record's wire format is a text file

Six lines. Written by the record, readable by anyone.

The record's protocol is lines in a PR body. The estimator posts the band on open; you or your agent add a Worth: line and a SLEDS-Source: line; the workflow posts the actual on merge and the record closes the estimate and the ticket's row. The parser is tolerant of every shape the lines have ever taken, and a workflow backfills merged PRs.

Seat work carries minutes, model and seat credits; key work carries dollars. The rails stay named apart here too.

pull request · body · markdown
SLEDS-Source:    ENG-482 · docs/specs/sso-redirect.md §3
Worth:           high · $5k–20k · Acme renewal
SLEDS-Estimate:  $4–11 · 20–55 min · Fable fits · 81% · cap $20
SLEDS-Seat:      now · Fable · jake@ · seat quota
SLEDS-Actual:    34 min · model fable-5.1 · seatCreditsUsd 7
SLEDS-Attest:    ed25519:MEUCIQ… · 2026-09-11T14:02Z · verified
the mcp servermcp.sleds.ai/mcp · oauth

Twelve tools. One help that will not let them drift.

Add https://mcp.sleds.ai/mcp as a connector in Claude, ChatGPT, Cowork or Claude Design and sign in with your workspace account. Your seat is the account you signed in with. The tool list is generated from the same file as sleds help and the app's Help page; a test fails if a tool has no verb or a verb names a tool that does not exist.

The server's instructions, the tool descriptions and the per-workspace question set are how the person's own AI runs intake under our rules. The brief is a schema; worth is marked by who said it; nothing is written before "yes".

toolkindtoolkind
intakewriteusageread
estimatewritejobsread
handoffwritehandoffsread
pickupwritewithdrawwrite
deferwriteovernightwrite
actualwritebuddyread · write
helpread
hooks, the status line, the cockpitwhat init writes
Status line

One line under the prompt: ⛷ fable 62% · resets thu 9:00 · $38 allowance. Amber at 90%. Red at the wall, with the exits.

Prompt hook

At 100% the session is snapshotted and the exits are printed inside the session. /sled 1–6 answers them. Nothing else in your settings changes.

Cockpit

cmux and Orca: the seat line per pane, a ring at the wall, the sidebar block. doctor names the cockpit it found.

The musher

A launchd job that resumes at the reset. Runs your own agent headless for defer and overnight. Installed by init, removed by uninstall.

the proxyself-host when the review says so

A small service on your keys, in your region.

The proxy streams requests to the seat's platform and back and keeps the numbers. Enterprise workspaces run it themselves; the control plane sees only what the record needs. Receipt keys are the workspace's, and sleds verify checks them without asking us. What leaves the laptop →

Runtime

Bun. One container. Fly, your Kubernetes, or a VM.

Config

Platform keys from your vault; the workspace token; the allowed origins.

Egress

The seat platforms and the control plane. Nothing else.

Logs

Tokens, model, cost, when, the decision. No bodies.

Free for one engineer.
Forever.

$curl -fsSL sleds.ai/install | sh
claude code · codex cli · cursor · cmux · orca · pricing →