@gobi-ai/cli 2.0.4 → 2.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,20 +1,20 @@
1
1
  ---
2
2
  name: gobi-core
3
3
  description: >-
4
- Core Gobi CLI: authentication (login/logout/status), vault initialization
5
- (gobi init), space selection (gobi space warp/list), CLI updates (gobi
6
- update), and session management (list/get/reply to conversations). Use when
7
- the user needs to set up Gobi, authenticate, manage sessions, or update the
8
- CLI. File sync is in the gobi-vault skill.
4
+ Core Gobi CLI: authentication (login/logout/status), space selection (gobi
5
+ space warp/list), CLI updates (gobi update), and session management
6
+ (list/get/reply to conversations). Use when the user needs to authenticate,
7
+ manage sessions, or update the CLI. Vault setup is in the gobi-vault skill;
8
+ file sync is also in gobi-vault.
9
9
  allowed-tools: Bash(gobi:*)
10
10
  metadata:
11
11
  author: gobi-ai
12
- version: "2.0.0"
12
+ version: "2.0.6"
13
13
  ---
14
14
 
15
15
  # gobi-core
16
16
 
17
- Core CLI commands for the Gobi collaborative knowledge platform (v2.0.0).
17
+ Core CLI commands for the Gobi collaborative knowledge platform (v2.0.6).
18
18
 
19
19
  ## Prerequisites
20
20
 
@@ -44,43 +44,24 @@ brew tap gobi-ai/tap && brew install gobi
44
44
  - **Space**: A shared community knowledge area. A user can be a member of one or more spaces; each space contains posts, replies, sessions, and connected vaults.
45
45
  - **Draft**: A unit of standing guidance authored by an agent during chat. Each draft carries 0–3 AI-suggested actions the user picks from. The top 5 pending drafts feed the agent's system prompt every turn.
46
46
 
47
- ## First-Time Setup
47
+ ## Setup steps (run only what you need)
48
48
 
49
- The CLI requires three setup steps: authentication, vault initialization, and space selection.
49
+ There is **no `gobi init`** command — each setup step is its own command, and you only run the ones the workflow demands.
50
50
 
51
- ### Step 1: Initialize (Login + Vault)
51
+ | Step | Command | Unlocks |
52
+ |------|---------|---------|
53
+ | 1. Log in | `gobi auth login` | All authenticated commands |
54
+ | 2. Configure a vault for this directory | `gobi vault init` | Every `gobi vault …` command + lets `global create-post` default to this vault |
55
+ | 3. Pick an active space for this directory | `gobi space warp` | Every `gobi space …` post/reply/feed command without needing `--space-slug` |
52
56
 
53
- ```bash
54
- gobi init
55
- ```
56
-
57
- This is an **interactive** command that:
58
- 1. Logs in automatically if not already authenticated (opens a browser URL for Google OAuth)
59
- 2. Prompts the user to select an existing vault or create a new one
60
- 3. Writes `.gobi/settings.yaml` in the current directory with the chosen vault slug
61
- 4. Creates a `PUBLISH.md` file if one doesn't exist
62
-
63
- ### Step 2: Select a Space
64
-
65
- ```bash
66
- gobi space warp
67
- ```
68
-
69
- This is an **interactive** command that prompts the user to select a space from their available spaces, then saves it to `.gobi/settings.yaml`.
57
+ After step 2 + step 3, `.gobi/settings.yaml` looks like:
70
58
 
71
- After both steps, `.gobi/settings.yaml` will contain:
72
59
  ```yaml
73
60
  vaultSlug: brave-path-zr962w
74
61
  selectedSpaceSlug: cmds
75
62
  ```
76
63
 
77
- ### Standalone Login
78
-
79
- If the user only needs to log in (without vault setup):
80
-
81
- ```bash
82
- gobi auth login
83
- ```
64
+ `gobi vault init` and `gobi space warp` are both **interactive** — they prompt the user, so an agent can't run them silently. Send the user the command and let them complete the prompt.
84
65
 
85
66
  Check auth status anytime:
86
67
 
