@gobi-ai/cli 2.0.26 → 2.0.27
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.
- package/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +14 -16
- package/commands/space-share.md +1 -1
- package/dist/commands/global.js +3 -19
- package/dist/commands/personal.js +2 -8
- package/package.json +1 -1
- package/skills/gobi-artifact/SKILL.md +2 -2
- package/skills/gobi-core/SKILL.md +4 -12
- package/skills/gobi-homepage/SKILL.md +1 -1
- package/skills/gobi-media/SKILL.md +2 -2
- package/skills/gobi-sense/SKILL.md +2 -2
- package/skills/gobi-space/SKILL.md +18 -19
- package/skills/gobi-space/references/global.md +4 -5
- package/skills/gobi-vault/SKILL.md +3 -4
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
"name": "gobi-ai"
|
|
5
5
|
},
|
|
6
6
|
"description": "Claude Code plugin for the Gobi collaborative knowledge platform CLI",
|
|
7
|
-
"version": "2.0.
|
|
7
|
+
"version": "2.0.27",
|
|
8
8
|
"plugins": [
|
|
9
9
|
{
|
|
10
10
|
"name": "gobi",
|
|
11
11
|
"description": "Manage the Gobi collaborative knowledge platform from the command line. Publish vault profiles, create posts and replies, generate images and videos.",
|
|
12
|
-
"version": "2.0.
|
|
12
|
+
"version": "2.0.27",
|
|
13
13
|
"author": {
|
|
14
14
|
"name": "gobi-ai"
|
|
15
15
|
},
|
package/README.md
CHANGED
|
@@ -178,31 +178,29 @@ A *Space* is a community knowledge area. A *Space Post* lives in one space. The
|
|
|
178
178
|
| `gobi space list-topic-posts <topicSlug>` | List posts tagged with a topic |
|
|
179
179
|
| `gobi space list-posts` | List posts in the space |
|
|
180
180
|
| `gobi space get-post <postId> [--full]` | Get a post with its ancestors and replies. `--full` shows reply content without truncation. |
|
|
181
|
-
| `gobi space create-post [--title <t>] (--content <c> \| --rich-text <json>) [--
|
|
182
|
-
| `gobi space edit-post <postId> [--title <t>] [--content <c>]
|
|
181
|
+
| `gobi space create-post [--title <t>] (--content <c> \| --rich-text <json>) [--artifact <artifactId>]… [--repost-post-id <id>] [--attach <file>]…` | Create a space post. Must provide content via `--content` or `--rich-text`. `--artifact` attaches an existing artifact to the post (repeatable). `--repost-post-id` reposts an existing post (sets `repostPostId` on the new post). `--attach` uploads local media to render inline in-feed (repeatable; X-style mix rule — up to 4 photos OR 1 GIF OR 1 video). |
|
|
182
|
+
| `gobi space edit-post <postId> [--title <t>] [--content <c>]` | Edit a space post. |
|
|
183
183
|
| `gobi space delete-post <postId>` | Delete a space post |
|
|
184
|
-
| `gobi space create-reply <postId> (--content <c> \| --rich-text <json>) [--
|
|
185
|
-
| `gobi space edit-reply <replyId> [--content <c>] [--rich-text <json>]
|
|
184
|
+
| `gobi space create-reply <postId> (--content <c> \| --rich-text <json>) [--attach <file>]…` | Create a reply to a space post. `--attach` works the same as on `create-post`. |
|
|
185
|
+
| `gobi space edit-reply <replyId> [--content <c>] [--rich-text <json>]` | Edit a reply you authored. |
|
|
186
186
|
| `gobi space delete-reply <replyId>` | Delete a reply you authored |
|
|
187
187
|
|
|
188
188
|
### Global feed (personal posts)
|
|
189
189
|
|
|
190
|
-
A *Personal Post* surfaces in the public global feed.
|
|
190
|
+
A *Personal Post* surfaces in the public global feed. Same `Post` model as a Space Post, scoped to the user instead of a space.
|
|
191
191
|
|
|
192
192
|
| Command | Description |
|
|
193
193
|
|---------|-------------|
|
|
194
194
|
| `gobi global feed [--following]` | List the global public feed (posts + replies, newest first). `--following` limits to authors you follow. |
|
|
195
|
-
| `gobi global list-posts [--mine]
|
|
195
|
+
| `gobi global list-posts [--mine]` | List personal posts; filter to your own |
|
|
196
196
|
| `gobi global get-post <postId> [--full]` | Get a personal post with its ancestors and replies. `--full` shows reply content without truncation. |
|
|
197
|
-
| `gobi global create-post [--title <t>] (--content <c> \| --rich-text <json>) [--
|
|
198
|
-
| `gobi global edit-post <postId> [--title <t>] [--content <c>]
|
|
197
|
+
| `gobi global create-post [--title <t>] (--content <c> \| --rich-text <json>) [--artifact <artifactId>]… [--repost-post-id <id>] [--attach <file>]…` | Create a personal post. `--artifact` attaches an existing artifact to the post (repeatable). `--repost-post-id` reposts an existing post. `--attach` uploads local media for inline rendering (see `gobi space create-post` above for the mix rule). |
|
|
198
|
+
| `gobi global edit-post <postId> [--title <t>] [--content <c>]` | Edit a personal post you authored. |
|
|
199
199
|
| `gobi global delete-post <postId>` | Delete a personal post you authored |
|
|
200
|
-
| `gobi global create-reply <postId> (--content <c> \| --rich-text <json>) [--
|
|
201
|
-
| `gobi global edit-reply <replyId> [--content <c>] [--rich-text <json>]
|
|
200
|
+
| `gobi global create-reply <postId> (--content <c> \| --rich-text <json>) [--attach <file>]…` | Create a reply to a personal post |
|
|
201
|
+
| `gobi global edit-reply <replyId> [--content <c>] [--rich-text <json>]` | Edit a reply you authored. |
|
|
202
202
|
| `gobi global delete-reply <replyId>` | Delete a reply you authored |
|
|
203
203
|
|
|
204
|
-
`--vault-slug` requires that the caller hold `role: 'owner'` on the target vault. When set, it becomes the post's `authorVaultSlug`.
|
|
205
|
-
|
|
206
204
|
### Personal space (private posts)
|
|
207
205
|
|
|
208
206
|
> Naming note: a **Personal Post** (under `gobi global`, above) is the public-feed kind — it lives on your vault profile and surfaces on the global feed. A **personal-space post** (this section, under `gobi personal`) is the private kind — same `Post` data model, but scoped via `personalSpaceUserId` so only you can see it.
|
|
@@ -214,11 +212,11 @@ Private posts and replies visible only to you. Same `Post` data model and subcom
|
|
|
214
212
|
| `gobi personal feed` | Your personal-space feed (posts + replies, newest first) |
|
|
215
213
|
| `gobi personal list-posts` | List personal-space posts |
|
|
216
214
|
| `gobi personal get-post <postId> [--full]` | Get a personal-space post with its ancestors and replies |
|
|
217
|
-
| `gobi personal create-post [--title <t>] (--content <c> \| --rich-text <json>) [--
|
|
218
|
-
| `gobi personal edit-post <postId> [--title <t>] [--content <c>]
|
|
215
|
+
| `gobi personal create-post [--title <t>] (--content <c> \| --rich-text <json>) [--artifact <artifactId>]… [--repost-post-id <id>] [--attach <file>]…` | Create a private post in your personal space. `--artifact` attaches an existing artifact to the post (repeatable). `--attach` works the same as on `gobi global create-post`. |
|
|
216
|
+
| `gobi personal edit-post <postId> [--title <t>] [--content <c>]` | Edit a personal-space post you authored |
|
|
219
217
|
| `gobi personal delete-post <postId>` | Delete a personal-space post you authored |
|
|
220
|
-
| `gobi personal create-reply <postId> (--content <c> \| --rich-text <json>) [--
|
|
221
|
-
| `gobi personal edit-reply <replyId> [--content <c>] [--rich-text <json>]
|
|
218
|
+
| `gobi personal create-reply <postId> (--content <c> \| --rich-text <json>) [--attach <file>]…` | Reply to a personal-space post (inherits the parent's private scope) |
|
|
219
|
+
| `gobi personal edit-reply <replyId> [--content <c>] [--rich-text <json>]` | Edit a reply you authored |
|
|
222
220
|
| `gobi personal delete-reply <replyId>` | Delete a reply you authored |
|
|
223
221
|
|
|
224
222
|
### Sense
|
package/commands/space-share.md
CHANGED
|
@@ -14,7 +14,7 @@ First, verify the user is set up:
|
|
|
14
14
|
gobi --json auth status
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
Check that `.gobi/settings.yaml` exists. If you plan to publish to a Space (`gobi space create-post`), it must contain `selectedSpaceSlug` — otherwise stop and ask the user to run `gobi space warp` first.
|
|
17
|
+
Check that `.gobi/settings.yaml` exists. If you plan to publish to a Space (`gobi space create-post`), it must contain `selectedSpaceSlug` — otherwise stop and ask the user to run `gobi space warp` first.
|
|
18
18
|
|
|
19
19
|
## Draft a personal post
|
|
20
20
|
|
package/dist/commands/global.js
CHANGED
|
@@ -8,14 +8,7 @@ function readContent(value) {
|
|
|
8
8
|
return value;
|
|
9
9
|
}
|
|
10
10
|
function buildPersonalPostUrl(post) {
|
|
11
|
-
|
|
12
|
-
const vaultSlug = post.vault?.vaultSlug ||
|
|
13
|
-
post.authorVault?.vaultSlug ||
|
|
14
|
-
post.authorVaultSlug ||
|
|
15
|
-
undefined;
|
|
16
|
-
return vaultSlug
|
|
17
|
-
? `${WEB_BASE_URL}/@${vaultSlug}?postId=${id}`
|
|
18
|
-
: `${WEB_BASE_URL}/posts/${id}`;
|
|
11
|
+
return `${WEB_BASE_URL}/posts/${post.id}`;
|
|
19
12
|
}
|
|
20
13
|
function formatFeedLine(m) {
|
|
21
14
|
const isReply = m.parentPostId != null ||
|
|
@@ -79,7 +72,6 @@ export function registerGlobalCommand(program) {
|
|
|
79
72
|
.option("--limit <number>", "Items per page", "20")
|
|
80
73
|
.option("--cursor <string>", "Pagination cursor from previous response")
|
|
81
74
|
.option("--mine", "Only include posts authored by you")
|
|
82
|
-
.option("--vault-slug <vaultSlug>", "Filter by author vault slug")
|
|
83
75
|
.action(async (opts) => {
|
|
84
76
|
const params = {
|
|
85
77
|
limit: parseInt(opts.limit, 10),
|
|
@@ -88,8 +80,6 @@ export function registerGlobalCommand(program) {
|
|
|
88
80
|
params.cursor = opts.cursor;
|
|
89
81
|
if (opts.mine)
|
|
90
82
|
params.mine = "true";
|
|
91
|
-
if (opts.vaultSlug)
|
|
92
|
-
params.vaultSlug = opts.vaultSlug;
|
|
93
83
|
const resp = (await apiGet(`/posts`, params));
|
|
94
84
|
if (isJsonMode(global)) {
|
|
95
85
|
jsonOut({
|
|
@@ -108,10 +98,7 @@ export function registerGlobalCommand(program) {
|
|
|
108
98
|
for (const t of items) {
|
|
109
99
|
const author = t.author?.name ||
|
|
110
100
|
`User ${t.authorId}`;
|
|
111
|
-
|
|
112
|
-
t.authorVault?.vaultSlug ||
|
|
113
|
-
"?";
|
|
114
|
-
lines.push(`- [${t.id}] "${t.title}" by ${author} (vault: ${vaultSlug}, ${t.replyCount ?? 0} replies, ${t.createdAt})`);
|
|
101
|
+
lines.push(`- [${t.id}] "${t.title}" by ${author} (${t.replyCount ?? 0} replies, ${t.createdAt})`);
|
|
115
102
|
}
|
|
116
103
|
const footer = pagination.hasMore ? `\n Next cursor: ${pagination.nextCursor}` : "";
|
|
117
104
|
console.log(`Posts (${items.length} items):\n` + lines.join("\n") + footer);
|
|
@@ -146,9 +133,6 @@ export function registerGlobalCommand(program) {
|
|
|
146
133
|
const replies = (data.replies || []);
|
|
147
134
|
const author = post.author?.name ||
|
|
148
135
|
`User ${post.authorId}`;
|
|
149
|
-
const vault = post.vault?.vaultSlug ||
|
|
150
|
-
post.authorVault?.vaultSlug ||
|
|
151
|
-
"?";
|
|
152
136
|
const ancestorLines = [];
|
|
153
137
|
if (ancestors.length) {
|
|
154
138
|
ancestors.forEach((a, i) => {
|
|
@@ -169,7 +153,7 @@ export function registerGlobalCommand(program) {
|
|
|
169
153
|
: `Post: ${post.title || "(no title)"}`;
|
|
170
154
|
const output = [
|
|
171
155
|
heading,
|
|
172
|
-
`By: ${author}
|
|
156
|
+
`By: ${author} on ${post.createdAt}`,
|
|
173
157
|
...(ancestorLines.length
|
|
174
158
|
? ["", `Ancestors (${ancestors.length} items, root first):`, ...ancestorLines]
|
|
175
159
|
: []),
|
|
@@ -93,10 +93,7 @@ export function registerPersonalCommand(program) {
|
|
|
93
93
|
}
|
|
94
94
|
const lines = [];
|
|
95
95
|
for (const t of items) {
|
|
96
|
-
|
|
97
|
-
t.authorVault?.vaultSlug ||
|
|
98
|
-
"—";
|
|
99
|
-
lines.push(`- [${t.id}] "${t.title ?? "(no title)"}" (vault: ${vaultSlug}, ${t.replyCount ?? 0} replies, ${t.createdAt})`);
|
|
96
|
+
lines.push(`- [${t.id}] "${t.title ?? "(no title)"}" (${t.replyCount ?? 0} replies, ${t.createdAt})`);
|
|
100
97
|
}
|
|
101
98
|
const footer = pagination.hasMore ? `\n Next cursor: ${pagination.nextCursor}` : "";
|
|
102
99
|
console.log(`Personal-space posts (${items.length} of ${allItems.length} feed items):\n` +
|
|
@@ -138,9 +135,6 @@ export function registerPersonalCommand(program) {
|
|
|
138
135
|
const replies = (data.replies || []);
|
|
139
136
|
const author = post.author?.name ||
|
|
140
137
|
`User ${post.authorId}`;
|
|
141
|
-
const vault = post.vault?.vaultSlug ||
|
|
142
|
-
post.authorVault?.vaultSlug ||
|
|
143
|
-
"—";
|
|
144
138
|
const ancestorLines = [];
|
|
145
139
|
if (ancestors.length) {
|
|
146
140
|
ancestors.forEach((a, i) => {
|
|
@@ -161,7 +155,7 @@ export function registerPersonalCommand(program) {
|
|
|
161
155
|
: `Post: ${post.title || "(no title)"} (private)`;
|
|
162
156
|
const output = [
|
|
163
157
|
heading,
|
|
164
|
-
`By: ${author}
|
|
158
|
+
`By: ${author} on ${post.createdAt}`,
|
|
165
159
|
...(ancestorLines.length
|
|
166
160
|
? ["", `Ancestors (${ancestors.length} items, root first):`, ...ancestorLines]
|
|
167
161
|
: []),
|
package/package.json
CHANGED
|
@@ -9,12 +9,12 @@ description: >-
|
|
|
9
9
|
allowed-tools: Bash(gobi:*)
|
|
10
10
|
metadata:
|
|
11
11
|
author: gobi-ai
|
|
12
|
-
version: "2.0.
|
|
12
|
+
version: "2.0.27"
|
|
13
13
|
---
|
|
14
14
|
|
|
15
15
|
# gobi-artifact
|
|
16
16
|
|
|
17
|
-
Gobi artifact commands for versioned, post-attachable creations (v2.0.
|
|
17
|
+
Gobi artifact commands for versioned, post-attachable creations (v2.0.27).
|
|
18
18
|
|
|
19
19
|
Requires gobi-cli installed and authenticated. See gobi-core skill for setup.
|
|
20
20
|
|
|
@@ -8,12 +8,12 @@ description: >-
|
|
|
8
8
|
allowed-tools: Bash(gobi:*)
|
|
9
9
|
metadata:
|
|
10
10
|
author: gobi-ai
|
|
11
|
-
version: "2.0.
|
|
11
|
+
version: "2.0.27"
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
# gobi-core
|
|
15
15
|
|
|
16
|
-
Core CLI commands for the Gobi collaborative knowledge platform (v2.0.
|
|
16
|
+
Core CLI commands for the Gobi collaborative knowledge platform (v2.0.27).
|
|
17
17
|
|
|
18
18
|
## Prerequisites
|
|
19
19
|
|
|
@@ -77,16 +77,8 @@ gobi auth status
|
|
|
77
77
|
| `vault init` | no (it sets it up) | no | – |
|
|
78
78
|
| `space list` / `warp [slug]` / `get [slug]` | no | no | – |
|
|
79
79
|
| `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>` |
|
|
80
|
-
| `global feed` / `list-posts` / `get-post` / `delete-post` / `create-reply` / `edit-reply` / `delete-reply` | no | no | – |
|
|
81
|
-
| `
|
|
82
|
-
| `global edit-post` | optional² | no | command-level `--vault-slug <slug>` |
|
|
83
|
-
| `personal feed` / `list-posts` / `get-post` / `delete-post` / `create-reply` / `edit-reply` / `delete-reply` | no | no | – |
|
|
84
|
-
| `personal create-post` | optional¹ | no | command-level `--vault-slug <slug>` |
|
|
85
|
-
| `personal edit-post` | optional² | no | command-level `--vault-slug <slug>` |
|
|
86
|
-
|
|
87
|
-
¹ `global create-post` accepts `--vault-slug`, optional. With no 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` to attribute it.
|
|
88
|
-
|
|
89
|
-
² `global edit-post` only consults `--vault-slug` when you pass it explicitly. Use `--vault-slug ""` to detach an existing attribution; non-empty re-attaches.
|
|
80
|
+
| `global feed` / `list-posts` / `get-post` / `create-post` / `edit-post` / `delete-post` / `create-reply` / `edit-reply` / `delete-reply` | no | no | – |
|
|
81
|
+
| `personal feed` / `list-posts` / `get-post` / `create-post` / `edit-post` / `delete-post` / `create-reply` / `edit-reply` / `delete-reply` | no | no | – |
|
|
90
82
|
|
|
91
83
|
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
84
|
|
|
@@ -10,12 +10,12 @@ description: >-
|
|
|
10
10
|
allowed-tools: Bash(gobi:*)
|
|
11
11
|
metadata:
|
|
12
12
|
author: gobi-ai
|
|
13
|
-
version: "2.0.
|
|
13
|
+
version: "2.0.27"
|
|
14
14
|
---
|
|
15
15
|
|
|
16
16
|
# gobi-media
|
|
17
17
|
|
|
18
|
-
Gobi media generation commands (v2.0.
|
|
18
|
+
Gobi media generation commands (v2.0.27).
|
|
19
19
|
|
|
20
20
|
Requires gobi-cli installed and authenticated. See gobi-core skill for setup.
|
|
21
21
|
|
|
@@ -7,12 +7,12 @@ description: >-
|
|
|
7
7
|
allowed-tools: Bash(gobi:*)
|
|
8
8
|
metadata:
|
|
9
9
|
author: gobi-ai
|
|
10
|
-
version: "2.0.
|
|
10
|
+
version: "2.0.27"
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
# gobi-sense
|
|
14
14
|
|
|
15
|
-
Gobi sense commands for activity and transcription data (v2.0.
|
|
15
|
+
Gobi sense commands for activity and transcription data (v2.0.27).
|
|
16
16
|
|
|
17
17
|
Requires gobi-cli installed and authenticated. See the **gobi-core** skill for setup.
|
|
18
18
|
|
|
@@ -11,12 +11,12 @@ description: >-
|
|
|
11
11
|
allowed-tools: Bash(gobi:*)
|
|
12
12
|
metadata:
|
|
13
13
|
author: gobi-ai
|
|
14
|
-
version: "2.0.
|
|
14
|
+
version: "2.0.27"
|
|
15
15
|
---
|
|
16
16
|
|
|
17
17
|
# gobi-space
|
|
18
18
|
|
|
19
|
-
Gobi space, global, and personal-space posts (v2.0.
|
|
19
|
+
Gobi space, global, and personal-space posts (v2.0.27).
|
|
20
20
|
|
|
21
21
|
Requires gobi-cli installed and authenticated. See the **gobi-core** skill for setup.
|
|
22
22
|
|
|
@@ -25,10 +25,10 @@ Requires gobi-cli installed and authenticated. See the **gobi-core** skill for s
|
|
|
25
25
|
The same `Post` data type drives all three surfaces — the difference is **scope**:
|
|
26
26
|
|
|
27
27
|
- **Space Post** — `gobi space …` — lives in a community space's feed.
|
|
28
|
-
- **Personal Post** — `gobi global …` —
|
|
28
|
+
- **Personal Post** — `gobi global …` — lives on the public global feed.
|
|
29
29
|
- **Personal-space Post** — `gobi personal …` — private posts and replies visible only to the author. Same shape as `gobi global`, scoped via `personalSpaceUserId` so they never surface on the public feed.
|
|
30
30
|
|
|
31
|
-
Anything you can do to a Space Post (reply, edit, delete
|
|
31
|
+
Anything you can do to a Space Post (reply, edit, delete) you can do to a Personal Post or a Personal-space Post.
|
|
32
32
|
|
|
33
33
|
- When the user wants to explore or catch up on what's happening in their space, invoke `/gobi:space-explore`.
|
|
34
34
|
- When the user wants to share or post learnings from the current session, invoke `/gobi:space-share`.
|
|
@@ -45,9 +45,9 @@ Anything you can do to a Space Post (reply, edit, delete, attribute to a vault)
|
|
|
45
45
|
|
|
46
46
|
The same applies to replies: a reply has only `--content` (no title), so do not synthesize a title-like heading at the top of a reply either.
|
|
47
47
|
|
|
48
|
-
##
|
|
48
|
+
## Attaching artifacts (`--artifact`)
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
Posts have no vault attribution. `create-post` across all three scopes (`gobi space`, `gobi global`, `gobi personal`) accepts `--artifact <artifactId>` (repeatable) to attach existing artifacts to the post. To author a vault-anchored document, create a markdown artifact (`gobi artifact create --kind markdown --vault-slug <slug>`) and attach it via `--artifact`. See the **gobi-artifact** skill.
|
|
51
51
|
|
|
52
52
|
> **Wiki-link uploads moved to artifacts.** The `--auto-attachments` flag that used to upload `[[wiki-linked files]]` from a post body now lives on `gobi artifact create` / `gobi artifact revise` (markdown kinds). To publish a markdown creation with resolvable wikilinks, create a markdown artifact with `--vault-slug` + `--auto-attachments` and attach it to the post (`--post-id`). See the **gobi-artifact** skill. Before relying on wikilink resolution, confirm the anchor vault is published: `gobi --json vault status --vault-slug <slug>` should report `isPublished: true`.
|
|
53
53
|
|
|
@@ -63,13 +63,12 @@ Use `--attach` for media you want shown in the post itself; use a markdown **art
|
|
|
63
63
|
|
|
64
64
|
Once a post is created, you can build a shareable URL from the response:
|
|
65
65
|
|
|
66
|
-
- **Personal post
|
|
67
|
-
- **Personal post without a vault** (created with no `--vault-slug`) — use `https://gobispace.com/posts/{id}` as a direct fallback.
|
|
66
|
+
- **Personal post** — `https://gobispace.com/posts/{id}` (e.g. `https://gobispace.com/posts/144869`). This is the canonical share link for `gobi global` posts.
|
|
68
67
|
- **Space post** — `https://gobispace.com/spaces/{spaceSlug}?postId={id}` (overlay on the space feed) or `https://gobispace.com/spaces/{spaceSlug}/posts/{id}` (dedicated page).
|
|
69
68
|
- **Vault profile** — `https://gobispace.com/@{vaultSlug}`.
|
|
70
69
|
- **Vault file** — `https://gobispace.com/file/{vaultSlug}?path={path}` (e.g. `https://gobispace.com/file/jyk?path=notes/intro.md`). First-class URL for linking to a single file from a published vault — renders in the main feed chrome (not the vault homepage). Use this when a post body or reply needs to point readers at a specific vault file. URL-encode each path segment. See **gobi-vault** skill for full semantics.
|
|
71
70
|
|
|
72
|
-
When you echo a "Post created!" line (or the JSON response is consumed by another agent), include the assembled URL using the fields actually returned
|
|
71
|
+
When you echo a "Post created!" line (or the JSON response is consumed by another agent), include the assembled URL using the fields actually returned — `id` for global posts, `spaceSlug` + `id` for space posts. Don't fabricate slugs.
|
|
73
72
|
|
|
74
73
|
## Prerequisites & space slug
|
|
75
74
|
|
|
@@ -84,7 +83,7 @@ When you echo a "Post created!" line (or the JSON response is consumed by anothe
|
|
|
84
83
|
|
|
85
84
|
If `.gobi/settings.yaml` has no `selectedSpaceSlug` and `--space-slug` isn't passed, the command will error.
|
|
86
85
|
|
|
87
|
-
`gobi global` commands target the public global feed and have no space requirement and no `.gobi` requirement. `gobi global create-post` is symmetric with `gobi space create-post`:
|
|
86
|
+
`gobi global` commands target the public global feed and have no space requirement and no `.gobi` requirement. `gobi global create-post` is symmetric with `gobi space create-post`: attach existing artifacts with `--artifact <artifactId>` (repeatable).
|
|
88
87
|
|
|
89
88
|
## Important: JSON Mode
|
|
90
89
|
|
|
@@ -112,8 +111,8 @@ gobi --json space list-posts
|
|
|
112
111
|
### Space posts
|
|
113
112
|
- `gobi space list-posts` — List posts in a space (paginated).
|
|
114
113
|
- `gobi space get-post <postId>` — Get a post with its ancestors and replies (paginated). Ancestors and replies are returned together; there is no separate `ancestors` or `list-replies` command.
|
|
115
|
-
- `gobi space create-post` — Create a space post. `--
|
|
116
|
-
- `gobi space edit-post <postId>` — Edit a space post. You must be the author.
|
|
114
|
+
- `gobi space create-post` — Create a space post. `--artifact <artifactId>` (repeatable) attaches existing artifacts.
|
|
115
|
+
- `gobi space edit-post <postId>` — Edit a space post. You must be the author.
|
|
117
116
|
- `gobi space delete-post <postId>` — Delete a space post. You must be the author.
|
|
118
117
|
|
|
119
118
|
### Space replies
|
|
@@ -126,25 +125,25 @@ gobi --json space list-posts
|
|
|
126
125
|
`gobi global` is the same surface for Personal Posts — posts that live on the author's profile and surface in the public global feed.
|
|
127
126
|
|
|
128
127
|
- `gobi global feed` — List the public global feed (posts and replies, newest first).
|
|
129
|
-
- `gobi global list-posts` — List personal posts. `--mine` for your own
|
|
128
|
+
- `gobi global list-posts` — List personal posts. `--mine` for your own.
|
|
130
129
|
- `gobi global get-post <postId>` — Get a personal post with its ancestors and replies.
|
|
131
|
-
- `gobi global create-post` — Create a personal post. `--
|
|
132
|
-
- `gobi global edit-post <postId>` — Edit a personal post you authored.
|
|
130
|
+
- `gobi global create-post` — Create a personal post. `--artifact <artifactId>` (repeatable) attaches existing artifacts.
|
|
131
|
+
- `gobi global edit-post <postId>` — Edit a personal post you authored.
|
|
133
132
|
- `gobi global delete-post <postId>` — Delete a personal post you authored.
|
|
134
133
|
- `gobi global create-reply <postId>` — Reply to a personal post.
|
|
135
|
-
- `gobi global edit-reply <replyId>` — Edit a reply you authored.
|
|
134
|
+
- `gobi global edit-reply <replyId>` — Edit a reply you authored.
|
|
136
135
|
- `gobi global delete-reply <replyId>` — Delete a reply you authored.
|
|
137
136
|
|
|
138
137
|
### Personal-space posts (private)
|
|
139
138
|
|
|
140
139
|
`gobi personal` mirrors `gobi global`'s subcommand and write-flag shape, but every row is scoped to a private personal space (`personalSpaceUserId`). Nothing here surfaces on the public global feed — these posts are visible only to you. Use for private notes-as-posts, scratch drafts, or any post you want to author against your vault without making it public.
|
|
141
140
|
|
|
142
|
-
A couple of read-side flags don't mirror — `personal feed` has no `--following` (there's no follow graph in a private space), and `personal list-posts` has no `--mine`
|
|
141
|
+
A couple of read-side flags don't mirror — `personal feed` has no `--following` (there's no follow graph in a private space), and `personal list-posts` has no `--mine` (everything in the personal space is already yours).
|
|
143
142
|
|
|
144
143
|
- `gobi personal feed` — Your personal-space feed (posts and replies, newest first).
|
|
145
144
|
- `gobi personal list-posts` — List your personal-space posts.
|
|
146
145
|
- `gobi personal get-post <postId>` — Get a personal-space post with its ancestors and replies.
|
|
147
|
-
- `gobi personal create-post` — Create a private personal-space post. Same flags as `gobi global create-post` (`--
|
|
146
|
+
- `gobi personal create-post` — Create a private personal-space post. Same flags as `gobi global create-post` (`--artifact`, `--repost-post-id`, `--attach`).
|
|
148
147
|
- `gobi personal edit-post <postId>` — Edit a personal-space post you authored.
|
|
149
148
|
- `gobi personal delete-post <postId>` — Delete a personal-space post you authored.
|
|
150
149
|
- `gobi personal create-reply <postId>` — Reply to a personal-space post (inherits the parent's private scope).
|
|
@@ -153,7 +152,7 @@ A couple of read-side flags don't mirror — `personal feed` has no `--following
|
|
|
153
152
|
|
|
154
153
|
## Confirm before mutating
|
|
155
154
|
|
|
156
|
-
Most posts and replies are publicly visible — in a community space (`gobi space …`) or in the global feed (`gobi global …`). `gobi personal …` is the exception: those rows are private to the author. Either way, before running any write, confirm with the user — show the exact command and the resolved title, content (or a short preview), and
|
|
155
|
+
Most posts and replies are publicly visible — in a community space (`gobi space …`) or in the global feed (`gobi global …`). `gobi personal …` is the exception: those rows are private to the author. Either way, before running any write, confirm with the user — show the exact command and the resolved title, content (or a short preview), and any attached artifact ids. This applies even when running autonomously.
|
|
157
156
|
|
|
158
157
|
- `create-post` / `create-reply` — content goes live on submission.
|
|
159
158
|
- `edit-post` / `edit-reply` — confirm the *new* content; people who already saw the original may re-see it.
|
|
@@ -43,11 +43,10 @@ Usage: gobi global list-posts [options]
|
|
|
43
43
|
List posts in the global feed (paginated). Pass --mine to limit to your own posts.
|
|
44
44
|
|
|
45
45
|
Options:
|
|
46
|
-
--limit <number>
|
|
47
|
-
--cursor <string>
|
|
48
|
-
--mine
|
|
49
|
-
|
|
50
|
-
-h, --help display help for command
|
|
46
|
+
--limit <number> Items per page (default: "20")
|
|
47
|
+
--cursor <string> Pagination cursor from previous response
|
|
48
|
+
--mine Only include posts authored by you
|
|
49
|
+
-h, --help display help for command
|
|
51
50
|
```
|
|
52
51
|
|
|
53
52
|
## get-post
|
|
@@ -8,12 +8,12 @@ description: >-
|
|
|
8
8
|
allowed-tools: Bash(gobi:*)
|
|
9
9
|
metadata:
|
|
10
10
|
author: gobi-ai
|
|
11
|
-
version: "2.0.
|
|
11
|
+
version: "2.0.27"
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
# gobi-vault
|
|
15
15
|
|
|
16
|
-
Gobi vault commands for publishing your vault profile and syncing files (v2.0.
|
|
16
|
+
Gobi vault commands for publishing your vault profile and syncing files (v2.0.27).
|
|
17
17
|
|
|
18
18
|
Requires gobi-cli installed and authenticated. See gobi-core skill for setup.
|
|
19
19
|
|
|
@@ -56,11 +56,10 @@ gobi --json vault publish
|
|
|
56
56
|
Once a vault is published (i.e. `gobi vault status` reports `isPublished: yes`), it is reachable at predictable URLs:
|
|
57
57
|
|
|
58
58
|
- **Vault profile** — `https://gobispace.com/@{vaultSlug}` (e.g. `https://gobispace.com/@jyk`).
|
|
59
|
-
- **Direct link to a personal post on the vault** — `https://gobispace.com/@{vaultSlug}?postId={postId}` (e.g. `https://gobispace.com/@jyk?postId=144869`). Open in the vault profile with that post focused.
|
|
60
59
|
- **Direct link to a vault file** — `https://gobispace.com/file/{vaultSlug}?path={path}` (e.g. `https://gobispace.com/file/jyk?path=notes/intro.md`). This is the first-class URL for sharing a single file from a vault — use it whenever you want a reader to land on one specific file. The page renders inside the main feed chrome (sidebar + header), so readers stay in `gobispace.com` instead of pivoting to the vault homepage. Paths without an extension are treated as markdown (the same wikilink-stem resolution webdrive uses), so `?path=intro` and `?path=intro.md` both resolve. URL-encode each path segment when assembling.
|
|
61
60
|
- **Custom homepage** — when `homepage` is set in `PUBLISH.md` frontmatter, the vault profile URL renders that HTML file. See **gobi-homepage** skill.
|
|
62
61
|
|
|
63
|
-
When linking
|
|
62
|
+
When linking to a vault file, assemble the URL from concrete fields (the vault's `vaultSlug` + the file's path) rather than guessing.
|
|
64
63
|
|
|
65
64
|
## Confirm before mutating
|
|
66
65
|
|