@polderlabs/bizar 6.2.3 → 6.2.5

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.
Files changed (43) hide show
  1. package/cli/bin.mjs +14 -0
  2. package/cli/commands/sandbox.mjs +220 -0
  3. package/cli/commands/validate.mjs +66 -0
  4. package/cli/commands/validate.test.mjs +72 -0
  5. package/cli/provision.mjs +107 -0
  6. package/cli/provision.test.mjs +102 -0
  7. package/config/agents/_shared/AGENT_BASELINE.md +104 -645
  8. package/config/agents/_shared/CLINE_TOOLS.md +398 -0
  9. package/config/agents/agent-browser.md +1 -1
  10. package/config/agents/baldr.md +1 -1
  11. package/config/agents/forseti.md +1 -1
  12. package/config/agents/frigg.md +1 -1
  13. package/config/agents/heimdall.md +1 -1
  14. package/config/agents/hermod.md +1 -1
  15. package/config/agents/mimir.md +1 -1
  16. package/config/agents/odin.md +1 -1
  17. package/config/agents/quick.md +1 -1
  18. package/config/agents/semble-search.md +1 -1
  19. package/config/agents/thor.md +1 -1
  20. package/config/agents/tyr.md +1 -1
  21. package/config/agents/vidarr.md +1 -1
  22. package/config/agents/vor.md +1 -1
  23. package/config/cline.json.template +2 -2
  24. package/config/skills/bizar/SKILL.md +197 -0
  25. package/config/skills/cubesandbox/SKILL.md +148 -0
  26. package/config/skills/harness-engineering/SKILL.md +142 -0
  27. package/package.json +1 -1
  28. package/plugins/bizar/index.ts +57 -4
  29. package/plugins/bizar/package.json +1 -1
  30. package/plugins/bizar/src/clineruntime.ts +18 -3
  31. package/plugins/bizar/src/fingerprint.ts +11 -11
  32. package/plugins/bizar/src/options.ts +14 -7
  33. package/plugins/bizar/src/tools/sandbox.ts +232 -0
  34. package/plugins/bizar/src/trajectory.ts +2 -2
  35. package/plugins/bizar/tests/clineruntime-config.test.ts +45 -4
  36. package/plugins/bizar/tests/fingerprint.test.ts +28 -0
  37. package/plugins/bizar/tests/options.test.ts +6 -6
  38. package/plugins/bizar/tests/safety.test.ts +25 -0
  39. package/plugins/bizar/tests/tools/sandbox.test.ts +117 -0
  40. package/scripts/bh-full-e2e.mjs +22 -0
  41. package/scripts/check-agents.mjs +73 -0
  42. package/scripts/mirror-agents-md.sh +69 -0
  43. package/scripts/test-in-container.sh +135 -0
