Skip to main content
Draft or edit an agent spec in conversation with Joyvis. Exiting the chat leaves your spec a draft. Committing is the separate jstm agent plan done command.

Forms

You must choose exactly one form — --new or an id.
Start a new session instead of resuming one.
Create the draft non-interactively and print its reserved identity as JSON, without opening the chat. Prints {agent_id, handle, session_id}.

Requirements

The chat requires an interactive terminal. In a pipe, a CI job, or with captured output, it exits with jstm agent plan requires an interactive terminal. There is no line-mode fallback. Use --json when you need to create a draft from a script.

Keys

Typing done, quit, exit, or save as a whole message also exits, case-insensitively. An empty message does nothing. Typing / at the start of the input, or after a space, opens a picker over the skills catalog. Selecting an entry inserts Use the <name> skill. Typing /help shows the key bindings without sending a turn.

Exiting and committing

Every exit path leaves the spec a draft. On exit:
If no session was created before you exit, you see No session was created — nothing to commit.

jstm agent plan done

Commit the draft: save, promote, then render the resulting tree.
Emit the result as JSON.

jstm agent plan list

List your builder sessions, newest first. Use this when a closed terminal took the session id with it.

jstm agent plan discard

Delete a draft session and its messages. The inverse of plan done.

jstm agent plan discard-all

Bulk-delete every draft session belonging to you.
This deletes all your draft chats and their messages. Pinned sessions are spared unless you pass --include-pinned.

Exit codes

See also