@@ -88,7 +69,24 @@ Check auth status anytime:
88
69
  gobi auth status
89
70
  ```
90
71
 
91
- **Important for agents**: Before running any `space` command, check whether `.gobi/settings.yaml` exists in the current directory with both `vaultSlug` and `selectedSpaceSlug`. If the vault is missing, guide the user through `gobi init`. If only the space is missing, guide the user through `gobi space warp`. These commands require user input (interactive prompts), so the agent cannot run them silently. For one-off calls, every command also accepts an explicit `--vault-slug` / `--space-slug` override.
72
+ ## Pre-reqs by command family
73
+
74
+ | Command family | Needs vault in `.gobi`? | Needs space in `.gobi`? | Per-call override |
75
+ |----------------|------------------------|------------------------|-------------------|
76
+ | `auth …`, `update`, `session …`, `saved …`, `draft …`, `media …`, `sense …` | no | no | – |
77
+ | `vault publish` / `unpublish` / `sync` | **yes** | no | none — must run `gobi vault init` first |
78
+ | `vault init` | no (it sets it up) | no | – |
79
+ | `space list` / `warp [slug]` / `get [slug]` | no | no | – |
80
+ | `space list-topics` / `feed` / `list-posts` / `get-post` / `create-post` / `edit-post` / `delete-post` / `create-reply` / `edit-reply` / `delete-reply` / `list-topic-posts` | no | **yes** | parent `--space-slug <slug>` |
81
+ | `global feed` / `list-posts` / `get-post` / `delete-post` / `create-reply` / `edit-reply` / `delete-reply` | no | no | – |
82
+ | `global create-post` | optional¹ | no | command-level `--vault-slug <slug>` |
83
+ | `global edit-post` | optional² | no | command-level `--vault-slug <slug>` |
84
+
85
+ ¹ `global create-post` accepts `--vault-slug` and `--auto-attachments`, both optional. With neither flag and no `vaultSlug` in `.gobi`, the post is created with no `authorVaultSlug` (vault-less personal post) — same as a Space post that isn't attributed to any vault. Set `--vault-slug` (or have `vaultSlug` in `.gobi` plus pass `--auto-attachments`) to attribute it.
86
+
87
+ ² `global edit-post` only consults `--vault-slug` when you pass it explicitly. Use `--vault-slug ""` to detach an existing attribution; non-empty re-attaches.
88
+
89
+ When a command needs vault or space and neither `.gobi` nor an override flag provides it, the CLI prints a one-line warning before the command runs (e.g. `Vault not set. Run 'gobi vault init' first, or pass --vault-slug.`). The warning is suppressed under `--json`.
92
90
 
93
91
  ## Important: JSON Mode
94
92
 
@@ -106,29 +104,27 @@ JSON responses have the shape `{ "success": true, "data": ... }` on success or `
106
104
  - `gobi auth login` — Log in to Gobi. Opens a browser URL for Google OAuth, then polls until authentication is complete.
107
105
  - `gobi auth status` — Check whether you are currently authenticated with Gobi.
108
106
  - `gobi auth logout` — Log out of Gobi and remove stored credentials.
109
- - `gobi init` — Log in (if needed) and select or create the vault for the current directory.
110
107
  - `gobi space list` — List spaces you are a member of.
111
108
  - `gobi space warp` — Select the active space. Pass a slug to warp directly, or omit for interactive selection.
112
109
  - `gobi session` — Session commands (get, list, reply).
113
110
  - `gobi session get` — Get a session and its messages (paginated).
114
111
  - `gobi session list` — List all sessions you are part of, sorted by most recent activity.
115
- - `gobi session reply` — Send a human reply to a session you are a member of.
112
+ - `gobi session create-reply` — Send a human reply to a session you are a member of.
116
113
  - `gobi update` — Update gobi-cli to the latest version.
117
114
 
118
- > File sync (`gobi vault sync`) lives in the **gobi-vault** skill.
115
+ > Vault setup (`gobi vault init`) and file sync (`gobi vault sync`) live in the **gobi-vault** skill.
119
116
 