@@ -0,0 +1,398 @@
1
+ # Cline Tools Reference
2
+
3
+ > **Read this before calling any Cline tool.** Calling tools with the
4
+ > wrong argument shape is the #1 cause of "max consecutive mistakes
5
+ > reached" session aborts. When in doubt, read this file.
6
+
7
+ Every Bizar agent runs inside a Cline session and has access to
8
+ Cline's built-in tools plus the Bizar plugin's `bizar_*` tools. This
9
+ file is the single source of truth for **how to call every Cline
10
+ tool correctly**.
11
+
12
+ For a list of what each tool does, see https://docs.cline.bot.
13
+ This file focuses on **argument shapes** — the part that, when wrong,
14
+ silently fails or gets flagged as a "mistake".
15
+
16
+ ---
17
+
18
+ ## Quick reference (cheat sheet)
19
+
20
+ | Tool | Required fields | Common mistake |
21
+ |---|---|---|
22
+ | `read_file` | `path` | passing a dir instead of a file |
23
+ | `list_files` | `path` | forgetting `recursive: true` for nested lookups |
24
+ | `search_files` | `query` (regex) | passing non-regex without `include_pattern` |
25
+ | `editor` | `path`, `new_text` (and `old_text` OR `insert_line`) | `old_text` not matching whitespace exactly |
26
+ | `apply_patch` | `path`, `patch_text` | missing `*** Begin Patch` / `*** End Patch` sentinels |
27
+ | `execute_command` | `command` | shell redirects (`>`, `>>`) blocked by default; 10-min timeout |
28
+ | `web_fetch` | `url` | passing a non-HTTP URL |
29
+ | `ask_question` | `question`, `options` (array of 2–5) | **`options: null` → silent failure → mistake limit** |
30
+ | `use_skill` | `skill` | passing a skill that isn't installed |
31
+ | `use_subagents` | `prompts` (array of strings) | one prompt per subagent |
32
+ | `task` | `agent` (Bizar agent name), `prompt` | passing a non-Bizar agent name |
33
+
34
+ ---
35
+
36
+ ## `read_file`
37
+
38
+ Read a file (or a slice of one).
39
+
40
+ ```json
41
+ {
42
+ "path": "/abs/path/to/file.ts",
43
+ "start_line": 10,
44
+ "end_line": 50
45
+ }
46
+ ```
47
+
48
+ | Field | Type | Required | Notes |
49
+ |---|---|---|---|
50
+ | `path` | string | **yes** | Absolute path. Reading a directory throws. |
51
+ | `start_line` | number | no | 1-based. Defaults to 1. |
52
+ | `end_line` | number | no | 1-based, inclusive. If omitted, reads to EOF. |
53
+
54
+ **Failure modes:** `path` to a directory throws `Path is not a file`. `path` to a non-existent file throws. Don't pass `start_line` > `end_line`.
55
+
56
+ ---
57
+
58
+ ## `list_files`
59
+
60
+ List files in a directory.
61
+
62
+ ```json
63
+ {
64
+ "path": "/abs/path/to/dir",
65
+ "recursive": true
66
+ }
67
+ ```
68
+
69
+ | Field | Type | Required | Notes |
70
+ |---|---|---|---|
71
+ | `path` | string | **yes** | Absolute path to a directory. |
72
+ | `recursive` | bool | no | Default false. **Set true for nested lookups.** |
73
+
74
+ **Failure modes:** `path` to a file throws. The output excludes common build dirs (node_modules, .git, dist, build, .next, coverage, __pycache__, .venv, target, out, bin, obj). Don't rely on the default for deep trees.
75
+
76
+ ---
77
+
78
+ ## `search_files`
79
+
80
+ Regex search across files.
81
+
82
+ ```json
83
+ {
84
+ "query": "class \\w+ extends Plugin",
85
+ "path": "/abs/path/to/project",
86
+ "include_pattern": "*.ts",
87
+ "max_results": 50
88
+ }
89
+ ```
90
+
91
+ | Field | Type | Required | Notes |
92
+ |---|---|---|---|
93
+ | `query` | string | **yes** | Treated as a regex. Use `rg` syntax. |
94
+ | `path` | string | no | Defaults to cwd. Absolute path recommended. |
95
+ | `include_pattern` | string | no | Glob, e.g. `*.ts`, `*.{ts,tsx}`. |
96
+ | `max_results` | number | no | Default 100. Clamped server-side. |
97
+
98
+ **Failure modes:** An invalid regex throws `Invalid regex pattern`. Path to a file throws — must be a directory.
99
+
100
+ ---
101
+
102
+ ## `editor`
103
+
104
+ The workhorse edit tool. Three modes:
105
+
106
+ ### Mode 1 — `old_text` / `new_text` (replace a block)
107
+
108
+ ```json
109
+ {
110
+ "path": "/abs/path/to/file.ts",
111
+ "old_text": "export const foo = 1;\n",
112
+ "new_text": "export const foo = 2;\n"
113
+ }
114
+ ```
115
+
116
+ - `old_text` must match EXACTLY including whitespace and trailing newline.
117
+ - If `old_text` is not found → tool returns error `text not found in <path>`.
118
+ - If `old_text` matches more than once → tool returns error `multiple occurrences of text found`.
119
+
120
+ **This is the #1 cause of agent mistakes.** When in doubt:
121
+ 1. First call `read_file` on the file
122
+ 2. Copy the exact bytes (including indentation and trailing newline)
123
+ 3. Make the smallest possible edit
124
+
125
+ ### Mode 2 — `insert_line` (insert at line N)
126
+
127
+ ```json
128
+ {
129
+ "path": "/abs/path/to/file.ts",
130
+ "insert_line": 42,
131
+ "new_text": "// new comment\nconst x = 1;\n"
132
+ }
133
+ ```
134
+
135
+ - `insert_line` is 1-based. The new content is INSERTED before line N.
136
+ - Use `insert_line: <last line + 1>` to append at EOF.
137
+ - `insert_line` must be in `1..<last line + 1>`. Out-of-range throws.
138
+
139
+ ### Mode 3 — file does not exist (create new)
140
+
141
+ If the file does not exist, omit `old_text` and pass only `new_text`. Cline creates the parent directories automatically.
142
+
143
+ ```json
144
+ {
145
+ "path": "/abs/path/to/new-file.ts",
146
+ "new_text": "// brand new file content\n"
147
+ }
148
+ ```
149
+
150
+ **Common failures:**
151
+ - "No replacement performed: text not found" — whitespace mismatch. Re-read the file and copy the bytes exactly.
152
+ - "multiple occurrences" — your `old_text` is too generic. Make it more specific (include more surrounding context).
153
+ - Missing trailing `\n` — the new_text and old_text must end with `\n` if the file does.
154
+
155
+ ---
156
+
157
+ ## `apply_patch`
158
+
159
+ Multi-file unified-diff patches. Use when editing several files atomically.
160
+
161
+ ```
162
+ *** Begin Patch
163
+ *** Update File: /abs/path/file.ts
164
+ @@ context line
165
+ -old line
166
+ +new line
167
+ *** End Patch
168
+ ```
169
+
170
+ **Sentinels are mandatory.** Missing `*** Begin Patch` or `*** End Patch` → throws `Invalid patch text - incomplete sentinels. Try breaking it into smaller patches.`
171
+
172
+ **Prefer `editor` for single-file edits.** Use `apply_patch` only when you need to:
173
+ - Edit 2+ files in one atomic operation
174
+ - Apply a unified diff you already have
175
+
176
+ ---
177
+
178
+ ## `execute_command`
179
+
180
+ Run a shell command.
181
+
182
+ ```json
183
+ {
184
+ "command": "ls -la /tmp",
185
+ "cwd": "/abs/path",
186
+ "timeout": 30000
187
+ }
188
+ ```
189
+
190
+ | Field | Type | Required | Notes |
191
+ |---|---|---|---|
192
+ | `command` | string | **yes** | Passed to `/bin/bash -c` (Linux/macOS) or `cmd /c` (Windows). |
193
+ | `cwd` | string | no | Defaults to the Cline session's cwd. |
194
+ | `timeout` | number | no | **Max 600,000 ms (10 min).** Larger values are clamped. |
195
+
196
+ **Critical constraints:**
197
+ - **No shell redirects** (`>`, `>>`, `<`) unless `CLINE_COMMAND_PERMISSIONS.allowRedirects` is true. Use `editor` or `apply_patch` to write files.
198
+ - Long-running processes will hit the timeout. For >10min tasks, use `bizar_spawn_background` instead (Bizar plugin tool).
199
+ - The `command` string IS a shell command. Quote carefully. Use `&&` to chain, `;` to sequence, `|` to pipe.
200
+
201
+ **Common failures:**
202
+ - `command not found` — the binary isn't on PATH. Use absolute path or `which <name>` first.
203
+ - `Permission denied` — file isn't executable, or you're writing to a protected dir.
204
+ - `timeout` — increase `timeout` (max 600000) or move to background agent.
205
+
206
+ ---
207
+
208
+ ## `web_fetch`
209
+
210
+ Fetch a URL and return the content as text.
211
+
212
+ ```json
213
+ {
214
+ "url": "https://example.com/docs"
215
+ }
216
+ ```
217
+
218
+ | Field | Type | Required | Notes |
219
+ |---|---|---|---|
220
+ | `url` | string | **yes** | Must be HTTP/HTTPS. No `file://`. |
221
+
222
+ **Failure modes:** Non-HTTP URLs throw. The fetch goes through Cline's content extractor; PDFs, JS-rendered pages, and login-walled sites may return partial content.
223
+
224
+ ---
225
+
226
+ ## `ask_question`
227
+
228
+ Ask the user ONE clarifying question with 2–5 options. **This is the most-misused tool.**
229
+
230
+ ```json
231
+ {
232
+ "question": "Which database do you want to use?",
233
+ "options": ["PostgreSQL", "MySQL", "SQLite", "MongoDB"]
234
+ }
235
+ ```
236
+
237
+ | Field | Type | Required | Notes |
238
+ |---|---|---|---|
239
+ | `question` | string | **yes** | One question. Multi-question calls fail. |
240
+ | `options` | array of 2–5 strings | **yes** | **MUST be an array of strings.** Must be 2–5 items. |
241
+
242
+ ### ⚠️ CRITICAL — `options` is REQUIRED, not optional
243
+
244
+ If you pass `options: null`, `options: undefined`, or `options: []`, Cline
245
+ **silently rejects the call** and counts it as a mistake. After 3 such
246
+ silent failures (since v6.2.0; 10 since v6.2.4), the session aborts.
247
+
248
+ ### When to use `ask_question`
249
+
250
+ - A key implementation decision has multiple valid paths
251
+ - The user said something ambiguous and you need to clarify before doing real work
252
+ - You're about to make a destructive change (rm, drop table, force-push)
253
+
254
+ ### When NOT to use `ask_question`
255
+
256
+ - You can decide safely using sensible defaults
257
+ - The user's intent is clear from context
258
+ - You're just confirming something you should have done already
259
+ - The answer is in the codebase (use `read_file` / `search_files` first)
260
+
261
+ ### Alternatives to `ask_question`
262
+
263
+ - **Use `bizar_spawn_team`** to spawn a team that investigates and proposes options
264
+ - **Use `use_subagents`** to parallelize the investigation
265
+ - **Just pick a sensible default** and document it in your final response
266
+
267
+ ### Recovery from `ask_question` mistakes
268
+
269
+ If you accidentally pass `options: null` and the tool errors, **DO NOT retry the same broken call**. Instead:
270
+ 1. Switch to a sensible default
271
+ 2. Document the decision in your final response
272
+ 3. Let the user override later if they disagree
273
+
274
+ ---
275
+
276
+ ## `use_skill`
277
+
278
+ Activate a skill.
279
+
280
+ ```json
281
+ {
282
+ "skill": "commit",
283
+ "args": "-m \"Fix auth bug\""
284
+ }
285
+ ```
286
+
287
+ | Field | Type | Required | Notes |
288
+ |---|---|---|---|
289
+ | `skill` | string | **yes** | Exact skill name. Run `skills list` to see available. |
290
+ | `args` | string | no | Passed to the skill's runner. |
291
+
292
+ **Failure modes:** Unknown skill name throws. Skills are case-sensitive.
293
+
294
+ ---
295
+
296
+ ## `use_subagents`
297
+
298
+ Spawn parallel read-only research subagents.
299
+
300
+ ```json
301
+ {
302
+ "prompts": [
303
+ "Trace the auth flow from login button to JWT verification. Cite file paths.",
304
+ "Find every place the database schema is migrated. Cite file paths.",
305
+ "List all the env vars the app reads at startup. Cite file paths."
306
+ ]
307
+ }
308
+ ```
309
+
310
+ | Field | Type | Required | Notes |
311
+ |---|---|---|---|
312
+ | `prompts` | array of strings | **yes** | **One research question per subagent.** Each prompt should be focused and self-contained. |
313
+
314
+ ### Subagent rules
315
+
316
+ - Subagents are **read-only**. They can read files, search, run read-only commands (ls, grep, git log). They **cannot** edit, write, apply patches, or use the browser.
317
+ - Subagents return a focused report citing the most relevant file paths. Read those files yourself before editing.
318
+ - Subagents run in parallel — fire 3–5 at once for broad research, not one at a time.
319
+ - Subagent results do NOT trigger approval — they run under the "Read project files" auto-approve permission.
320
+
321
+ ### When to use subagents
322
+
323
+ - Onboarding to an unfamiliar codebase (map architecture in parallel)
324
+ - Investigating cross-cutting concerns (auth + logging + errors)
325
+ - Pre-edit research (gather context from related files)
326
+
327
+ ### When NOT to use subagents
328
+
329
+ - Small focused task where you already know which file
330
+ - Editing files (use `editor` or `apply_patch` instead)
331
+ - Running commands that mutate state (use `execute_command` with `cwd`)
332
+
333
+ ---
334
+
335
+ ## `task` (Bizar plugin — dispatch to a Bizar agent)
336
+
337
+ Synchronously delegate to a Bizar agent (Odin, Thor, Tyr, Heimdall, Mimir, etc.).
338
+
339
+ ```json
340
+ {
341
+ "agent": "thor",
342
+ "prompt": "Implement the rate-limiter middleware in src/middleware/ratelimit.ts"
343
+ }
344
+ ```
345
+
346
+ | Field | Type | Required | Notes |
347
+ |---|---|---|---|
348
+ | `agent` | string | **yes** | A Bizar agent name: `odin`, `thor`, `tyr`, `heimdall`, `mimir`, `frigg`, `hermod`, `baldr`, `vor`, `vidarr`, `forseti`. NOT a Cline-built-in agent. |
349
+ | `prompt` | string | **yes** | What to do. Be specific. |
350
+
351
+ **Failure modes:** Unknown agent name throws. The agent runs synchronously and returns its result inline.
352
+
353
+ ### Sync vs async dispatch
354
+
355
+ - `task` — synchronous, blocks until the agent returns. Use when the parent needs the result before continuing.
356
+ - `bizar_spawn_background` (Bizar plugin) — async, returns immediately. Use for long-running work that doesn't block the parent.
357
+
358
+ ---
359
+
360
+ ## `bizar_*` tools (Bizar plugin)
361
+
362
+ The Bizar plugin adds these on top of the Cline built-ins:
363
+
364
+ - `bizar_spawn_background(agent, prompt, timeoutMs)` — async background agent
365
+ - `bizar_status(instanceId)` — check background instance
366
+ - `bizar_collect(instanceId, timeoutMs)` — wait for background result (BLOCKS)
367
+ - `bizar_kill(instanceId)` — terminate background
368
+ - `bizar_spawn_team(teamName, mission)` — coordinated agent team
369
+ - `bizar_team_status(sessionId)` — team progress
370
+ - `bizar_plan_action(action, planSlug, ...)` — visual plan canvas
371
+ - `bizar_wait_for_feedback(planSlug)` — block until human reviews plan
372
+ - `bizar_memory_search(query)` / `read` / `write` / `list` — Bizar memory vault
373
+ - `bizar_graph_query(concept)` / `path` / `explain` — knowledge graph
374
+
375
+ These are documented in `.cline/instructions/bizar-tools.md` (auto-loaded into every session).
376
+
377
+ ---
378
+
379
+ ## Recovery: when you hit the mistake limit
380
+
381
+ If Cline says "max consecutive mistakes reached (3 in v6.2.0–v6.2.3, 10 since v6.2.4)", the session aborts. To recover:
382
+
383
+ 1. **Stop retrying the same broken call.** Each retry wastes a mistake.
384
+ 2. **Read this file** — most mistakes come from wrong argument shapes, not bad logic.
385
+ 3. **Use simpler tools** — `read_file` instead of `editor` for inspection; `apply_patch` instead of `editor` for multi-line.
386
+ 4. **Spawn a fresh session** if the runtime is in a bad state.
387
+
388
+ ---
389
+
390
+ ## Per-tool I/O contract
391
+
392
+ All Cline tools return text via stdout-like output. Failed tools return
393
+ either:
394
+ - A structured error message (e.g. "No replacement performed: text not found in /path")
395
+ - An exception thrown back to the agent (which Cline wraps as a mistake)
396
+
397
+ There is no `success: true|false` field. You must read the response text
398
+ to know what happened.
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: agent-browser — Primary agent for browser-driven E2E verification. No-edit permissions. Drives Chrome for Testing via the agent-browser CLI for end-to-end testing of web apps.
2
+ description: agent-browser — Primary agent for browser-driven E2E verification. No-edit permissions. Drives Chrome for Testing via the agent-browser CLI for end-to-end testing of web apps. Reads `_shared/CLINE_TOOLS.md` before any tool call.
3
3
  mode: primary
