@gobi-ai/cli 1.3.7 → 2.0.0
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 +6 -7
- package/.claude-plugin/plugin.json +4 -5
- package/README.md +78 -89
- package/commands/space-explore.md +10 -10
- package/commands/space-share.md +13 -7
- package/dist/commands/draft.js +213 -0
- package/dist/commands/global.js +205 -70
- package/dist/commands/init.js +5 -5
- package/dist/commands/{notes.js → saved.js} +112 -19
- package/dist/commands/space.js +92 -97
- package/dist/commands/sync.js +2 -56
- package/dist/commands/vault.js +113 -0
- package/dist/main.js +6 -10
- package/package.json +2 -2
- package/skills/gobi-core/SKILL.md +5 -7
- package/skills/gobi-core/references/space.md +18 -19
- package/skills/gobi-draft/SKILL.md +74 -0
- package/skills/gobi-draft/references/draft.md +109 -0
- package/skills/gobi-homepage/SKILL.md +16 -16
- package/skills/gobi-saved/SKILL.md +59 -0
- package/skills/gobi-saved/references/saved.md +52 -0
- package/skills/gobi-space/SKILL.md +34 -31
- package/skills/gobi-space/references/global.md +84 -24
- package/skills/gobi-space/references/space.md +45 -57
- package/skills/gobi-vault/SKILL.md +92 -0
- package/skills/{gobi-core/references/sync.md → gobi-vault/references/vault.md} +41 -2
- package/dist/commands/brain.js +0 -141
- package/dist/commands/feed.js +0 -148
- package/dist/commands/proposal.js +0 -185
- package/skills/gobi-brain/SKILL.md +0 -100
- package/skills/gobi-brain/references/brain.md +0 -66
- package/skills/gobi-feed/SKILL.md +0 -43
- package/skills/gobi-feed/references/feed.md +0 -80
- package/skills/gobi-notes/SKILL.md +0 -52
- package/skills/gobi-notes/references/notes.md +0 -82
- package/skills/gobi-proposal/SKILL.md +0 -66
- package/skills/gobi-proposal/references/proposal.md +0 -116
|
@@ -3,29 +3,28 @@
|
|
|
3
3
|
```
|
|
4
4
|
Usage: gobi space [options] [command]
|
|
5
5
|
|
|
6
|
-
Space commands (
|
|
6
|
+
Space commands (posts, replies). Space and member admin is web-UI only.
|
|
7
7
|
|
|
8
8
|
Options:
|
|
9
|
-
--space-slug <slug>
|
|
10
|
-
-h, --help
|
|
9
|
+
--space-slug <slug> Space slug (overrides .gobi/settings.yaml)
|
|
10
|
+
-h, --help display help for command
|
|
11
11
|
|
|
12
12
|
Commands:
|
|
13
|
-
list
|
|
14
|
-
get [spaceSlug]
|
|
15
|
-
warp [spaceSlug]
|
|
16
|
-
list-topics [options]
|
|
17
|
-
list-topic-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
help [command] display help for command
|
|
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).
|
|
15
|
+
warp [spaceSlug] Select the active space. Pass a slug to warp directly, or omit for interactive selection.
|
|
16
|
+
list-topics [options] List topics in a space, ordered by most recent content linkage.
|
|
17
|
+
list-topic-posts [options] <topicSlug> List posts tagged with a topic in a space (cursor-paginated).
|
|
18
|
+
feed [options] List the unified feed (posts and replies, newest first) in a space.
|
|
19
|
+
get-post [options] <postId> Get a post with its ancestors and replies (paginated).
|
|
20
|
+
list-posts [options] List posts in a space (paginated).
|
|
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.
|
|
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.
|
|
27
|
+
help [command] display help for command
|
|
29
28
|
```
|
|
30
29
|
|
|
31
30
|
## list
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gobi-draft
|
|
3
|
+
description: >-
|
|
4
|
+
Gobi draft commands for managing agent-authored drafts: list, get, add,
|
|
5
|
+
delete, prioritize, action, revise. Each draft carries 0–3 AI-suggested
|
|
6
|
+
actions; the user picks one with `draft action`. The top-priority pending
|
|
7
|
+
drafts feed into the agent's system prompt every turn. Use when the user
|
|
8
|
+
wants to review, organize, or respond to drafts — or when an agent (using
|
|
9
|
+
gobi-cli as its tool layer) wants to record a draft it just composed.
|
|
10
|
+
allowed-tools: Bash(gobi:*)
|
|
11
|
+
metadata:
|
|
12
|
+
author: gobi-ai
|
|
13
|
+
version: "1.4.0"
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# gobi-draft
|
|
17
|
+
|
|
18
|
+
Gobi draft commands for managing agent-authored drafts (v1.4.0).
|
|
19
|
+
|
|
20
|
+
Requires gobi-cli installed and authenticated. See gobi-core skill for setup.
|
|
21
|
+
|
|
22
|
+
## What is a draft?
|
|
23
|
+
|
|
24
|
+
A draft is a unit of standing guidance authored by an agent (in-process during chat, or via `gobi draft add` when the agent uses gobi-cli as its tool layer). Each draft has:
|
|
25
|
+
|
|
26
|
+
- **title** — short headline (1–200 chars)
|
|
27
|
+
- **content** — the draft text (markdown, 1–8000 chars)
|
|
28
|
+
- **actions** — 0–3 AI-suggested action labels the user can pick from (e.g. "Accept", "Reject", "Schedule for later"). The agent generates these when authoring the draft.
|
|
29
|
+
- **sessionId** — required; the chat session that produced the draft
|
|
30
|
+
- **priority** — lower number = higher priority; default `100`
|
|
31
|
+
- **status** — `pending` until the user picks an action, then `actioned`
|
|
32
|
+
- **revision** — bumped each time the draft is revised
|
|
33
|
+
- **history** — append-only log of `created`, `revised`, `prioritized`, and `actioned` events
|
|
34
|
+
|
|
35
|
+
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.
|
|
36
|
+
|
|
37
|
+
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>`.
|
|
38
|
+
|
|
39
|
+
## Lifecycle
|
|
40
|
+
|
|
41
|
+
A draft is **authored** by an agent (`gobi draft add` with up to three `--action` flags). The user can then:
|
|
42
|
+
|
|
43
|
+
- **Take an action**: `gobi draft action <id> <index>` — flips status to `actioned`, the client posts the synthesized message ("Take action 'X' on draft Y") into the originating chat session.
|
|
44
|
+
- **Ask to revise**: `gobi draft revise <id> <comment>` — bumps revision and records the comment. The agent's next turn should produce a fresh `gobi draft revise --title --content --action ...` (or a new `add`) addressing the comment.
|
|
45
|
+
- **Re-prioritize / delete** as bookkeeping.
|
|
46
|
+
|
|
47
|
+
Only pending drafts can be revised. Picking an action is terminal; the agent can author a fresh draft if the user later changes their mind.
|
|
48
|
+
|
|
49
|
+
## Important: JSON Mode
|
|
50
|
+
|
|
51
|
+
For programmatic/agent usage, always pass `--json` as a **global** option (before the subcommand):
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
gobi --json draft list --limit 20
|
|
55
|
+
gobi --json draft add "Concise titles" "Prefer concise titles for vault posts." --action "Apply" --action "Skip" --priority 50
|
|
56
|
+
gobi --json draft action <draftId> 0
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
JSON mode wraps the response as `{"success": true, "data": <draft>}` (or `{"success": false, "error": "..."}`).
|
|
60
|
+
|
|
61
|
+
## Available Commands
|
|
62
|
+
|
|
63
|
+
- `gobi draft` — Drafts authored by your agent during chat. Each carries up to 3 AI-suggested actions. Top-5 pending feed the system prompt; picking an action posts a synthesized message into the originating session.
|
|
64
|
+
- `gobi draft list` — List drafts (priority ASC, then newest first).
|
|
65
|
+
- `gobi draft get` — Show one draft with its history and suggested actions.
|
|
66
|
+
- `gobi draft add` — Add a draft. Pass `--action <label>` up to 3 times to attach AI-suggested actions.
|
|
67
|
+
- `gobi draft delete` — Delete a draft.
|
|
68
|
+
- `gobi draft prioritize` — Set priority (lower = higher). Top 5 feed the system prompt.
|
|
69
|
+
- `gobi draft action` — Take one of the draft's suggested actions by 0-based index. Posts the synthesized message into the originating session.
|
|
70
|
+
- `gobi draft revise` — Bump the draft to a new revision with a comment, optionally replacing title / content / actions.
|
|
71
|
+
|
|
72
|
+
## Reference Documentation
|
|
73
|
+
|
|
74
|
+
- [gobi draft](references/draft.md)
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# gobi draft
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
Usage: gobi draft [options] [command]
|
|
5
|
+
|
|
6
|
+
Drafts authored by your agent during chat. Each carries up to 3 AI-suggested actions. Top-5 pending feed the system prompt; picking an action posts a synthesized message into the originating session.
|
|
7
|
+
|
|
8
|
+
Options:
|
|
9
|
+
-h, --help display help for command
|
|
10
|
+
|
|
11
|
+
Commands:
|
|
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.
|
|
16
|
+
delete <draftId> Delete a draft.
|
|
17
|
+
prioritize <draftId> <priority> Set priority (lower = higher). Top 5 feed the system prompt.
|
|
18
|
+
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
|
|
19
|
+
session.
|
|
20
|
+
revise [options] <draftId> <comment> Bump the draft to a new revision. Comment is required. Pass --title, --content, and/or --action to update the draft in the same call (--action repeatable, max
|
|
21
|
+
3, replaces all). Pass '-' for any of comment/title/content to read from stdin.
|
|
22
|
+
help [command] display help for command
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## list
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
Usage: gobi draft list [options]
|
|
29
|
+
|
|
30
|
+
List drafts (priority ASC, then newest first).
|
|
31
|
+
|
|
32
|
+
Options:
|
|
33
|
+
--limit <number> Max drafts to return (1-200) (default: "50")
|
|
34
|
+
-h, --help display help for command
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## get
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
Usage: gobi draft get [options] <draftId>
|
|
41
|
+
|
|
42
|
+
Show one draft with its history and suggested actions.
|
|
43
|
+
|
|
44
|
+
Options:
|
|
45
|
+
-h, --help display help for command
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## add
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
Usage: gobi draft add [options] <title> <content>
|
|
52
|
+
|
|
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.
|
|
55
|
+
|
|
56
|
+
Options:
|
|
57
|
+
--session <sessionId> Originating chat session UUID. Falls back to $GOBI_SESSION_ID when set.
|
|
58
|
+
--priority <number> Priority (lower = higher), default 100
|
|
59
|
+
--action <label> Suggested action label (repeatable, max 3). Each label is what the user sees on the button. (default: [])
|
|
60
|
+
-h, --help display help for command
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## delete
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
Usage: gobi draft delete [options] <draftId>
|
|
67
|
+
|
|
68
|
+
Delete a draft.
|
|
69
|
+
|
|
70
|
+
Options:
|
|
71
|
+
-h, --help display help for command
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## prioritize
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
Usage: gobi draft prioritize [options] <draftId> <priority>
|
|
78
|
+
|
|
79
|
+
Set priority (lower = higher). Top 5 feed the system prompt.
|
|
80
|
+
|
|
81
|
+
Options:
|
|
82
|
+
-h, --help display help for command
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## action
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
Usage: gobi draft action [options] <draftId> <actionIndex>
|
|
89
|
+
|
|
90
|
+
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 session.
|
|
91
|
+
|
|
92
|
+
Options:
|
|
93
|
+
-h, --help display help for command
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## revise
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
Usage: gobi draft revise [options] <draftId> <comment>
|
|
100
|
+
|
|
101
|
+
Bump the draft to a new revision. Comment is required. Pass --title, --content, and/or --action to update the draft in the same call (--action repeatable, max 3, replaces all). Pass '-' for any of
|
|
102
|
+
comment/title/content to read from stdin.
|
|
103
|
+
|
|
104
|
+
Options:
|
|
105
|
+
--title <title> Replacement title
|
|
106
|
+
--content <content> Replacement content; pass '-' to read from stdin
|
|
107
|
+
--action <label> Replacement suggested action label (repeatable, max 3). When passed, replaces the entire actions array. (default: [])
|
|
108
|
+
-h, --help display help for command
|
|
109
|
+
```
|
|
@@ -8,7 +8,7 @@ description: >-
|
|
|
8
8
|
|
|
9
9
|
# Gobi Homepage Developer Guide
|
|
10
10
|
|
|
11
|
-
A **Gobi Homepage** is a custom HTML page hosted on a vault's webdrive and served as its public homepage at `https://gobispace.com/@{vaultSlug}`. Gobi injects a `window.gobi` bridge before any scripts run, giving the homepage access to vault data, files,
|
|
11
|
+
A **Gobi Homepage** is a custom HTML page hosted on a vault's webdrive and served as its public homepage at `https://gobispace.com/@{vaultSlug}`. Gobi injects a `window.gobi` bridge before any scripts run, giving the homepage access to vault data, files, vault posts, and chat.
|
|
12
12
|
|
|
13
13
|
> **Sandbox:** The homepage runs in a sandboxed iframe with `origin: null`. Direct `fetch()` / `XMLHttpRequest` calls are blocked by CORS. All data access must go through `window.gobi.*`.
|
|
14
14
|
|
|
@@ -18,9 +18,9 @@ A **Gobi Homepage** is a custom HTML page hosted on a vault's webdrive and serve
|
|
|
18
18
|
|
|
19
19
|
1. Create an HTML file in the vault (e.g. `app/home.html`) and upload:
|
|
20
20
|
```bash
|
|
21
|
-
gobi sync
|
|
21
|
+
gobi vault sync
|
|
22
22
|
```
|
|
23
|
-
2. Set `homepage` in
|
|
23
|
+
2. Set `homepage` in PUBLISH.md (homepage property):
|
|
24
24
|
- `homepage: "[[app/home.html]]"` — Gobi sidebars visible alongside the homepage
|
|
25
25
|
- `homepage: "[[app/home.html?nav=false]]"` — full-screen, no Gobi chrome
|
|
26
26
|
|
|
@@ -67,10 +67,10 @@ function getFileUrl(path) {
|
|
|
67
67
|
}
|
|
68
68
|
```
|
|
69
69
|
|
|
70
|
-
###
|
|
70
|
+
### Vault posts
|
|
71
71
|
|
|
72
72
|
```js
|
|
73
|
-
const { data: updates, pagination } = await gobi.
|
|
73
|
+
const { data: updates, pagination } = await gobi.listVaultPosts({ limit: 10, cursor: null });
|
|
74
74
|
// updates[i] → {
|
|
75
75
|
// id: 42,
|
|
76
76
|
// title: 'New insights',
|
|
@@ -88,7 +88,7 @@ for (const u of updates) {
|
|
|
88
88
|
// Pagination — load the next page using the cursor
|
|
89
89
|
if (pagination.hasMore) {
|
|
90
90
|
const { data: moreUpdates, pagination: nextPage } =
|
|
91
|
-
await gobi.
|
|
91
|
+
await gobi.listVaultPosts({ limit: 10, cursor: pagination.nextCursor });
|
|
92
92
|
}
|
|
93
93
|
```
|
|
94
94
|
|
|
@@ -119,7 +119,7 @@ const { messages, hasMore, nextCursor } = await gobi.loadMessages('sess_abc', {
|
|
|
119
119
|
// sendMessage(sessionId, text, options, onDelta) → Promise<{ content }>
|
|
120
120
|
//
|
|
121
121
|
// options.context tells the AI what the user is looking at:
|
|
122
|
-
// {
|
|
122
|
+
// { postId?: number, postTitle?: string, filePath?: string }
|
|
123
123
|
|
|
124
124
|
let reply = '';
|
|
125
125
|
await gobi.sendMessage(sessionId, 'Hello', (delta) => {
|
|
@@ -129,7 +129,7 @@ await gobi.sendMessage(sessionId, 'Hello', (delta) => {
|
|
|
129
129
|
|
|
130
130
|
// With context
|
|
131
131
|
await gobi.sendMessage(sessionId, 'Tell me more', {
|
|
132
|
-
context: {
|
|
132
|
+
context: { postId: 42, postTitle: 'New insights' }
|
|
133
133
|
}, (delta) => { reply += delta; renderReply(reply); });
|
|
134
134
|
|
|
135
135
|
await gobi.sendMessage(sessionId, 'Explain this', {
|
|
@@ -144,7 +144,7 @@ sessionId = crypto.randomUUID();
|
|
|
144
144
|
|
|
145
145
|
## Rendering Markdown
|
|
146
146
|
|
|
147
|
-
|
|
147
|
+
Post `content` and any markdown read via `readFile` may contain Obsidian-style wiki embeds (`![[path|width]]`). Resolve them before passing to a renderer.
|
|
148
148
|
|
|
149
149
|
The examples below use [marked](https://cdn.jsdelivr.net/npm/marked/marked.min.js) — include it in your `<head>`:
|
|
150
150
|
|
|
@@ -204,7 +204,7 @@ Pair with Google Fonts (e.g. Space Grotesk for headings, IBM Plex Mono for meta,
|
|
|
204
204
|
|
|
205
205
|
### Knowledge Graph from BU topics
|
|
206
206
|
|
|
207
|
-
|
|
207
|
+
Vault posts carry a `topics` array. Treat each topic as a node and any two topics co-occurring in the same post as an edge — you get a force-directed graph of the vault's themes for free. Use [d3](https://cdn.jsdelivr.net/npm/d3@7/dist/d3.min.js).
|
|
208
208
|
|
|
209
209
|
```js
|
|
210
210
|
// Separate data-building from rendering so the same graph can be drawn at multiple sizes.
|
|
@@ -272,7 +272,7 @@ function openOverlay(renderInto) {
|
|
|
272
272
|
|
|
273
273
|
Always restore `body.overflow` on close, and always remove the `keydown` listener.
|
|
274
274
|
|
|
275
|
-
###
|
|
275
|
+
### Vault post card — preview/full toggle
|
|
276
276
|
|
|
277
277
|
Show a truncated card that expands in place on click:
|
|
278
278
|
|
|
@@ -292,7 +292,7 @@ card.onclick = (event) => {
|
|
|
292
292
|
Empty chat looks dead. Show clickable prompt chips until the first message is sent:
|
|
293
293
|
|
|
294
294
|
```js
|
|
295
|
-
const prompts = ['What is this
|
|
295
|
+
const prompts = ['What is this vault about?', 'Summarize the latest post', 'What topics come up most?'];
|
|
296
296
|
chips.innerHTML = prompts.map(p => `<button class="chip">${escapeHtml(p)}</button>`).join('');
|
|
297
297
|
chips.querySelectorAll('.chip').forEach((btn, i) => {
|
|
298
298
|
btn.onclick = () => { input.value = prompts[i]; chips.remove(); input.focus(); };
|
|
@@ -361,7 +361,7 @@ Single breakpoint at `768px` is enough for most homepages:
|
|
|
361
361
|
</div>
|
|
362
362
|
|
|
363
363
|
<script>
|
|
364
|
-
document.title = gobi.vault.title || '
|
|
364
|
+
document.title = gobi.vault.title || 'Vault';
|
|
365
365
|
|
|
366
366
|
// ── Helpers ──────────────────────────────────────
|
|
367
367
|
|
|
@@ -389,11 +389,11 @@ Single breakpoint at `768px` is enough for most homepages:
|
|
|
389
389
|
`https://gobispace.com/login?redirect_uri=${encodeURIComponent(window.location.href)}`;
|
|
390
390
|
}
|
|
391
391
|
|
|
392
|
-
// ──
|
|
392
|
+
// ── Vault posts ──────────────────────────────────
|
|
393
393
|
|
|
394
394
|
async function loadUpdates() {
|
|
395
395
|
try {
|
|
396
|
-
const { data: updates } = await gobi.
|
|
396
|
+
const { data: updates } = await gobi.listVaultPosts({ limit: 5 });
|
|
397
397
|
const el = document.getElementById('updates');
|
|
398
398
|
for (const u of updates) {
|
|
399
399
|
const div = document.createElement('div');
|
|
@@ -402,7 +402,7 @@ Single breakpoint at `768px` is enough for most homepages:
|
|
|
402
402
|
el.appendChild(div);
|
|
403
403
|
}
|
|
404
404
|
} catch (err) {
|
|
405
|
-
console.error('Failed to load
|
|
405
|
+
console.error('Failed to load vault posts:', err);
|
|
406
406
|
}
|
|
407
407
|
}
|
|
408
408
|
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gobi-saved
|
|
3
|
+
description: >-
|
|
4
|
+
Gobi saved commands for the user's personal saved-knowledge collection:
|
|
5
|
+
saved notes (create/list/get/edit/delete) and saved posts (snapshot a
|
|
6
|
+
post/reply you bookmarked from feed/space; list/get/delete). Use when the
|
|
7
|
+
user wants to capture their own notes or bookmark/manage posts they've
|
|
8
|
+
saved.
|
|
9
|
+
allowed-tools: Bash(gobi:*)
|
|
10
|
+
metadata:
|
|
11
|
+
author: gobi-ai
|
|
12
|
+
version: "1.3.9"
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# gobi-saved
|
|
16
|
+
|
|
17
|
+
Gobi saved-knowledge commands (v1.3.9).
|
|
18
|
+
|
|
19
|
+
Requires gobi-cli installed and authenticated. See gobi-core skill for setup.
|
|
20
|
+
|
|
21
|
+
## What is "saved"?
|
|
22
|
+
|
|
23
|
+
`gobi saved` is the user's personal saved-knowledge collection. It has two subgroups:
|
|
24
|
+
|
|
25
|
+
- **`gobi saved note`** — User-authored notes (private, dated entries).
|
|
26
|
+
- **`gobi saved post`** — Snapshots of posts (or replies) that the user has bookmarked from a space or the global feed.
|
|
27
|
+
|
|
28
|
+
Both are user-private — only the author can see/edit/delete their own items.
|
|
29
|
+
|
|
30
|
+
## Timezone
|
|
31
|
+
|
|
32
|
+
`gobi saved note list` and `gobi saved note create` need a timezone to compute the calendar day. The CLI auto-detects your system timezone via `Intl.DateTimeFormat().resolvedOptions().timeZone`. Override with `--timezone <iana-name>` (e.g. `America/Los_Angeles`).
|
|
33
|
+
|
|
34
|
+
## Important: JSON Mode
|
|
35
|
+
|
|
36
|
+
For programmatic/agent usage, always pass `--json` as a **global** option (before the subcommand):
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
gobi --json saved note list --date 2026-04-27
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Available Commands
|
|
43
|
+
|
|
44
|
+
### Notes
|
|
45
|
+
- `gobi saved note list` — List your notes. Without `--date`, returns recent notes via cursor pagination. With `--date YYYY-MM-DD`, returns all notes for that day.
|
|
46
|
+
- `gobi saved note get <noteId>` — Get a single note by id.
|
|
47
|
+
- `gobi saved note create --content <md>` — Create a note. Use `'-'` for stdin.
|
|
48
|
+
- `gobi saved note edit <noteId>` — Edit a note. Provide `--content` and/or `--agent-id`.
|
|
49
|
+
- `gobi saved note delete <noteId>` — Delete a note you authored.
|
|
50
|
+
|
|
51
|
+
### Posts
|
|
52
|
+
- `gobi saved post list` — List posts you have saved (paginated). Filter with `--type all|article|space-post`.
|
|
53
|
+
- `gobi saved post get <postId>` — Get a saved post snapshot by post id.
|
|
54
|
+
- `gobi saved post create --source <id>` — Save a post or reply by id. Records a snapshot in your saved-posts collection.
|
|
55
|
+
- `gobi saved post delete <postId>` — Remove a post from your saved-posts collection.
|
|
56
|
+
|
|
57
|
+
## Reference Documentation
|
|
58
|
+
|
|
59
|
+
- [gobi saved](references/saved.md)
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# gobi saved
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
Usage: gobi saved [options] [command]
|
|
5
|
+
|
|
6
|
+
Saved-knowledge commands (notes and posts).
|
|
7
|
+
|
|
8
|
+
Options:
|
|
9
|
+
-h, --help display help for command
|
|
10
|
+
|
|
11
|
+
Commands:
|
|
12
|
+
note Personal saved notes (create, list, get, edit, delete).
|
|
13
|
+
post Saved posts (snapshots of posts and replies you bookmark).
|
|
14
|
+
help [command] display help for command
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## note
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
Usage: gobi saved note [options] [command]
|
|
21
|
+
|
|
22
|
+
Personal saved notes (create, list, get, edit, delete).
|
|
23
|
+
|
|
24
|
+
Options:
|
|
25
|
+
-h, --help display help for command
|
|
26
|
+
|
|
27
|
+
Commands:
|
|
28
|
+
list [options] List your notes. Without --date, returns recent notes via cursor pagination. With --date, returns all notes for that day.
|
|
29
|
+
get <noteId> Get a single note by id.
|
|
30
|
+
create [options] Create a note. Provide --content (use '-' for stdin) and/or attachments.
|
|
31
|
+
edit [options] <noteId> Edit a note. Provide --content and/or --agent-id.
|
|
32
|
+
delete <noteId> Delete a note you authored.
|
|
33
|
+
help [command] display help for command
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## post
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
Usage: gobi saved post [options] [command]
|
|
40
|
+
|
|
41
|
+
Saved posts (snapshots of posts and replies you bookmark).
|
|
42
|
+
|
|
43
|
+
Options:
|
|
44
|
+
-h, --help display help for command
|
|
45
|
+
|
|
46
|
+
Commands:
|
|
47
|
+
list [options] List posts you have saved.
|
|
48
|
+
get <postId> Get a saved post snapshot by post id.
|
|
49
|
+
create [options] Save a post or reply. Records a snapshot in your saved-posts collection.
|
|
50
|
+
delete <postId> Remove a post from your saved-posts collection.
|
|
51
|
+
help [command] display help for command
|
|
52
|
+
```
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gobi-space
|
|
3
3
|
description: >-
|
|
4
|
-
Gobi space commands
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
spaces. Space and member administration is web-UI only.
|
|
4
|
+
Gobi space and global commands: read and write posts and replies, browse
|
|
5
|
+
the unified feed and topic feeds, in a specific space or in the global
|
|
6
|
+
public feed. Use when the user wants to read or write posts and replies
|
|
7
|
+
in their Gobi community. Space and member administration is web-UI only.
|
|
9
8
|
allowed-tools: Bash(gobi:*)
|
|
10
9
|
metadata:
|
|
11
10
|
author: gobi-ai
|
|
@@ -14,13 +13,13 @@ metadata:
|
|
|
14
13
|
|
|
15
14
|
# gobi-space
|
|
16
15
|
|
|
17
|
-
Gobi space commands for community interaction (v0.9.13).
|
|
16
|
+
Gobi space and global commands for community interaction (v0.9.13).
|
|
18
17
|
|
|
19
18
|
Requires gobi-cli installed and authenticated. See gobi-core skill for setup.
|
|
20
19
|
|
|
21
20
|
## Gobi Space — Community Channel
|
|
22
21
|
|
|
23
|
-
`gobi space` is the main interface for
|
|
22
|
+
`gobi space` is the main interface for posts within a single space. `gobi global` is the same surface but for posts in the public global feed (no slug). When the user wants to engage with their community — use these commands.
|
|
24
23
|
|
|
25
24
|
- When the user wants to explore or catch up on what's happening in their space, invoke `/gobi:space-explore`.
|
|
26
25
|
- When the user wants to share or post learnings from the current session, invoke `/gobi:space-share`.
|
|
@@ -30,7 +29,7 @@ Requires gobi-cli installed and authenticated. See gobi-core skill for setup.
|
|
|
30
29
|
`gobi space` commands use the space from `.gobi/settings.yaml`. Override it with a parent-level flag:
|
|
31
30
|
|
|
32
31
|
```bash
|
|
33
|
-
gobi space --space-slug <slug> list-
|
|
32
|
+
gobi space --space-slug <slug> list-posts
|
|
34
33
|
```
|
|
35
34
|
|
|
36
35
|
## Important: JSON Mode
|
|
@@ -38,7 +37,7 @@ gobi space --space-slug <slug> list-threads
|
|
|
38
37
|
For programmatic/agent usage, always pass `--json` as a **global** option (before the subcommand):
|
|
39
38
|
|
|
40
39
|
```bash
|
|
41
|
-
gobi --json space list-
|
|
40
|
+
gobi --json space list-posts
|
|
42
41
|
```
|
|
43
42
|
|
|
44
43
|
> Space and member administration (creating spaces, inviting/approving members, joining/leaving) is web-UI only and not available in the CLI.
|
|
@@ -47,35 +46,39 @@ gobi --json space list-threads
|
|
|
47
46
|
|
|
48
47
|
### Space details
|
|
49
48
|
- `gobi space get` — Get details for a space.
|
|
49
|
+
- `gobi space warp` — Select the active space.
|
|
50
50
|
|
|
51
51
|
### Topics
|
|
52
52
|
- `gobi space list-topics` — List topics in a space, ordered by most recent content linkage.
|
|
53
|
-
- `gobi space list-topic-
|
|
53
|
+
- `gobi space list-topic-posts` — List posts tagged with a topic in a space (cursor-paginated).
|
|
54
54
|
|
|
55
|
-
### Feed
|
|
56
|
-
- `gobi space
|
|
57
|
-
- `gobi space ancestors` — Show the ancestor lineage of a thread or reply (root → immediate parent).
|
|
55
|
+
### Feed
|
|
56
|
+
- `gobi space feed` — List the unified feed (posts and replies, newest first).
|
|
58
57
|
|
|
59
|
-
###
|
|
60
|
-
- `gobi space
|
|
61
|
-
- `gobi space
|
|
62
|
-
- `gobi space create-
|
|
63
|
-
- `gobi space edit-
|
|
64
|
-
- `gobi space delete-
|
|
58
|
+
### Posts
|
|
59
|
+
- `gobi space list-posts` — List posts in a space (paginated).
|
|
60
|
+
- `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.
|
|
61
|
+
- `gobi space create-post` — Create a post in a space.
|
|
62
|
+
- `gobi space edit-post <postId>` — Edit a post. You must be the author.
|
|
63
|
+
- `gobi space delete-post <postId>` — Delete a post. You must be the author.
|
|
65
64
|
|
|
66
65
|
### Replies
|
|
67
|
-
- `gobi space create-reply
|
|
68
|
-
- `gobi space edit-reply
|
|
69
|
-
- `gobi space delete-reply
|
|
70
|
-
|
|
71
|
-
### Global
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
- `gobi global
|
|
75
|
-
- `gobi global
|
|
76
|
-
- `gobi global
|
|
77
|
-
- `gobi global create-
|
|
78
|
-
- `gobi global
|
|
66
|
+
- `gobi space create-reply <postId>` — Create a reply to a post in a space.
|
|
67
|
+
- `gobi space edit-reply <replyId>` — Edit a reply. You must be the author.
|
|
68
|
+
- `gobi space delete-reply <replyId>` — Delete a reply. You must be the author.
|
|
69
|
+
|
|
70
|
+
### Global feed
|
|
71
|
+
`gobi global` is the same surface, but operates on the public global feed (no space slug). Posts are vault-authored and visible across all spaces.
|
|
72
|
+
|
|
73
|
+
- `gobi global feed` — List the global public feed (posts and replies, newest first).
|
|
74
|
+
- `gobi global list-posts` — List posts in the global feed. Pass `--mine` for your own posts; `--vault-slug <slug>` to filter by vault.
|
|
75
|
+
- `gobi global get-post <postId>` — Get a global post with its ancestors and replies.
|
|
76
|
+
- `gobi global create-post` — Create a post in the global feed (publishes from your vault).
|
|
77
|
+
- `gobi global edit-post <postId>` — Edit a post you authored.
|
|
78
|
+
- `gobi global delete-post <postId>` — Delete a post you authored.
|
|
79
|
+
- `gobi global create-reply <postId>` — Reply to a post in the global feed.
|
|
80
|
+
- `gobi global edit-reply <replyId>` — Edit a reply you authored.
|
|
81
|
+
- `gobi global delete-reply <replyId>` — Delete a reply you authored.
|
|
79
82
|
|
|
80
83
|
## Reference Documentation
|
|
81
84
|
|