120
117
  ## Confirm before mutating
121
118
 
122
- `gobi session reply` posts a human-attributed message into a chat session — the message becomes part of the user's permanent chat history and triggers the agent to respond. Before running it, confirm with the user — show the exact session id and the message text. This applies even when running autonomously.
119
+ `gobi session create-reply` posts a human-attributed message into a chat session — the message becomes part of the user's permanent chat history and triggers the agent to respond. Before running it, confirm with the user — show the exact session id and the message text. This applies even when running autonomously.
123
120
 
124
- `auth login` / `auth logout` and `init` are explicit user-driven commands; they prompt the user themselves and don't need an extra confirmation layer. `update` upgrades the CLI binary — fine to run without extra confirmation.
121
+ `auth login` / `auth logout` are explicit user-driven commands; they prompt the user themselves and don't need an extra confirmation layer. `update` upgrades the CLI binary — fine to run without extra confirmation.
125
122
 
126
123
  Read-only commands (`auth status`, `session list`, `session get`, `space list`) run without confirmation.
127
124
 
128
125
  ## Reference Documentation
129
126
 
130
127
  - [gobi auth](references/auth.md)
131
- - [gobi init](references/init.md)
132
128
  - [gobi session](references/session.md)
133
129
  - [gobi update](references/update.md)
134
130
  - [gobi space (list/warp)](references/space.md)
@@ -3,16 +3,16 @@
3
3
  ```
4
4
  Usage: gobi session [options] [command]
5
5
 
6
- Session commands (get, list, reply).
6
+ Session commands (get, list, create-reply).
7
7
 
8
8
  Options:
9
- -h, --help display help for command
9
+ -h, --help display help for command
10
10
 
11
11
  Commands:
12
- get [options] <sessionId> Get a session and its messages (paginated).
13
- list [options] List all sessions you are part of, sorted by most recent activity.
14
- reply [options] <sessionId> Send a human reply to a session you are a member of.
15
- help [command] display help for command
12
+ get [options] <sessionId> Get a session and its messages (paginated).
13
+ list [options] List all sessions you are part of, sorted by most recent activity.
14
+ create-reply [options] <sessionId> Send a human reply to a session you are a member of.
15
+ help [command] display help for command
16
16
  ```
17
17
 
18
18
  ## get
@@ -23,7 +23,7 @@ Usage: gobi session get [options] <sessionId>
23
23
  Get a session and its messages (paginated).
24
24
 
25
25
  Options:
26
- --limit <number> Messages per page (default: "20")
26
+ --limit <number> Items per page (default: "20")
27
27
  --cursor <string> Pagination cursor from previous response
28
28
  -h, --help display help for command
29
29
  ```
@@ -41,15 +41,15 @@ Options:
41
41
  -h, --help display help for command
42
42
  ```
43
43
 
44
- ## reply
44
+ ## create-reply
45
45
 
46
46
  ```
47
- Usage: gobi session reply [options] <sessionId>
47
+ Usage: gobi session create-reply [options] <sessionId>
48
48
 
49
49
  Send a human reply to a session you are a member of.
50
50
 
51
51
  Options:
52
- --content <content> Reply content (markdown supported)
52
+ --content <content> Reply content (markdown supported, use "-" for stdin)
53
53
  --rich-text <richText> Rich-text JSON array (e.g. [{"type":"text","text":"hello"}])
54
54
  -h, --help display help for command
55
55
  ```
@@ -6,12 +6,12 @@ Usage: gobi space [options] [command]
6
6
  Space commands (posts, replies). Space and member admin is web-UI only.
7
7
 
8
8
  Options:
9
- --space-slug <slug> Space slug (overrides .gobi/settings.yaml)
9
+ --space-slug <spaceSlug> Space slug (overrides .gobi/settings.yaml)
10
10
  -h, --help display help for command
11
11
 
12
12
  Commands:
13
13
  list List spaces you are a member of.