4
4
  model: openrouter/minimax/minimax-m2.7
5
5
  color: "#84cc16"
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Baldr — UI/UX design system specialist. Creates DESIGN.md files using Google's design.md standard. Aesthetic direction, typography, design tokens, anti-slop audits. Does not implement code.
2
+ description: Baldr — UI/UX design system specialist. Creates DESIGN.md files using Google's design.md standard. Aesthetic direction, typography, design tokens, anti-slop audits. Does not implement code., Cline tool argument shapes (CLINE_TOOLS.md).
3
3
  mode: subagent
4
4
  model: minimaxcustom/MiniMax-M2.7
5
5
  color: "#ec4899"
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Forseti — Audits, criticizes, and corrects implementation plans before execution. No write permissions. Review only.
2
+ description: Forseti — Audits, criticizes, and corrects implementation plans before execution. No write permissions. Review only., Cline tool argument shapes (CLINE_TOOLS.md).
3
3
  mode: subagent
4
4
  model: minimaxcustom/MiniMax-M3
5
5
  color: "#ef4444"
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Frigg — Read-only codebase Q&A. Answers questions about the project with file references, never modifies anything. Routes to no one.
2
+ description: Frigg — Read-only codebase Q&A. Answers questions about the project with file references, never modifies anything. Routes to no one., Cline tool argument shapes (CLINE_TOOLS.md).
3
3
  mode: subagent
