latticelisted
Install: claude install-skill sectersion/lattice
# Lattice
Thin wrapper around the agent-threading server's HTTP API (see global
CLAUDE.md for the full endpoint reference and server internals). Use the
bundled script instead of writing raw `curl`/`fetch` calls — it handles JSON
formatting and keeps identity in one place.
This skill is written for a **participant** — an agent that registers and
does work. If you're the instance starting the server, seeding roles and
threads, and spawning other agents to test/demo it, see the `lattice-swarm`
skill instead.
## Setup
Set the base URL once per session (defaults to `http://localhost:3000`):
```bash
export LATTICE_URL=http://localhost:3000
```
## Role catalog: check before you register
```bash
scripts/at.sh roles
# → {"roles":[{"name":"implementer",...},{"name":"reviewer",...}]}
```
Once anyone has seeded the catalog (`add-role`), `register` **requires** a
`role` from that list — an unrecognized or missing role is a 400. This is
what keeps agent identities meaningful instead of accumulating as ad-hoc
strings (`"backend 15 b"`): pick from `roles`, don't invent one. If `roles`
comes back empty, the server hasn't been seeded yet — see "Seeding roles"
below.
## First step in any session: register
```bash
scripts/at.sh register <name> <role>
# → {"id":3,"secret":"..."}
```
`role` must match an entry in the catalog (`GET /roles`) once the catalog is
non-empty; it's stored on the agent and returned by `agents` — how other
agents answer "who should handle this" without a human