14
- get [spaceSlug] Get details for a space. Pass a slug or omit to use the current space (from .gobi/settings.yaml or --space-slug).
14
+ get [options] [spaceSlug] Get details for a space. Pass a slug or omit to use the current space (from .gobi/settings.yaml or --space-slug).
15
15
  warp [spaceSlug] Select the active space. Pass a slug to warp directly, or omit for interactive selection.
16
16
  list-topics [options] List topics in a space, ordered by most recent content linkage.
17
17
  list-topic-posts [options] <topicSlug> List posts tagged with a topic in a space (cursor-paginated).
@@ -19,11 +19,11 @@ Commands:
19
19
  get-post [options] <postId> Get a post with its ancestors and replies (paginated).
20
20
  list-posts [options] List posts in a space (paginated).
21
21
  create-post [options] Create a post in a space.
22
- edit-post [options] <postId> Edit a post. You must be the author.
23
- delete-post <postId> Delete a post. You must be the author.
22
+ edit-post [options] <postId> Edit a post you authored in a space.
23
+ delete-post [options] <postId> Delete a post you authored in a space.
24
24
  create-reply [options] <postId> Create a reply to a post in a space.
25
- edit-reply [options] <replyId> Edit a reply. You must be the author.
26
- delete-reply <replyId> Delete a reply. You must be the author.
25
+ edit-reply [options] <replyId> Edit a reply you authored in a space.
26
+ delete-reply [options] <replyId> Delete a reply you authored in a space.
27
27
  help [command] display help for command
28
28
  ```
29
29
 
@@ -10,12 +10,12 @@ description: >-
10
10
  allowed-tools: Bash(gobi:*)
11
11
  metadata:
12
12
  author: gobi-ai
13
- version: "2.0.0"
13
+ version: "2.0.6"
14
14
  ---
15
15
 
16
16
  # gobi-draft
17
17
 
18
- Gobi draft commands for managing agent-authored drafts (v2.0.0).
18
+ Gobi draft commands for managing agent-authored drafts (v2.0.6).
19
19
 
20
20
  Requires gobi-cli installed and authenticated. See gobi-core skill for setup.
21
21
 
@@ -28,7 +28,7 @@ A draft is a unit of standing guidance authored by an agent (in-process during c
28
28
  - **actions** — 0–3 AI-suggested actions. Each action is `{ label, message? }`:
29
29
  - `label` — short button text (1–80 chars) the user sees, e.g. `"Apply"`, `"Skip"`.
30
30
  - `message` — optional (≤2000 chars). What the user is taken to be saying to the agent when they click that button. Falls back to `label` when omitted. Use this whenever the click should send something more specific than the button text — e.g. label `"Punch it up"`, message `"Tighten the opening paragraph and shorten the CTA"`.
31
- - **sessionId** — required; the chat session that produced the draft
31
+ - **sessionId** — the chat session the draft is anchored to. Optional on create: when omitted, the server mints a fresh session anchored to the user's primary vault and seeds it with a tool-call entry representing the draft, so clicking an action later has somewhere to land.
32
32
  - **priority** — lower number = higher priority; default `100`
33
33
  - **status** — `pending` until the user picks an action, then `actioned`
34
34
  - **revision** — bumped each time the draft is revised
@@ -36,7 +36,7 @@ A draft is a unit of standing guidance authored by an agent (in-process during c
36
36
 
37
37
  The top 5 pending drafts (lowest priority first) are injected into the agent's system prompt every turn — that's how drafts turn into standing instructions.
38
38
 
39
- When invoked from inside an agent run, the runtime exports `GOBI_SESSION_ID` so `gobi draft add` picks it up automatically; otherwise pass `--session <uuid>`.
39
+ When invoked from inside the Gobi agent runtime, `GOBI_SESSION_ID` is exported and `gobi draft add` picks it up automatically. Outside that runtime (e.g. local Claude Code, ad-hoc shells), you can either pass `--session <uuid>` to anchor to an existing chat session, or omit it entirely — the server will mint a new session and seed it with the draft so the action click lands somewhere coherent.
40
40
 
41
41
  ## Lifecycle
42
42
 
@@ -10,9 +10,10 @@ Options:
10
10
 
11
11
  Commands:
12
12
  list [options] List drafts (priority ASC, then newest first).
13
- get <draftId> Show one draft with its history and suggested actions.
14
- add [options] <title> <content> Add a draft. Pass '-' for content to read from stdin. Pass --action up to 3 times to attach AI-suggested actions. Requires a chat session the agent runtime
15
- exports GOBI_SESSION_ID automatically; outside that, pass --session.
13
+ get <draftId> Get one draft with its history and suggested actions.
14
+ add [options] <title> <content> Add a draft. Pass '-' for content to read from stdin. Pass --action up to 3 times to attach AI-suggested actions. Session id is optional: the Gobi agent
15
+ runtime exports GOBI_SESSION_ID automatically and `--session` takes precedence; if neither is set, the server mints a new chat session anchored to your primary
16
+ vault and seeds it with the draft so clicking an action later has somewhere to land.
16
17
  delete <draftId> Delete a draft.
17
18
  prioritize <draftId> <priority> Set priority (lower = higher). Top 5 feed the system prompt.
18
19
  action <draftId> <actionIndex> Take one of the draft's suggested actions by 0-based index. Marks the draft 'actioned' and the client posts the synthesized message into the originating
@@ -30,7 +31,7 @@ Usage: gobi draft list [options]
30
31
  List drafts (priority ASC, then newest first).
31
32
 
32
33
  Options:
33
- --limit <number> Max drafts to return (1-200) (default: "50")
34
+ --limit <number> Items per page (default: "20")
34
35
  -h, --help display help for command
35
36
  ```