4
4
  model: minimaxcustom/MiniMax-M2.7
5
5
  color: "#f472b6"
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Heimdall — Simple, routine, and deterministic tasks using DeepSeek. Quick edits, mechanical work, file operations. The ever-watchful guardian.
2
+ description: Heimdall — Simple, routine, and deterministic tasks using DeepSeek. Quick edits, mechanical work, file operations. The ever-watchful guardian., Cline tool argument shapes (CLINE_TOOLS.md).
3
3
  mode: subagent
4
4
  model: minimaxcustom/MiniMax-M2.7
5
5
  color: "#10b981"
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Hermod — Git and GitHub operations specialist using MiniMax M2.7. The only agent allowed to perform write-level git (commit, push, merge, rebase, branch) and `gh` CLI operations.
2
+ description: Hermod — Git and GitHub operations specialist using MiniMax M2.7. The only agent allowed to perform write-level git (commit, push, merge, rebase, branch) and `gh` CLI operations., Cline tool argument shapes (CLINE_TOOLS.md).
3
3
  mode: subagent
4
4
  model: minimaxcustom/MiniMax-M2.7
5
5
  color: "#f59e0b"
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Mimir — Deep codebase research and exploration. Uses Semble as primary search tool. Architecture analysis, pattern discovery, documentation research, and project initialization.
2
+ description: Mimir — Deep codebase research and exploration. Uses Semble as primary search tool. Architecture analysis, pattern discovery, documentation research, and project initialization., Cline tool argument shapes (CLINE_TOOLS.md).
3
3
  mode: subagent
