@dedesfr/prompter 0.8.18 → 0.8.20
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/CHANGELOG.md +22 -0
- package/dist/cli/index.js +1 -1
- package/package.json +1 -1
- package/skills/cerebro/SKILL.md +187 -0
- package/skills/cerebro/references/agents.md +213 -0
- package/src/cli/index.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# CHANGELOG
|
|
2
2
|
|
|
3
|
+
## [0.8.20] - 2026-05-08
|
|
4
|
+
|
|
5
|
+
### 🔄 Changed
|
|
6
|
+
- **cerebro Skill**: Streamlined session handoff workflow
|
|
7
|
+
- Project creation now happens directly via API instead of redirecting to browser
|
|
8
|
+
- Added direct memory ID resume: users can now say "resume memory k97abc" and agents load it instantly
|
|
9
|
+
- Improved confirmation message with clear instructions on how to load memories in any agent
|
|
10
|
+
- **cerebro Reference**: Complete overhaul of MCP configuration documentation
|
|
11
|
+
- Reorganized per-agent setup with consistent format (transport, config path, restart needed, verify commands)
|
|
12
|
+
- Added VS Code MCP configuration for Copilot users
|
|
13
|
+
- Added stdio binary build instructions and available tools reference table
|
|
14
|
+
- Simplified verification commands for each agent
|
|
15
|
+
|
|
16
|
+
## [0.8.19] - 2026-05-07
|
|
17
|
+
|
|
18
|
+
### ✨ Added
|
|
19
|
+
- **cerebro Skill**: Save and resume cross-agent conversational sessions through the Cerebro MCP server
|
|
20
|
+
- Enables session preservation when switching between AI agents (Claude Code, Codex, OpenCode, Cursor, Windsurf)
|
|
21
|
+
- Useful when approaching usage limits and needing to continue elsewhere
|
|
22
|
+
- Supports handoff-save and handoff-resume workflows
|
|
23
|
+
- Includes setup guidance for connecting Cerebro to various AI agents
|
|
24
|
+
|
|
3
25
|
## [0.8.18] - 2026-05-06
|
|
4
26
|
|
|
5
27
|
### 🔄 Changed
|
package/dist/cli/index.js
CHANGED
|
@@ -16,7 +16,7 @@ const program = new Command();
|
|
|
16
16
|
program
|
|
17
17
|
.name('prompter')
|
|
18
18
|
.description('Enhance prompts directly in your AI coding workflow')
|
|
19
|
-
.version('0.8.
|
|
19
|
+
.version('0.8.20');
|
|
20
20
|
program
|
|
21
21
|
.command('init')
|
|
22
22
|
.description('Initialize Prompter in your project')
|
package/package.json
CHANGED
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cerebro
|
|
3
|
+
description: Save and resume cross-agent conversational sessions through the Cerebro MCP server. Use this skill whenever the user wants to preserve session context before switching AI agents (Claude Code → Codex → OpenCode → Cursor → Windsurf, or any combination), is approaching a usage limit and needs to continue elsewhere, says things like "save this for the next agent", "summarize this session", "I'm switching to Codex", "continuing in OpenCode", "pick up where the last agent left off", "resume from yesterday's session", or invokes `/handoff-save` / `/handoff-resume`. Also trigger for first-time setup when the user asks to connect Cerebro to their agents. Trigger this skill even if the user does not name Cerebro explicitly — any cross-agent handoff or session-summary intent qualifies.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Session Handoff via Cerebro MCP
|
|
7
|
+
|
|
8
|
+
## What this skill is for
|
|
9
|
+
|
|
10
|
+
Long coding sessions often outlive a single agent's usage budget. The user might start in Claude Code, hit a limit, and switch to Codex or OpenCode — but the new agent has zero context. This skill bridges that gap by writing a structured session summary to Cerebro and pulling it back when a new agent starts.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Step 0 — First-time setup
|
|
15
|
+
|
|
16
|
+
Before save/recall will work, Cerebro MCP must be installed in the agents the user wants to use. Check whether the cerebro tools are already available (look for `mcp__cerebro__memory_create` in Claude Code, or `cerebro.*` tools in other agents).
|
|
17
|
+
|
|
18
|
+
**If not yet set up**, ask the user which agents they want to install Cerebro into, then show only the relevant instructions from the list below. Don't dump all six agents at once — pick the ones they asked for.
|
|
19
|
+
|
|
20
|
+
### Claude Code
|
|
21
|
+
```bash
|
|
22
|
+
claude mcp add --transport http --scope user cerebro http://localhost:3000/api/mcp \
|
|
23
|
+
--header "Authorization: Bearer YOUR_TOKEN"
|
|
24
|
+
```
|
|
25
|
+
Verify: `claude mcp list` — should show `cerebro connected`.
|
|
26
|
+
No restart needed.
|
|
27
|
+
|
|
28
|
+
### OpenCode
|
|
29
|
+
Add to `~/.config/opencode/opencode.json`:
|
|
30
|
+
```json
|
|
31
|
+
{
|
|
32
|
+
"mcp": {
|
|
33
|
+
"cerebro": {
|
|
34
|
+
"type": "remote",
|
|
35
|
+
"url": "http://localhost:3000/api/mcp",
|
|
36
|
+
"headers": { "Authorization": "Bearer YOUR_TOKEN" },
|
|
37
|
+
"enabled": true
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
No restart needed — picked up on next `opencode` invocation.
|
|
43
|
+
|
|
44
|
+
### Codex (OpenAI Codex CLI)
|
|
45
|
+
Add to `~/.codex/config.json`:
|
|
46
|
+
```json
|
|
47
|
+
{
|
|
48
|
+
"mcpServers": {
|
|
49
|
+
"cerebro": {
|
|
50
|
+
"command": "node",
|
|
51
|
+
"args": ["/path/to/cerebro-mcp-server/dist/index.js"],
|
|
52
|
+
"env": {
|
|
53
|
+
"CEREBRO_URL": "http://localhost:3000",
|
|
54
|
+
"CEREBRO_TOKEN": "YOUR_TOKEN"
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
The `cerebro-mcp-server` binary lives in the Cerebro repo under `cerebro-mcp-server/`. Build it once with `npm install && npm run build` if `dist/index.js` doesn't exist yet.
|
|
61
|
+
|
|
62
|
+
### Cursor
|
|
63
|
+
Add to `~/.cursor/mcp.json`:
|
|
64
|
+
```json
|
|
65
|
+
{
|
|
66
|
+
"mcpServers": {
|
|
67
|
+
"cerebro": {
|
|
68
|
+
"command": "node",
|
|
69
|
+
"args": ["/path/to/cerebro-mcp-server/dist/index.js"],
|
|
70
|
+
"env": {
|
|
71
|
+
"CEREBRO_URL": "http://localhost:3000",
|
|
72
|
+
"CEREBRO_TOKEN": "YOUR_TOKEN"
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
**Restart Cursor** to pick up the change.
|
|
79
|
+
|
|
80
|
+
### Windsurf
|
|
81
|
+
Add to `~/.codeium/windsurf/mcp_config.json`:
|
|
82
|
+
```json
|
|
83
|
+
{
|
|
84
|
+
"mcpServers": {
|
|
85
|
+
"cerebro": {
|
|
86
|
+
"command": "node",
|
|
87
|
+
"args": ["/path/to/cerebro-mcp-server/dist/index.js"],
|
|
88
|
+
"env": {
|
|
89
|
+
"CEREBRO_URL": "http://localhost:3000",
|
|
90
|
+
"CEREBRO_TOKEN": "YOUR_TOKEN"
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
**Restart Windsurf** to pick up the change.
|
|
97
|
+
|
|
98
|
+
### Claude Desktop
|
|
99
|
+
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
100
|
+
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
101
|
+
```json
|
|
102
|
+
{
|
|
103
|
+
"mcpServers": {
|
|
104
|
+
"cerebro": {
|
|
105
|
+
"command": "node",
|
|
106
|
+
"args": ["/path/to/cerebro-mcp-server/dist/index.js"],
|
|
107
|
+
"env": {
|
|
108
|
+
"CEREBRO_URL": "http://localhost:3000",
|
|
109
|
+
"CEREBRO_TOKEN": "YOUR_TOKEN"
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
```
|
|
115
|
+
**Restart Claude Desktop** to pick up the change.
|
|
116
|
+
|
|
117
|
+
### Getting a token
|
|
118
|
+
Generate one at `http://localhost:3000` → **Settings → Agent Tokens**. One token can be reused across all agents.
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Two operations
|
|
123
|
+
|
|
124
|
+
| Trigger | Action |
|
|
125
|
+
|---|---|
|
|
126
|
+
| `/handoff-save`, "save this session", "I'm switching to Codex", "summarize this for the next agent" | **Save**: write a structured summary to Cerebro |
|
|
127
|
+
| `/handoff-resume`, "resume the last session", "pick up where I left off", "what was Claude working on" | **Recall**: fetch the most recent handoff and load it into context |
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Saving a handoff
|
|
132
|
+
|
|
133
|
+
1. **Build the structured summary** from the conversation so far:
|
|
134
|
+
|
|
135
|
+
```yaml
|
|
136
|
+
goal: <one or two sentences — what is the user ultimately trying to achieve?>
|
|
137
|
+
status: <where things stand right now>
|
|
138
|
+
decisions:
|
|
139
|
+
- <each non-obvious choice, with the reason>
|
|
140
|
+
files_touched:
|
|
141
|
+
- path: <relative path>
|
|
142
|
+
change: <what was modified, added, or deleted>
|
|
143
|
+
open_questions:
|
|
144
|
+
- <anything unresolved or uncertain>
|
|
145
|
+
next_steps:
|
|
146
|
+
- <concrete items the next agent should pick up first>
|
|
147
|
+
gotchas: <optional — subtle constraints the next agent must not miss>
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Be honest: if a change wasn't applied, don't list it. If a decision was tentative, say so.
|
|
151
|
+
|
|
152
|
+
2. **Pick a project slug** — use the current working directory's folder name. Confirm only if the cwd looks generic (home dir, `/tmp`).
|
|
153
|
+
|
|
154
|
+
3. **Resolve the project ID** via `mcp__cerebro__project_list`. If no project matches the slug, show the existing projects and ask the user whether to pick one or create a new one. If they want a new project, call `mcp__cerebro__project_create` with the slug as the name — no need to open the browser. Never silently fall back to a different project.
|
|
155
|
+
|
|
156
|
+
4. **Call `memory_create`**:
|
|
157
|
+
- `project`: the slug or ID
|
|
158
|
+
- `summary`: the YAML from step 1
|
|
159
|
+
- `sourceAgent`: current agent name (`claude-code`, `codex`, `opencode`, `cursor`, `windsurf`)
|
|
160
|
+
- `tags`: `["session-handoff", "<source-agent-name>"]`
|
|
161
|
+
- `metadata`: `{"cwd": "<current working directory>"}`
|
|
162
|
+
|
|
163
|
+
5. **Confirm** the memory ID to the user. Tell them:
|
|
164
|
+
- They can verify it in the Cerebro dashboard (the ID is shown on each memory card).
|
|
165
|
+
- In any agent, they can load it instantly by just providing the ID: `"load memory <id>"` → `memory_get({ memoryId: "<id>" })` — no project needed.
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Resuming a handoff
|
|
170
|
+
|
|
171
|
+
0. **If the user gives you a memory ID directly** (e.g. "resume memory k97abc123"), call `mcp__cerebro__memory_get({ memoryId: "<id>" })` immediately — skip steps 1–3.
|
|
172
|
+
1. Otherwise, determine the project slug (cwd folder name, or ask).
|
|
173
|
+
2. Resolve to a project ID via `project_list` if needed.
|
|
174
|
+
3. Call `memory_search` with query `"session-handoff"`. Filter results to those with `session-handoff` in their tags, sort by `createdAt` descending, take the newest.
|
|
175
|
+
4. Re-state goal and status in one or two sentences and ask if the user wants to start with the first next-step. Don't dump the whole YAML — they want continuity, not a recap wall.
|
|
176
|
+
5. If multiple handoffs match, list them briefly (date + agent + one-line goal) and ask which to resume.
|
|
177
|
+
6. If nothing matches, say so and offer to search by keyword.
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## Why structured YAML
|
|
182
|
+
|
|
183
|
+
Named fields let any agent parse the handoff reliably without re-reading a wall of prose. The next agent has no shared memory of the prior conversation — only this summary. If a field doesn't apply, write `none` or omit it.
|
|
184
|
+
|
|
185
|
+
## Reference
|
|
186
|
+
|
|
187
|
+
`references/agents.md` — per-agent config file paths, transport types, and restart requirements.
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
# Per-Agent MCP Configuration Reference
|
|
2
|
+
|
|
3
|
+
## Token
|
|
4
|
+
|
|
5
|
+
Generate a token at your Cerebro instance → **Settings → Agent Tokens**. Enter a name (e.g. "My Computer"), click **Issue token**, and copy it immediately — it won't be shown again.
|
|
6
|
+
|
|
7
|
+
Tokens are **user-scoped**: one token grants read+write access to all projects, including ones created later.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Per-agent details
|
|
12
|
+
|
|
13
|
+
### Claude Code
|
|
14
|
+
|
|
15
|
+
- **Transport**: HTTP (no binary needed)
|
|
16
|
+
- **Config**: `claude mcp add` CLI (preferred), or add to `~/.claude/settings.json`
|
|
17
|
+
- **Restart needed?** No
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
claude mcp add --transport http --scope user cerebro \
|
|
21
|
+
http://localhost:3000/api/mcp \
|
|
22
|
+
--header "Authorization: Bearer YOUR_TOKEN"
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Verify: `claude mcp list` — expect `cerebro connected`.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
### OpenCode
|
|
30
|
+
|
|
31
|
+
- **Transport**: remote HTTP (no binary needed)
|
|
32
|
+
- **Config**: `~/.config/opencode/opencode.json` or project-root `opencode.json`
|
|
33
|
+
- **Restart needed?** No
|
|
34
|
+
|
|
35
|
+
```jsonc
|
|
36
|
+
{
|
|
37
|
+
"$schema": "https://opencode.ai/config.json",
|
|
38
|
+
"mcp": {
|
|
39
|
+
"cerebro": {
|
|
40
|
+
"type": "remote",
|
|
41
|
+
"url": "http://localhost:3000/api/mcp",
|
|
42
|
+
"headers": { "Authorization": "Bearer YOUR_TOKEN" },
|
|
43
|
+
"enabled": true
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Verify: `opencode mcp list`
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
### Cursor
|
|
54
|
+
|
|
55
|
+
- **Transport**: stdio (requires built binary)
|
|
56
|
+
- **Config**: `~/.cursor/mcp.json`
|
|
57
|
+
- **Restart needed?** **Yes** — full Cursor restart
|
|
58
|
+
|
|
59
|
+
```json
|
|
60
|
+
{
|
|
61
|
+
"mcpServers": {
|
|
62
|
+
"cerebro": {
|
|
63
|
+
"command": "node",
|
|
64
|
+
"args": ["/path/to/cerebro-mcp-server/dist/index.js"],
|
|
65
|
+
"env": {
|
|
66
|
+
"CEREBRO_URL": "http://localhost:3000",
|
|
67
|
+
"CEREBRO_TOKEN": "YOUR_TOKEN"
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
### VS Code (GitHub Copilot / Copilot Chat)
|
|
77
|
+
|
|
78
|
+
- **Transport**: stdio (requires built binary)
|
|
79
|
+
- **Requires**: VS Code 1.99+ with Copilot extension
|
|
80
|
+
- **Config**: `.vscode/mcp.json` (workspace) or user MCP config via Command Palette → **MCP: Open User Configuration**
|
|
81
|
+
- **Restart needed?** Yes
|
|
82
|
+
|
|
83
|
+
```json
|
|
84
|
+
{
|
|
85
|
+
"servers": {
|
|
86
|
+
"cerebro": {
|
|
87
|
+
"type": "stdio",
|
|
88
|
+
"command": "node",
|
|
89
|
+
"args": ["/path/to/cerebro-mcp-server/dist/index.js"],
|
|
90
|
+
"env": {
|
|
91
|
+
"CEREBRO_URL": "http://localhost:3000",
|
|
92
|
+
"CEREBRO_TOKEN": "YOUR_TOKEN"
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
### Windsurf
|
|
102
|
+
|
|
103
|
+
- **Transport**: stdio (requires built binary)
|
|
104
|
+
- **Config**: `~/.codeium/windsurf/mcp_config.json`
|
|
105
|
+
- **Restart needed?** **Yes** — full Windsurf restart
|
|
106
|
+
|
|
107
|
+
```json
|
|
108
|
+
{
|
|
109
|
+
"mcpServers": {
|
|
110
|
+
"cerebro": {
|
|
111
|
+
"command": "node",
|
|
112
|
+
"args": ["/path/to/cerebro-mcp-server/dist/index.js"],
|
|
113
|
+
"env": {
|
|
114
|
+
"CEREBRO_URL": "http://localhost:3000",
|
|
115
|
+
"CEREBRO_TOKEN": "YOUR_TOKEN"
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
### Claude Desktop
|
|
125
|
+
|
|
126
|
+
- **Transport**: stdio (requires built binary)
|
|
127
|
+
- **Config**:
|
|
128
|
+
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
129
|
+
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
130
|
+
- **Restart needed?** **Yes**
|
|
131
|
+
|
|
132
|
+
```json
|
|
133
|
+
{
|
|
134
|
+
"mcpServers": {
|
|
135
|
+
"cerebro": {
|
|
136
|
+
"command": "node",
|
|
137
|
+
"args": ["/path/to/cerebro-mcp-server/dist/index.js"],
|
|
138
|
+
"env": {
|
|
139
|
+
"CEREBRO_URL": "http://localhost:3000",
|
|
140
|
+
"CEREBRO_TOKEN": "YOUR_TOKEN"
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
### Codex CLI
|
|
150
|
+
|
|
151
|
+
- **Transport**: stdio (requires built binary)
|
|
152
|
+
- **Config**: `~/.codex/config.json`
|
|
153
|
+
- **Restart needed?** No
|
|
154
|
+
|
|
155
|
+
```json
|
|
156
|
+
{
|
|
157
|
+
"mcpServers": {
|
|
158
|
+
"cerebro": {
|
|
159
|
+
"command": "node",
|
|
160
|
+
"args": ["/path/to/cerebro-mcp-server/dist/index.js"],
|
|
161
|
+
"env": {
|
|
162
|
+
"CEREBRO_URL": "http://localhost:3000",
|
|
163
|
+
"CEREBRO_TOKEN": "YOUR_TOKEN"
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## Building the stdio binary
|
|
173
|
+
|
|
174
|
+
Required for all stdio-transport agents (Cursor, VS Code, Windsurf, Claude Desktop, Codex CLI):
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
cd /path/to/cerebro-mcp-server
|
|
178
|
+
npm install && npm run build
|
|
179
|
+
# produces dist/index.js — use its absolute path in configs above
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Available tools
|
|
185
|
+
|
|
186
|
+
| Tool | What it does |
|
|
187
|
+
|---|---|
|
|
188
|
+
| `project_list` | List all projects (name, slug, ID) |
|
|
189
|
+
| `project_create` | Create a new project |
|
|
190
|
+
| `memory_create` | Create a memory in a project |
|
|
191
|
+
| `memory_get` | Fetch a memory by ID only — no project needed |
|
|
192
|
+
| `memory_update` | Update an existing memory |
|
|
193
|
+
| `memory_delete` | Delete a memory permanently |
|
|
194
|
+
| `memory_list` | List all memories in a project |
|
|
195
|
+
| `memory_search` | Full-text search across a project's memories |
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## Verifying after install
|
|
200
|
+
|
|
201
|
+
In Claude Code:
|
|
202
|
+
```bash
|
|
203
|
+
claude mcp list
|
|
204
|
+
```
|
|
205
|
+
Expect `cerebro` with status `connected`.
|
|
206
|
+
|
|
207
|
+
In OpenCode:
|
|
208
|
+
```bash
|
|
209
|
+
opencode mcp list
|
|
210
|
+
opencode mcp debug cerebro
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
In stdio-transport agents (Cursor, VS Code, Windsurf, Claude Desktop), check the tool list (hammer icon) for the 8 tools above after restarting.
|