36
37
 
@@ -39,7 +40,7 @@ Options:
39
40
  ```
40
41
  Usage: gobi draft get [options] <draftId>
41
42
 
42
- Show one draft with its history and suggested actions.
43
+ Get one draft with its history and suggested actions.
43
44
 
44
45
  Options:
45
46
  -h, --help display help for command
@@ -50,11 +51,11 @@ Options:
50
51
  ```
51
52
  Usage: gobi draft add [options] <title> <content>
52
53
 
53
- Add a draft. Pass '-' for content to read from stdin. Pass --action up to 3 times to attach AI-suggested actions. Requires a chat session the agent runtime exports GOBI_SESSION_ID automatically;
54
- outside that, pass --session.
54
+ Add a draft. Pass '-' for content to read from stdin. Pass --action up to 3 times to attach AI-suggested actions. Session id is optional: the Gobi agent runtime exports GOBI_SESSION_ID automatically
55
+ and `--session` takes precedence; if neither is set, the server mints a new chat session anchored to your primary vault and seeds it with the draft so clicking an action later has somewhere to land.
55
56
 
56
57
  Options:
57
- --session <sessionId> Originating chat session UUID. Falls back to $GOBI_SESSION_ID when set.
58
+ --session <sessionId> Originating chat session UUID. Falls back to $GOBI_SESSION_ID; if unset, the server creates a new session.
58
59
  --priority <number> Priority (lower = higher), default 100
59
60
  --action <label[::message]> Suggested action (repeatable, max 3). `label` is the button text; an optional `::message` suffix is what the user is taken to be saying to the agent on click. Without
60
61
  the suffix, the message falls back to the label. (default: [])
@@ -10,12 +10,12 @@ description: >-
10
10
  allowed-tools: Bash(gobi:*)
11
11
  metadata:
12
12
  author: gobi-ai
13
- version: "2.0.0"
13
+ version: "2.0.6"
14
14
  ---
15
15
 
16
16
  # gobi-media
17
17
 
18
- Gobi media generation commands (v2.0.0).
18
+ Gobi media generation commands (v2.0.6).
19
19
 
20
20
  Requires gobi-cli installed and authenticated. See gobi-core skill for setup.
21
21
 
@@ -24,7 +24,7 @@ Requires gobi-cli installed and authenticated. See gobi-core skill for setup.
24
24
  For programmatic/agent usage, always pass `--json` as a **global** option (before the subcommand):