4
4
  model: minimaxcustom/MiniMax-M2.7
5
5
  color: "#06b6d4"
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Odin — Pure router that delegates all work to subagents. Routes across Frigg (DeepSeek/Q&A), Vör (DeepSeek/clarify), Mimir (DeepSeek/research), Heimdall (DeepSeek/simple), Hermod (M2.7/git), Thor (M2.7/mid), Baldr (M2.7/design), Tyr (M3/top), Vidarr (GPT-5.5/ultra), Forseti (verifier/M3).
2
+ description: Odin — Pure router that delegates all work to subagents. Routes across Frigg (DeepSeek/Q&A), Vör (DeepSeek/clarify), Mimir (DeepSeek/research), Heimdall (DeepSeek/simple), Hermod (M2.7/git), Thor (M2.7/mid), Baldr (M2.7/design), Tyr (M3/top), Vidarr (GPT-5.5/ultra), Forseti (verifier/M3)., Cline tool argument shapes (CLINE_TOOLS.md).
3
3
  mode: primary
4
4
  model: minimaxcustom/MiniMax-M3
5
5
  color: "#6366f1"
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Quick (quick) — fast single-shot tasks. No delegation, no parallel streams. Use for small edits, mechanical changes, one-shot questions. Routes to no one.
2
+ description: Quick (quick) — fast single-shot tasks. No delegation, no parallel streams. Use for small edits, mechanical changes, one-shot questions. Routes to no one., Cline tool argument shapes (CLINE_TOOLS.md).
3
3
  mode: primary
