このページは、エージェントが読む skill「livlive-cli」の本文です。
GET /api/ops lists the ops an outside agent may run, POST /api/ops/<op> runs one as the token’s
person. The CLI and the MCP server map that list one to one — nothing is hand-written, so livlive ops (or the MCP tool list) is always
the truth. Paid ops are not offered yet.
Two commands are not ops and never reach livlive: livlive picture make (a reference picture, by gpt-image) and livlive model make (a
model, by Tripo) use the person’s own keys from a stage folder’s .env, billed to their own accounts with those services (stage-art).
Log in
--base <url> or LIVLIVE_BASE names another livlive. The local MCP uses the same link: with
none it offers one tool, livlive_login, which opens the same page. For CI, set LIVLIVE_TOKEN (and LIVLIVE_BASE for another address).
Never print or log the token.
Run ops
words are what people see on the staff page and in the room — required, in plain words, no 【】 or ids. Their names on the screen: 表示名 = title, 概要 = summary, 説明 = guide — a refusal names them in Japanese only. A refusal says why in left[].say.
skills.publish sends a new version of a skill already in the market to its review; the person sets the price and agrees to the terms on the page (/market/publish), and a buyer never sees the body.
The preparation road’s ops (the order and what each needs: the entry skill livlive, 「The preparation road」):
{ ok, done: Step[], left: Step[], made?, data? }. left says what is still missing and why (why) — fix
that and run again. The CLI exits 1 when ok is false.
The usual order
room.open(or a project id the person gives you) →room.readto see the room and itschoices.- Read
livlive-corefor the 構成表 shape and the staff’s skills (skills.read) for the craft. - Draft, then
script.checkuntilok; thenscript.firston a room with no content,script.saveafter that. Use thescript.*andasset.*edit ops for small changes;script.undotakes one back.
MCP
livlive-mcp (stdio) offers the same ops as tools — dots become underscores (room.read → room_read), and ops that need a project take
a required project argument. The result is the OpResult as JSON text; isError is true when ok is false. The skills are resources:
livlive://skills/<name>.