25
25
 
26
26
  ```bash
27
- gobi --json media image-generate --prompt "a sunset over mountains"
27
+ gobi --json media generate-image --prompt "a sunset over mountains"
28
28
  ```
29
29
 
30
30
  ## Typical Workflow (Image Generation)
@@ -32,7 +32,7 @@ gobi --json media image-generate --prompt "a sunset over mountains"
32
32
  Single command — generate and download in one step:
33
33
 
34
34
  ```bash
35
- gobi --json media image-generate --prompt "<PROMPT>" --aspect-ratio "<RATIO>" -o media/<NAME>.png
35
+ gobi --json media generate-image --prompt "<PROMPT>" --aspect-ratio "<RATIO>" -o media/<NAME>.png
36
36
  ```
37
37
 
38
38
  Replace `<NAME>` with a short descriptive slug derived from the prompt (e.g., `happy-family`, `sunset-mountains`).
@@ -52,25 +52,25 @@ Do NOT use markdown image syntax `![](...)` or `gobi://` URLs. Always use `![[me
52
52
  - Replace `<NAME>` with a descriptive slug — NEVER use example names like `sunset.png` literally.
53
53
  - `--name` is **optional** — auto-derived from prompt if omitted.
54
54
  - Do NOT use the `downloadUrl` from the response — it is a frontend path, not a direct download link.
55
- - `image-download` takes a **positional** jobId (NOT `--job-id`): `gobi media image-download <jobId>`
56
- - The `jobId` (or `id`) field is what you pass to `image-download` / `image-status` — NOT `mediaId`.
55
+ - `download-image` takes a **positional** jobId (NOT `--job-id`): `gobi media download-image <jobId>`
56
+ - The `jobId` (or `id`) field is what you pass to `download-image` / `get-image-status` — NOT `mediaId`.
57
57
 
58
58
  ## Typical Workflow (Video Generation)
59
59
 
60
60
  Single command — create and download in one step:
61
61
 
62
62
  ```bash
63
- gobi --json media video-create --avatar-id "<AVATAR_ID>" --voice-id "<VOICE_ID>" --script "<SCRIPT>" -o media/<NAME>.mp4
63
+ gobi --json media create-video --avatar-id "<AVATAR_ID>" --voice-id "<VOICE_ID>" --script "<SCRIPT>" -o media/<NAME>.mp4
64
64
  ```
65
65
 
66
- `--name` is optional (auto-generated if omitted). Replace `<NAME>` with a short descriptive slug. Use `gobi media avatars` and `gobi media voices` to list available IDs.
66
+ `--name` is optional (auto-generated if omitted). Replace `<NAME>` with a short descriptive slug. Use `gobi media list-avatars` and `gobi media list-voices` to list available IDs.
67
67
 
68
68
  The `-o` flag implies `--wait` and downloads the video when done.
69
69
 
70
70
  To use a custom image as the **background** of a video, pass it directly as `--background <file>` (auto-uploaded):
71
71
 
72
72
  ```bash
73
- gobi --json media video-create --avatar-id "<AVATAR_ID>" --voice-id "<VOICE_ID>" --script "<SCRIPT>" --background media/bg.png -o media/<NAME>.mp4
73
+ gobi --json media create-video --avatar-id "<AVATAR_ID>" --voice-id "<VOICE_ID>" --script "<SCRIPT>" --background media/bg.png -o media/<NAME>.mp4
74
74
  ```
75
75
 
76
76
  ## Typical Workflow (Cinematic Video)
@@ -78,7 +78,7 @@ gobi --json media video-create --avatar-id "<AVATAR_ID>" --voice-id "<VOICE_ID>"
78
78
  Generate a cinematic video from a text prompt (no avatar needed):
79
79
 
80
80
  ```bash