4
4
  model: minimaxcustom/MiniMax-M2.7-highspeed
5
5
  color: "#22d3ee"
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Code search agent for exploring any codebase. Use for finding code by intent, locating implementations, understanding how something works, or discovering related code. Prefer over Bash/Read for any semantic or exploratory question.
2
+ description: Code search agent for exploring any codebase. Use for finding code by intent, locating implementations, understanding how something works, or discovering related code. Prefer over Bash/Read for any semantic or exploratory question., Cline tool argument shapes (CLINE_TOOLS.md).
3
3
  mode: subagent
4
4
  model: minimaxcustom/MiniMax-M2.7
5
5
  color: "#64748b"
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Thor — Handles medium-complexity implementation tasks using MiniMax M2.7. New features, non-trivial debugging, refactoring, code review, and writing tests.
2
+ description: Thor — Handles medium-complexity implementation tasks using MiniMax M2.7. New features, non-trivial debugging, refactoring, code review, and writing tests., Cline tool argument shapes (CLINE_TOOLS.md).
3
3
  mode: subagent
4
4
  model: minimaxcustom/MiniMax-M2.7
5
5
  color: "#a855f7"
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Tyr — Handles the most complex implementation, debugging, and architectural work using MiniMax M3. Reserved for the hardest problems. Always plan-then-Forseti-gate.
2
+ description: Tyr — Handles the most complex implementation, debugging, and architectural work using MiniMax M3. Reserved for the hardest problems. Always plan-then-Forseti-gate., Cline tool argument shapes (CLINE_TOOLS.md).
3
3
  mode: subagent
4
4
  model: minimaxcustom/MiniMax-M3
5
5
  color: "#dc2626"
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Vidarr — The ultimate fallback via MiniMax M3. For the hardest problems when Tyr stalls, debugging is stuck, or novel insight is needed. Use sparingly — highest cost.
2
+ description: Vidarr — The ultimate fallback via MiniMax M3. For the hardest problems when Tyr stalls, debugging is stuck, or novel insight is needed. Use sparingly — highest cost., Cline tool argument shapes (CLINE_TOOLS.md).
3
3
  mode: subagent
4
4
  model: minimaxcustom/MiniMax-M3
5
5
  color: "#0ea5e9"
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Vör — Asks clarifying questions for ambiguous or incomplete requests. Reads project context first, then asks one targeted, project-specific question.
2
+ description: Vör — Asks clarifying questions for ambiguous or incomplete requests. Reads project context first, then asks one targeted, project-specific question., Cline tool argument shapes (CLINE_TOOLS.md).
3
3
  mode: subagent
4
4
  model: minimaxcustom/MiniMax-M2.7
5
5
  color: "#a78bfa"
@@ -246,8 +246,8 @@
246
246
  "websearch": "allow"
247
247
  }
248
248
  },
249
- "browser-harness": {
250
- "description": "browser-harness — Primary agent for browser-driven E2E verification. No-edit permissions. Drives Chrome via CDP for end-to-end testing of web apps.",
249
+ "agent-browser": {
250
+ "description": "agent-browser — Primary agent for browser-driven E2E verification. No-edit permissions. Drives Chrome for Testing via the agent-browser Rust CLI for end-to-end testing of web apps. Reads `_shared/CLINE_TOOLS.md` before any tool call.",
251
251
  "mode": "primary",
252
252
  "model": "minimaxcustom/MiniMax-M2.7",
253
253
  "color": "#84cc16",