81
- gobi --json media cinematic-create --prompt "<PROMPT>" --aspect-ratio "<RATIO>" -o media/<NAME>.mp4
81
+ gobi --json media create-cinematic --prompt "<PROMPT>" --aspect-ratio "<RATIO>" -o media/<NAME>.mp4
82
82
  ```
83
83
 
84
84
  Options: `--duration <4-8>`, `--resolution <720p|1080p>`, `--enhance-prompt`, `--generate-audio`, `--negative-prompt`, `--sample-count <1-4>`, `--first-frame <file>`, `--last-frame <file>`, `--reference-images <files>`.
@@ -88,7 +88,7 @@ Options: `--duration <4-8>`, `--resolution <720p|1080p>`, `--enhance-prompt`, `-
88
88
  Edit an existing image with a prompt — single command:
89
89
 
90
90
  ```bash
91
- gobi --json media image-edit --image media/source.png --prompt "<EDIT_INSTRUCTION>" -o media/<NAME>.png
91
+ gobi --json media edit-image --image media/source.png --prompt "<EDIT_INSTRUCTION>" -o media/<NAME>.png
92
92
  ```
93
93
 
94
94
  All file arguments (`--image`, `--mask`, `--background`, `--photo`, `--audio`, `--reference-image`, `--first-frame`, `--last-frame`) accept local file paths and auto-upload them. No need to manually upload first.
@@ -100,31 +100,31 @@ Three ways to create custom avatars:
100
100
  ### 1. Design from scratch
101
101
 
102
102
  ```bash
103
- gobi --json media avatar-design --gender "<GENDER>" --age "<AGE>" --ethnicity "<ETHNICITY>" --outfit "<OUTFIT>" --background "<BACKGROUND>" --wait
103
+ gobi --json media design-avatar --gender "<GENDER>" --age "<AGE>" --ethnicity "<ETHNICITY>" --outfit "<OUTFIT>" --background "<BACKGROUND>" --wait
104
104
  ```
105
105
 
106
106
  When `variants_ready`, confirm with:
107
107
 
108
108
  ```bash
109
- gobi --json media avatar-confirm --job-id "<JOB_ID>"
109
+ gobi --json media confirm-avatar --job-id "<JOB_ID>"
110
110
  ```
111
111
 
112
112
  ### 2. From a selfie (instant)
113
113
 
114
114
  ```bash
115
- gobi --json media avatar-from-selfie --photo media/selfie.png
115
+ gobi --json media design-avatar-from-selfie --photo media/selfie.png
116
116
  ```
117
117
 
118
118
  ### 3. From a selfie (enhanced with prompt)
119
119
 
120
120
  ```bash
121
- gobi --json media avatar-from-selfie --photo media/selfie.png --prompt "<ENHANCEMENT>" --wait
121
+ gobi --json media design-avatar-from-selfie --photo media/selfie.png --prompt "<ENHANCEMENT>" --wait
122
122
  ```
123
123
 
124
124
  Check any avatar job status with:
125
125
 
126
126
  ```bash
127
- gobi --json media avatar-job-status <jobId> --wait
127
+ gobi --json media get-avatar-job-status <jobId> --wait
128
128
  ```
129
129
 
130
130
  **IMPORTANT: After downloading, show the video using Obsidian wiki-link syntax EXACTLY like this:**
@@ -143,44 +143,43 @@ Do NOT use markdown image/link syntax `![](...)` or `gobi://` URLs. Always use `
143
143
 
144
144
  ### Avatars & Voices
145
145
 
146
- - `gobi media avatars` — List available avatars.
147
- - `gobi media voices` — List available voices.
146
+ - `gobi media list-avatars` — List available avatars.
147
+ - `gobi media list-voices` — List available voices.
148
148
 
149
149
  ### Videos
150
150
 
151
- - `gobi media video-create` — Create an avatar video generation job.
152
- - `gobi media cinematic-create` — Create a cinematic video from a text prompt.
153
- - `gobi media video-list` — List all videos.
154
- - `gobi media video-get` — Get video metadata.
155
- - `gobi media video-status` — Poll video generation status.
156
- - `gobi media video-download` — Download a completed video (`-o` to save to file).
151
+ - `gobi media create-video` — Create an avatar video generation job.
152
+ - `gobi media create-cinematic` — Create a cinematic video from a text prompt.
153
+ - `gobi media list-videos` — List all videos.
154
+ - `gobi media get-video` — Get video metadata.
155
+ - `gobi media get-video-status` — Get video generation status.
156
+ - `gobi media download-video` — Download a completed video (`-o` to save to file).
157
157
 
158
158
  ### Custom Avatars
159
159
 
160
- - `gobi media avatar-design` — Start a design-your-avatar job.
161
- - `gobi media avatar-confirm` — Confirm avatar variant(s) after design.
162
- - `gobi media avatar-from-selfie` — Create an avatar from a selfie (instant or enhanced).
163
- - `gobi media avatar-job-status` — Check avatar job status.
160
+ - `gobi media design-avatar` — Start a design-your-avatar job.
161
+ - `gobi media confirm-avatar` — Confirm avatar variant(s) after design.
162
+ - `gobi media design-avatar-from-selfie` — Design an avatar from a selfie (instant or enhanced).
163
+ - `gobi media get-avatar-job-status` — Get avatar job status.
164
164
 
165
165
  ### Images
166
166
 
167
- - `gobi media image-generate` — Generate an image from a text prompt. Types: image (default), thumbnail (YouTube-optimized), asset (logo/product). Aspect ratios: 1:1, 16:9, 9:16, 4:3, 3:4
168
- - `gobi media image-edit` — Edit an existing image with a prompt (image-to-image).
169
- - `gobi media image-inpaint` — Inpaint an image region using a mask.
170
- - `gobi media image-status` — Check image generation job status.
171
- - `gobi media image-download` — Download a generated image.
172
- - `gobi media image-status` — Check image generation job status.
167
+ - `gobi media generate-image` — Generate an image from a text prompt. Types: image (default), thumbnail (YouTube-optimized), asset (logo/product). Aspect ratios: 1:1, 16:9, 9:16, 4:3, 3:4
168
+ - `gobi media edit-image` — Edit an existing image with a prompt (image-to-image).
169
+ - `gobi media inpaint-image` — Inpaint an image region using a mask.
170
+ - `gobi media get-image-status` — Get image generation job status.
171
+ - `gobi media download-image` — Download a generated image.
173
172
 
174
173
  ## Confirm before mutating
175
174
 
176
175
  Media generation jobs consume credits (real-world billable cost) and produce assets attached to the user's account. Videos and avatar work can take minutes per job. Before running any generation/upload command, confirm with the user — show the exact command and the prompt / script / source files / aspect ratio / duration. This applies even when running autonomously.
177
176
 
178
- - `image-generate`, `image-edit`, `image-inpaint` — quick but billable per job.
179
- - `video-create`, `cinematic-create` — slower and more expensive; confirm script, avatar/voice ids, and aspect ratio before submitting.
180
- - `avatar-design`, `avatar-confirm`, `avatar-from-selfie` — produce assets the user will see in their avatar list. Confirm the photo/prompt and that the user wants the variant locked in (`avatar-confirm` is the commit step).
177
+ - `generate-image`, `edit-image`, `inpaint-image` — quick but billable per job.
178
+ - `create-video`, `create-cinematic` — slower and more expensive; confirm script, avatar/voice ids, and aspect ratio before submitting.
179
+ - `design-avatar`, `confirm-avatar`, `design-avatar-from-selfie` — produce assets the user will see in their avatar list. Confirm the photo/prompt and that the user wants the variant locked in (`confirm-avatar` is the commit step).
181
180
  - `upload` — adds to the user's media. Low-stakes but still a write; mention the file before uploading.
182
181
 
183
- Read-only commands (`avatars`, `voices`, `image-status`, `video-status`, `video-list`, `video-get`, `avatar-job-status`) and downloads (`image-download`, `video-download`) run without confirmation.
182
+ Read-only commands (`list-avatars`, `list-voices`, `get-image-status`, `get-video-status`, `list-videos`, `get-video`, `get-avatar-job-status`) and downloads (`download-image`, `download-video`) run without confirmation.
184
183
 
185
184
  ## Reference Documentation
186
185