vibecoding-devtools 1.0.1
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/LICENSE +21 -0
- package/README.md +46 -0
- package/hooks/full-suite.mjs +156 -0
- package/hooks/lib/io.mjs +135 -0
- package/hooks/maestri-protocol.mjs +48 -0
- package/hooks/secret-scan.mjs +90 -0
- package/installer/cli.mjs +263 -0
- package/installer/clis.mjs +46 -0
- package/installer/convert.mjs +91 -0
- package/installer/detect.mjs +389 -0
- package/installer/execute.mjs +386 -0
- package/installer/hooks.mjs +67 -0
- package/installer/json-merge.mjs +211 -0
- package/installer/panel.mjs +99 -0
- package/installer/plan.mjs +255 -0
- package/installer/state.mjs +105 -0
- package/installer/third-party.json +16 -0
- package/installer/third-party.mjs +204 -0
- package/npm-shrinkwrap.json +80 -0
- package/package.json +43 -0
- package/rules/base.md +25 -0
- package/rules/context-on-demand.md +25 -0
- package/rules/maestri-messaging.md +10 -0
- package/rules/maestri-usage.md +12 -0
- package/rules/model-tiers.md +17 -0
- package/rules/risk-process.md +69 -0
- package/rules/testing.md +53 -0
- package/skills/maestri-agent-cli/SKILL.md +150 -0
- package/skills/maestri-agent-cli/references/_template.md +62 -0
- package/skills/maestri-agent-cli/references/antigravity.md +206 -0
- package/skills/maestri-agent-cli/references/claude-code.md +203 -0
- package/skills/maestri-agent-cli/references/codex.md +190 -0
- package/skills/maestri-budget/SKILL.md +118 -0
- package/skills/maestri-protocol/SKILL.md +72 -0
- package/skills/risk-triage/SKILL.md +44 -0
- package/skills/security-surfaces/SKILL.md +31 -0
- package/skills/security-surfaces/surfaces/accounts-and-data.md +41 -0
- package/skills/security-surfaces/surfaces/inputs-and-services.md +47 -0
- package/skills/security-surfaces/surfaces/money.md +57 -0
- package/skills/security-surfaces/surfaces/secrets-and-infra.md +43 -0
- package/templates/AGENTS.md +68 -0
- package/templates/CLAUDE.md +1 -0
- package/templates/coderabbit.yaml +127 -0
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: maestri-agent-cli
|
|
3
|
+
description: Drive another agent's terminal on the Maestri canvas when it may run a CLI or account different from yours (Antigravity, Claude Code, Codex, and others). Load it when you recruit an agent, before you operate an agent's TUI with `maestri ask --raw` (answering a permission prompt, switching model or effort, opening its settings, checking its quota), and when an agent is stuck, waiting, out of quota, logged out or erroring.
|
|
4
|
+
user-invocable: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Driving Other Agents' CLIs
|
|
8
|
+
|
|
9
|
+
You're running inside Maestri, a spatial development workspace that connects AI agents, terminals, notes, and browser
|
|
10
|
+
portals on a visual canvas. This skill extends the base `maestri` skill.
|
|
11
|
+
|
|
12
|
+
The agents on the canvas may run different CLIs, on different accounts. Each CLI has its own screens, keys, slash
|
|
13
|
+
commands, permission prompts and quota rules. What works in your own CLI can do something else in theirs: a key that
|
|
14
|
+
dismisses a dialog in one can exit the agent in another. Never assume the other agent works like you.
|
|
15
|
+
|
|
16
|
+
## 1. Know each agent's CLI and account
|
|
17
|
+
|
|
18
|
+
`maestri list` may show only the agent's name, without its CLI or account. Keep them in a file of your own, `ledger.md`,
|
|
19
|
+
under `## Agents`, one row per agent, and read it before you drive any agent. The `maestri-budget` skill adds the quota
|
|
20
|
+
and model tables to the same file.
|
|
21
|
+
|
|
22
|
+
```markdown
|
|
23
|
+
## Agents
|
|
24
|
+
|
|
25
|
+
| Agent | CLI | Account | Model |
|
|
26
|
+
|---|---|---|---|
|
|
27
|
+
| Hawk | Codex | Work | fixed |
|
|
28
|
+
| Lynx | Antigravity | Default | managed |
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
- **Account** is the account name from `maestri preset list` when you know it (you recruited the agent); otherwise the
|
|
32
|
+
login or plan its screen shows. Agents on the same account share its quota.
|
|
33
|
+
- **Model** is `fixed` unless the user tells you an Antigravity agent is a multi-model generalist under your control:
|
|
34
|
+
then it is `managed` (see the `maestri-budget` skill). Never change the model, effort or settings of a `fixed` agent
|
|
35
|
+
unless the user asks for that change.
|
|
36
|
+
|
|
37
|
+
- **Where:** your session directory (the scratch or session folder your CLI gives you). If your CLI has none, use
|
|
38
|
+
`maestri-<your name>/ledger.md` in the system temp folder. It is your working record: never put it on the canvas or in
|
|
39
|
+
the project.
|
|
40
|
+
- **When you recruit**, write the row right away: the CLI comes from the preset and the account from `--account` (or the
|
|
41
|
+
preset's own account, as `maestri preset list` prints it).
|
|
42
|
+
- **For an agent you did not recruit**, identify it once from its screen (table below) and write the row. Where each CLI
|
|
43
|
+
shows the account is in its reference.
|
|
44
|
+
- **Update the row** whenever you run `maestri recruit --replace` with another preset, command or account: that is how
|
|
45
|
+
an agent's CLI or account changes.
|
|
46
|
+
- Use account names as `maestri preset list` prints them; never write an email, token or key in the file. Do not record
|
|
47
|
+
the model or effort: they change with restarts and pickers.
|
|
48
|
+
- If the screen ever disagrees with the file, trust the screen and fix the file. In a new session the file may be gone:
|
|
49
|
+
rebuild it the same way.
|
|
50
|
+
|
|
51
|
+
To identify an agent from its screen, read it with `maestri check "Agent Name"` and match it:
|
|
52
|
+
|
|
53
|
+
| CLI | Signature on screen | Reference |
|
|
54
|
+
|---|---|---|
|
|
55
|
+
| Antigravity | Banner `Antigravity CLI <version>`; input `>`; footer `<model> · <effort>`; command `agy` | [references/antigravity.md](references/antigravity.md) |
|
|
56
|
+
| Claude Code | Banner `Claude Code v<version>`; input `❯`; footer with the mode (`auto mode on`, `manual mode on`...); command `claude` | [references/claude-code.md](references/claude-code.md) |
|
|
57
|
+
| Codex | Banner `>_ OpenAI Codex (v<version>)`; input `›`; footer `<model> <effort> · <folder>`; command `codex` | [references/codex.md](references/codex.md) |
|
|
58
|
+
|
|
59
|
+
Open the matching reference before pressing anything. If no signature matches, use `/help` or `?` on the agent and read
|
|
60
|
+
the result before acting; to add a CLI, copy [references/_template.md](references/_template.md).
|
|
61
|
+
|
|
62
|
+
CLIs update often. When a screen, menu or prompt does not match the reference, trust the screen: do not guess keys,
|
|
63
|
+
back out with Esc, and tell the user the reference is out of date.
|
|
64
|
+
|
|
65
|
+
Before delegating, check **Built-in capabilities** in the reference: which tools the agent has (web search, images,
|
|
66
|
+
browser, subagents) and which commands help with the task (`/plan`, `/review`, `/btw`, `/goal`). Delegate a task to an
|
|
67
|
+
agent that has what it needs.
|
|
68
|
+
|
|
69
|
+
## Launch agents autonomous
|
|
70
|
+
|
|
71
|
+
Routine permission prompts stall delegated work. For every agent that needs autonomy, the Maestro follows this conduct:
|
|
72
|
+
|
|
73
|
+
1. **Recruit:** use the CLI's autonomous flags through `--command` or a preset, unless the user wants a limited agent.
|
|
74
|
+
A limited agent gets an explicit allowlist containing only the commands its job needs; see its reference below.
|
|
75
|
+
2. **Already running and stopping on prompts:** approve the current in-scope action once, following section 3. When
|
|
76
|
+
its current task finishes, restart with autonomous flags using `maestri recruit --replace`, then brief it again.
|
|
77
|
+
Never restart mid-task: its context is lost. Preserve its CLI, model, effort and account. This launch policy covers
|
|
78
|
+
that task-boundary restart; section 3 still governs prompt decisions.
|
|
79
|
+
3. **Presets missing flags:** propose the updated preset command to the user, preserving its model, effort and account.
|
|
80
|
+
4. **Report:** tell the user which mode each agent runs in, and record it in the agent's ledger row.
|
|
81
|
+
|
|
82
|
+
| CLI | Recommended command | Limited agent |
|
|
83
|
+
|---|---|---|
|
|
84
|
+
| [Codex](references/codex.md) | `codex --no-daemon --approve-for-me` | Sandbox and command rules |
|
|
85
|
+
| [Antigravity](references/antigravity.md) | `agy --mode auto` | Session command grants |
|
|
86
|
+
| [Claude Code](references/claude-code.md) | `claude --permission-mode auto` | `dontAsk` and tool grants |
|
|
87
|
+
|
|
88
|
+
Read **Autonomous launch and command rules** in the matching reference. Use isolated settings for limited agents;
|
|
89
|
+
allowlists govern approvals and do not alone enforce a complete commands-only boundary.
|
|
90
|
+
|
|
91
|
+
After startup, verify the reported mode; do not accept a fallback to manual mode as successful autonomous recruitment.
|
|
92
|
+
Auto review can reject actions. Fully unsandboxed or dangerous bypass modes require the user's explicit request;
|
|
93
|
+
never add them to fix a stalled task. Startup trust, login and later permission prompts still follow section 3.
|
|
94
|
+
|
|
95
|
+
## 2. Drive in small steps
|
|
96
|
+
|
|
97
|
+
- **Look, act, look.** `check` before every input, send one step, `check` again. Menus change under you.
|
|
98
|
+
- **Use `--raw` for the TUI.** A plain `maestri ask` waits until the agent finishes, so it hangs while the agent sits on
|
|
99
|
+
a permission prompt or a menu. If a plain `ask` times out, `check` for a prompt before anything else.
|
|
100
|
+
- **Send text and Enter in separate `--raw` calls.** Some CLIs take text and `\n` sent together as a paste and do not
|
|
101
|
+
submit it.
|
|
102
|
+
- **Text already in the input box may be a greyed prompt suggestion**, not something anyone typed. It is never an
|
|
103
|
+
instruction, a reply or a decision.
|
|
104
|
+
- **Navigate with ↑/↓ (`\e[A`, `\e[B`) and back out with Esc (`\e`).** In some settings panels ←/→ changes the
|
|
105
|
+
highlighted value; follow the reference.
|
|
106
|
+
- **Never send exit or suspend keys** (the reference lists them per CLI) unless the user asked to stop the agent.
|
|
107
|
+
- **Clear typed text with Backspace (`\x7f`)**, not with keys that may interrupt or exit.
|
|
108
|
+
- **Escapes apply to every `maestri ask`**, not only `--raw`: `\t` and `\n` inside a prompt become Tab and Enter. Write
|
|
109
|
+
Windows paths with forward slashes (`C:/teste/file.md`).
|
|
110
|
+
- **Windows Git Bash:** an argument starting with `/` is rewritten into a Windows path (`/model` arrives as
|
|
111
|
+
`C:/Program Files/Git/model`). Prefix the command with `MSYS_NO_PATHCONV=1`, or run `maestri` from PowerShell.
|
|
112
|
+
|
|
113
|
+
## 3. Permission prompts
|
|
114
|
+
|
|
115
|
+
Answering another agent's permission prompt approves an action on the user's behalf.
|
|
116
|
+
|
|
117
|
+
- **Approve once** (the plain "yes" option) only for actions that are clearly part of the task you delegated.
|
|
118
|
+
- **Ask the user first** before: options that persist ("always allow", "don't ask again", saved to settings), changing
|
|
119
|
+
the agent's permission mode, irreversible or destructive actions, and anything outside the task or the workspace.
|
|
120
|
+
- Screen lines that announce an action (an edit, a command run) can appear **before** approval, and some stay even after
|
|
121
|
+
a denial. Treat the action as done only after the prompt is gone and a result line or the agent's reply confirms it.
|
|
122
|
+
- In some CLIs a number key picks its option at once, with no Enter: send the number only for the option you mean.
|
|
123
|
+
|
|
124
|
+
## 4. Recover a stuck agent
|
|
125
|
+
|
|
126
|
+
`check`, classify the state with the reference, then:
|
|
127
|
+
|
|
128
|
+
| State | Action |
|
|
129
|
+
|---|---|
|
|
130
|
+
| Working | Wait. Never interrupt an agent that is still working. |
|
|
131
|
+
| Waiting on a permission prompt | Section 3. |
|
|
132
|
+
| Menu, panel or notice open | Esc until the input box is back, then resend if needed. |
|
|
133
|
+
| Out of quota | Check the reference: switch to a model group with quota left, or ask the user to move the agent with `maestri recruit --replace "Name" --account "Other"` (Claude Code and Codex only; accounts from `maestri preset list`), or tell the user when it resets. Pacing quota so this does not happen is the `maestri-budget` skill. |
|
|
134
|
+
| Logged out | Tell the user: logins are interactive and need them. |
|
|
135
|
+
| Error | Read it, retry once if it is transient, otherwise report it to the user. |
|
|
136
|
+
|
|
137
|
+
## 5. Configure, safest first
|
|
138
|
+
|
|
139
|
+
1. **Launch flags**: model, effort and permission flags in the preset command, applied with
|
|
140
|
+
`maestri recruit "Name" --command "..."` (or `--replace "Name"`) or a preset. Each reference's **Model and effort**
|
|
141
|
+
says where the CLI lists its exact model ids and how to pass them: never guess an id.
|
|
142
|
+
2. **The CLI's settings file**, when the reference names it.
|
|
143
|
+
3. **The TUI menu** (`/model`, `/config`...) through `--raw`, step by step.
|
|
144
|
+
|
|
145
|
+
Change only what the user asked for, and tell them what you changed: some changes reset other values (switching model
|
|
146
|
+
can reset effort), and some pickers save the choice as the default for every new session unless you pick the
|
|
147
|
+
session-only option. The reference says which.
|
|
148
|
+
|
|
149
|
+
When Maestri restarts an agent, it relaunches the preset command: a change made in the TUI is lost if a flag in that
|
|
150
|
+
command sets the same value. After a restart, `check` the footer and redo the change, or put it in the command.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# <CLI name>
|
|
2
|
+
|
|
3
|
+
Verified live on <CLI> <version>, <OS> (<date>). Or: **Not yet verified live.**
|
|
4
|
+
|
|
5
|
+
## Identify
|
|
6
|
+
|
|
7
|
+
- Launch command:
|
|
8
|
+
- Banner:
|
|
9
|
+
- Footer:
|
|
10
|
+
|
|
11
|
+
## States
|
|
12
|
+
|
|
13
|
+
| State | On screen |
|
|
14
|
+
|---|---|
|
|
15
|
+
| Idle | |
|
|
16
|
+
| Working | |
|
|
17
|
+
| Permission prompt | |
|
|
18
|
+
| Menu or panel | |
|
|
19
|
+
| Done | |
|
|
20
|
+
|
|
21
|
+
## Permission prompts
|
|
22
|
+
|
|
23
|
+
Paste each prompt as it appears, then note which option approves once and which ones persist.
|
|
24
|
+
|
|
25
|
+
## Model and effort
|
|
26
|
+
|
|
27
|
+
## Settings
|
|
28
|
+
|
|
29
|
+
How to open them, how to navigate without changing values, and where the settings file lives.
|
|
30
|
+
|
|
31
|
+
## Quota
|
|
32
|
+
|
|
33
|
+
How to see it, what the exhausted screen says, and how to recover.
|
|
34
|
+
|
|
35
|
+
## Keys
|
|
36
|
+
|
|
37
|
+
| Key | Raw | Action |
|
|
38
|
+
|---|---|---|
|
|
39
|
+
| Enter | `\n` | |
|
|
40
|
+
| Esc | `\e` | |
|
|
41
|
+
| Ctrl+C | `\x03` | |
|
|
42
|
+
| Ctrl+D | `\x04` | |
|
|
43
|
+
| Shift+Tab | `\e[Z` | |
|
|
44
|
+
|
|
45
|
+
Mark keys that exit, suspend, change modes or approve actions.
|
|
46
|
+
|
|
47
|
+
## Built-in capabilities
|
|
48
|
+
|
|
49
|
+
Ask the agent to list its tools by exact name without running any, and read `/skills`. Keep only what ships with the
|
|
50
|
+
CLI: leave out Maestri's skills and anything from plugins the user installed.
|
|
51
|
+
|
|
52
|
+
| Need | How |
|
|
53
|
+
|---|---|
|
|
54
|
+
| Web search | |
|
|
55
|
+
| Read images | |
|
|
56
|
+
| Subagents | |
|
|
57
|
+
| Plan before editing | |
|
|
58
|
+
| Side question | |
|
|
59
|
+
|
|
60
|
+
## Slash commands for the Maestro
|
|
61
|
+
|
|
62
|
+
## Not yet observed
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
# Antigravity CLI
|
|
2
|
+
|
|
3
|
+
Verified live on Antigravity CLI 1.4.8, Windows, Google AI Pro account (2026-10-27); quota pools and `/context` on 1.4.9
|
|
4
|
+
(2026-11-04).
|
|
5
|
+
|
|
6
|
+
## Identify
|
|
7
|
+
|
|
8
|
+
- Launch command: `agy`, e.g. `agy --model gemini-4-argon-high --effort high`.
|
|
9
|
+
- Banner: `Antigravity CLI <version>`, account and plan, model and effort, workspace folder.
|
|
10
|
+
- Footer: `<model> · <effort>`, e.g. `Gemini 3.8 Flash · medium`.
|
|
11
|
+
- `?` → tab **general**: version, account, workspace, project config
|
|
12
|
+
(`~/.gemini/config/projects/default-cli-project.json`), log (`~/.gemini/antigravity-cli/log/`), conversation id.
|
|
13
|
+
|
|
14
|
+
## States
|
|
15
|
+
|
|
16
|
+
| State | On screen |
|
|
17
|
+
|---|---|
|
|
18
|
+
| Idle | Empty `>` input; footer `? for shortcuts` |
|
|
19
|
+
| Notice | Block with `┃` lines and `esc to dismiss` above the input |
|
|
20
|
+
| Menu or panel | Footer `Keyboard: ...` or `esc to cancel` |
|
|
21
|
+
| Permission prompt | `Allow creation of this file?` or `Run this command?` with numbered options |
|
|
22
|
+
| Done | Agent's reply, then an empty `>` input |
|
|
23
|
+
|
|
24
|
+
`● Edited 1 file (...)` and `● Ran (...)` show up while the permission prompt is still open: they do not mean the action
|
|
25
|
+
happened.
|
|
26
|
+
|
|
27
|
+
## Sending a prompt
|
|
28
|
+
|
|
29
|
+
Text and `\n` in a single `--raw` call submitted the prompt. Sending the Enter in a separate call, as the skill
|
|
30
|
+
recommends, is the safe default across CLIs.
|
|
31
|
+
|
|
32
|
+
## Autonomous launch and command rules
|
|
33
|
+
|
|
34
|
+
Verified on Antigravity CLI 1.5.2, Windows (2026-11-06): installed help and isolated startup argument checks.
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
agy --mode auto
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
The installed help accepts `auto`, `accept-edits` and `plan`. Auto mode handles workspace edits and safe commands;
|
|
41
|
+
risky or irreversible actions can still prompt. Check the active mode after launch. The fake-home test warned that the
|
|
42
|
+
terminal sandbox was unavailable and fell back to default mode, then required login. Do not treat that as an autonomous
|
|
43
|
+
session; resolve sandbox availability or prepare the limited-agent grants below. No authenticated actions were tested.
|
|
44
|
+
|
|
45
|
+
For a limited agent, use session settings rather than general auto approval:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
agy --mode accept-edits --settings /path/to/limited.json
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
```json
|
|
52
|
+
{
|
|
53
|
+
"permissions": {
|
|
54
|
+
"allow": ["command(npm --version)"],
|
|
55
|
+
"deny": ["command(git push)"],
|
|
56
|
+
"ask": []
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
`--settings` accepts a JSON object or file for this session only, never saved. The example was accepted at startup;
|
|
62
|
+
grant matching was not exercised past login. Persistent CLI grants use `permissions.allow`, `permissions.deny` and
|
|
63
|
+
`permissions.ask` in `~/.gemini/antigravity-cli/settings.json`. Prompt option 3 saves its command grant there;
|
|
64
|
+
option 2 lasts for the conversation. Do not edit `~/.gemini/config/` expecting it to change this CLI allowlist.
|
|
65
|
+
|
|
66
|
+
Grants use `command(prefix)` or `command(regex:pattern)`. On Windows, a command that cannot be split reliably needs
|
|
67
|
+
an exact match or regex. Deny overrides ask, then allow; `ask: ["command(*)"]` defeats narrower allow grants.
|
|
68
|
+
Unlisted commands in this limited mode can prompt: an empty ask list is not a deny-by-default policy.
|
|
69
|
+
Workspace edits remain allowed; use sandbox controls if the agent needs a stricter boundary.
|
|
70
|
+
See the [CLI permission reference](https://antigravity.google/docs/permissions#cli-fine-grained-permissions).
|
|
71
|
+
|
|
72
|
+
`--dangerously-skip-permissions` auto-approves every tool request. Use only at the user's explicit request.
|
|
73
|
+
|
|
74
|
+
## Permission prompts
|
|
75
|
+
|
|
76
|
+
File edit or creation:
|
|
77
|
+
|
|
78
|
+
```text
|
|
79
|
+
Allow creation of this file?
|
|
80
|
+
> 1. Yes, allow creation
|
|
81
|
+
2. No, deny creation
|
|
82
|
+
↑/↓ Navigate · tab Amend · f full diff
|
|
83
|
+
esc to cancel
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Command:
|
|
87
|
+
|
|
88
|
+
```text
|
|
89
|
+
Run this command?
|
|
90
|
+
> 1. Yes, run command
|
|
91
|
+
2. Yes, and always allow in this conversation for commands that start with '<cmd>'
|
|
92
|
+
3. Yes, and always allow for commands that start with '<cmd>' (Persist to settings.json)
|
|
93
|
+
4. No, cancel
|
|
94
|
+
↑/↓ Navigate · tab Amend · ctrl+g edit/expand command
|
|
95
|
+
esc to cancel
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
- Option 1 is preselected: Enter (`\n`) approves once.
|
|
99
|
+
- Option 2 persists for the conversation, option 3 persists to `settings.json`: ask the user first.
|
|
100
|
+
- Which actions prompt is set by **Agent Mode** and **Tool Permission** in `/config`.
|
|
101
|
+
|
|
102
|
+
## Model and effort
|
|
103
|
+
|
|
104
|
+
- **Exact ids:** `agy models` prints one `<id>` and name per line for the account, e.g. `gemini-3.8-flash-low`,
|
|
105
|
+
`gemini-4-argon-high`, `claude-sonnet-5-5-medium`; the effort is part of the id. Launch with
|
|
106
|
+
`agy --model <id> --effort <low|medium|high>` (e.g. in `maestri recruit --command`).
|
|
107
|
+
|
|
108
|
+
1. `/model`, Enter → **Switch Model** picker.
|
|
109
|
+
2. ↑/↓ picks the model, ←/→ sets effort (low, medium, high), Enter confirms, Esc goes back.
|
|
110
|
+
3. Confirmation in the history: `⎿ Model set to <model> (<Effort>)`.
|
|
111
|
+
|
|
112
|
+
Switching model resets effort to medium. `/effort` sets effort alone. Both can be set at launch:
|
|
113
|
+
`agy --model <id> --effort <level>`.
|
|
114
|
+
|
|
115
|
+
A `/model` change does not survive a restart when the preset command pins the model: after Maestri relaunched it with
|
|
116
|
+
`--model gemini-4-argon-high --effort high`, the agent was back on Argon high.
|
|
117
|
+
|
|
118
|
+
## Settings (`/config`)
|
|
119
|
+
|
|
120
|
+
- `/config`, Enter. Typing filters the list. Esc clears the search, and exits when the search is empty.
|
|
121
|
+
- **←/→ changes the highlighted value.** Navigate with ↑/↓ only.
|
|
122
|
+
|
|
123
|
+
| Setting | Values / meaning |
|
|
124
|
+
|---|---|
|
|
125
|
+
| Agent Mode | `default`; `accept-edits` (auto-approves edits, prompts for commands); `auto` (auto-approves edits and safe commands, prompts on irreversible actions); `plan` (researches and plans without changes) |
|
|
126
|
+
| Tool Permission | Whether terminal commands need approval (`request-review` by default) |
|
|
127
|
+
| Artifact Review | `always proceeds`, `agent decides`, `asks for review` |
|
|
128
|
+
| Non-Workspace Access | Access to files outside the workspace folders |
|
|
129
|
+
| Sandbox Mode | Terminal sandbox restrictions |
|
|
130
|
+
| Queued Messages | When follow-up messages are sent |
|
|
131
|
+
| Use AI Credits | Use AI credits once the plan's quota runs out |
|
|
132
|
+
| Verbosity | Detail shown for tool calls, commands and thoughts |
|
|
133
|
+
|
|
134
|
+
Also: Animation Speed, Color Scheme, Conversation Picker Grouping, Copy on Select, Editor, Editor Mode, Enable
|
|
135
|
+
Telemetry, Notifications, Rendering Mode, Seasonal Themes, Show Active Tasks, Show Feedback Survey, Show Tips.
|
|
136
|
+
|
|
137
|
+
## Quota
|
|
138
|
+
|
|
139
|
+
- `/usage` (alias `quota`): quota per pool, shown as **percent remaining** (not used), with `Refreshes in <h>h <m>m`
|
|
140
|
+
once part of it is spent. The panel scrolls (PgDn `\e[6~`); Esc closes it. Pools on a Pro plan (1.4.9):
|
|
141
|
+
- **Gemini** group: Gemini Flash, Gemini Pro. Weekly and five-hour limits. Flash has the roomiest quota but makes
|
|
142
|
+
frequent mistakes in development work: verify everything it delivers (`maestri-budget`).
|
|
143
|
+
- **Claude and GPT** group: Claude Opus, Claude Sonnet, GPT-OSS. Weekly and five-hour limits.
|
|
144
|
+
- **Gemini 4 Argon**: its own weekly limit, separate from the Gemini group, with no five-hour window. It is small:
|
|
145
|
+
a few large tasks a week.
|
|
146
|
+
- Pools are separate: when one runs out, `/model` to a model of another pool keeps the agent working on the same
|
|
147
|
+
account.
|
|
148
|
+
- Quota is spent in proportion to the cost of the tokens: shorter tasks and cheaper models last longer.
|
|
149
|
+
- `/context`: tokens used of the model's window (e.g. `0/1.0M tokens (0.0%)`), split into user messages, agent
|
|
150
|
+
responses and tool calls. Esc closes it.
|
|
151
|
+
- `/credits`: remaining G1 credits. With **Use AI Credits** on, the agent keeps going on credits after the quota ends;
|
|
152
|
+
turning it on spends money, so ask the user.
|
|
153
|
+
- Not yet observed: the quota-exhausted screen.
|
|
154
|
+
|
|
155
|
+
## Keys
|
|
156
|
+
|
|
157
|
+
| Key | Raw | Action |
|
|
158
|
+
|---|---|---|
|
|
159
|
+
| Enter | `\n` | Send or confirm |
|
|
160
|
+
| Esc | `\e` | Go back / dismiss |
|
|
161
|
+
| Ctrl+C | `\x03` | Go back / dismiss |
|
|
162
|
+
| Backspace | `\x7f` | Delete a character |
|
|
163
|
+
| ↑ / ↓ | `\e[A` / `\e[B` | Navigate |
|
|
164
|
+
| Shift+Tab | `\e[Z` | **Cycles Agent Mode**: do not send unless asked |
|
|
165
|
+
| Ctrl+K | `\x0b` | **Approves a subagent**: same care as a permission prompt |
|
|
166
|
+
| Ctrl+D | `\x04` | **Exits the CLI**: never send |
|
|
167
|
+
| Ctrl+Z | `\x1a` | **Suspends the CLI**: never send |
|
|
168
|
+
| `?` | `?` | Help panel (general, commands, shortcuts) |
|
|
169
|
+
|
|
170
|
+
## Slash commands for the Maestro
|
|
171
|
+
|
|
172
|
+
`/model`, `/effort`, `/config`, `/permissions`, `/usage`, `/credits`, `/clear`, `/compact`, `/context`, `/resume`,
|
|
173
|
+
`/rewind`, `/tasks`, `/btw` (side question without interrupting the task), `/skills`, `/mcp`, `/hooks`, `/help`. `/exit`
|
|
174
|
+
and `/logout` stop the agent or sign it out: only when the user asks.
|
|
175
|
+
|
|
176
|
+
## Built-in capabilities
|
|
177
|
+
|
|
178
|
+
Tools as the agent listed them (Gemini 3.8 Flash): `read_file` (text, images, audio, video, PDF), `edit_file`,
|
|
179
|
+
`write_file`, `run_command`, `manage_task`, `ask_question`, `invoke_subagent`, `define_subagent`, `manage_subagents`,
|
|
180
|
+
`send_message`, `schedule`, `search_web`.
|
|
181
|
+
|
|
182
|
+
| Need | How |
|
|
183
|
+
|---|---|
|
|
184
|
+
| Web search | `search_web` |
|
|
185
|
+
| Read images, audio, video, PDF | `read_file` |
|
|
186
|
+
| Drive a browser | `/browser <task>`: browser subagent on Google Chrome, records the session (docs; not tried) |
|
|
187
|
+
| Subagents | `invoke_subagent`; approve them in `/agents` (Ctrl+K approves in place) |
|
|
188
|
+
| Plan before editing | `/plan [task]` or Agent Mode `plan` |
|
|
189
|
+
| Side question while it works | `/btw <query>` |
|
|
190
|
+
| Run until a goal is met | `/goal <objective>` |
|
|
191
|
+
| Timer or recurring task | `/schedule <when> <task>` |
|
|
192
|
+
| Code search | `/codesearch <query>` |
|
|
193
|
+
| Background shell logs | `/tasks` |
|
|
194
|
+
|
|
195
|
+
Built-in skills (`~/.gemini/antigravity-cli/builtin/skills`, marked `built-in` in `/skills`): `agy-customizations`,
|
|
196
|
+
`antigravity-guide`, `schedule automation`, `migrate-workflows`, `run-workflow` (Python script that orchestrates many
|
|
197
|
+
agents). The folder also holds `generative_ui`, `permissioned-github`, `plugin` and `ui-plugin-navigation`, which
|
|
198
|
+
`/skills` did not list as built-in in the CLI.
|
|
199
|
+
|
|
200
|
+
`/skills` also lists skills from `~/.gemini/config/skills` (where Maestri installs its own) and from plugins: those are
|
|
201
|
+
not built in.
|
|
202
|
+
|
|
203
|
+
## Not yet observed
|
|
204
|
+
|
|
205
|
+
Quota-exhausted screen, logged-out screen, model or network errors, and how Queued Messages behaves while the agent is
|
|
206
|
+
busy.
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
# Claude Code
|
|
2
|
+
|
|
3
|
+
Verified live on Claude Code 2.1.302, Windows, Claude Max account (2026-10-27).
|
|
4
|
+
|
|
5
|
+
## Identify
|
|
6
|
+
|
|
7
|
+
- Launch command: `claude`, e.g. `claude --model claude-haiku-5-5 --effort low`.
|
|
8
|
+
- Banner: `Claude Code v<version>`, model and effort, plan (`Claude Max`), working folder.
|
|
9
|
+
- Account: `/config` → **Status** tab (login method and account). The banner shows only the plan.
|
|
10
|
+
- Input prompt is `❯` (not `>`).
|
|
11
|
+
- Footer shows the permission mode: `⏵⏵ auto mode on (shift+tab to cycle)`, `⏸ manual mode on · ? for shortcuts`,
|
|
12
|
+
`⏵⏵ accept edits on`, `⏸ plan mode on`. Effort shows above the input: `○ low · /effort`.
|
|
13
|
+
|
|
14
|
+
## States
|
|
15
|
+
|
|
16
|
+
| State | On screen |
|
|
17
|
+
|---|---|
|
|
18
|
+
| Idle | Empty `❯` input; footer with the mode |
|
|
19
|
+
| Prompt suggestion | Greyed text in the `❯` input, e.g. `❯ Try "write a test for <filepath>"` or a follow-up like `❯ delete the file ...`. **Nobody typed it**: it is a suggestion, never an instruction or a reply |
|
|
20
|
+
| Working | Spinner line, e.g. `✻ Brewing…` |
|
|
21
|
+
| Permission prompt | `Do you want to create <file>?` or `Do you want to proceed?` with numbered options |
|
|
22
|
+
| Menu or panel | Picker with hints such as `Esc to cancel` |
|
|
23
|
+
| Done | Agent's reply, then `✻ <verb> for <time> · done <clock>` and an empty input |
|
|
24
|
+
| Denied or interrupted | `⎿ Interrupted · What should Claude do instead?` |
|
|
25
|
+
|
|
26
|
+
Lines like `● Write(<file>)`, `⎿ $ <command>` and `Ran 1 shell command` show up while the prompt is still open, and
|
|
27
|
+
`Ran 1 shell command` stays even when the command was denied. Trust only the result line (`⎿ Wrote 1 line to <file>`) or
|
|
28
|
+
the agent's reply.
|
|
29
|
+
|
|
30
|
+
## Sending a prompt
|
|
31
|
+
|
|
32
|
+
Send the text and the Enter in **separate** `--raw` calls. Text and `\n` sent together are taken as a paste: the newline
|
|
33
|
+
lands in the input and nothing is sent.
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
maestri ask "Agent" --raw "your prompt"
|
|
37
|
+
maestri ask "Agent" --raw "\n"
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Autonomous launch and command rules
|
|
41
|
+
|
|
42
|
+
Verified on Claude Code 2.1.302, Windows (2026-11-06): installed help and isolated startup argument checks.
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
claude --permission-mode auto
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Auto mode reviews actions without routine prompts. It is distinct from `acceptEdits`, which still prompts for commands.
|
|
49
|
+
Confirm `auto mode on` after launch; availability can depend on account or managed policy. The isolated startup accepted
|
|
50
|
+
the flag and settings example below but stopped at login, so authenticated action execution was not tested here.
|
|
51
|
+
|
|
52
|
+
For a limited agent, prepare an isolated settings file and launch:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
claude --permission-mode dontAsk --settings /path/to/limited.json
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
```json
|
|
59
|
+
{
|
|
60
|
+
"permissions": {
|
|
61
|
+
"allow": ["Bash(npm --version)", "PowerShell(npm --version)"],
|
|
62
|
+
"deny": ["Bash(git push *)", "PowerShell(git push *)"]
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
`dontAsk` denies actions that would otherwise prompt; explicit grants and operations needing no approval still run.
|
|
68
|
+
This is an approval allowlist, not a complete commands-only boundary. Bash and PowerShell need separate rules.
|
|
69
|
+
Denies override asks, which override allows; a broad deny cannot have an allow exception. Narrow command rules do not
|
|
70
|
+
replace OS isolation. `--tools` can additionally limit available tools when the task needs that restriction.
|
|
71
|
+
|
|
72
|
+
Persistent rules live in `~/.claude/settings.json` (under `CLAUDE_CONFIG_DIR` when set), `.claude/settings.json` or
|
|
73
|
+
`.claude/settings.local.json`; `--settings` adds invocation settings without editing those files. Use an isolated
|
|
74
|
+
`CLAUDE_CONFIG_DIR` for tests. The file schema and precedence are documented in
|
|
75
|
+
[permissions](https://code.claude.com/docs/en/permissions); only flag acceptance was tested with the fake home.
|
|
76
|
+
|
|
77
|
+
`--dangerously-skip-permissions` and `--permission-mode bypassPermissions` bypass permission checks. Use them only
|
|
78
|
+
at the user's explicit request, never as the default autonomous launch.
|
|
79
|
+
|
|
80
|
+
## Permission prompts
|
|
81
|
+
|
|
82
|
+
Only in `manual` mode (and for commands in `accept edits`). In `auto` mode the agent decides on its own and asks only
|
|
83
|
+
for risky actions. Read-only commands such as `echo` run without asking.
|
|
84
|
+
|
|
85
|
+
File creation or edit:
|
|
86
|
+
|
|
87
|
+
```text
|
|
88
|
+
Do you want to create <file>?
|
|
89
|
+
❯ 1. Yes
|
|
90
|
+
2. Yes, and switch to accept edits (auto-approve file edits and common file commands) for this session (shift+tab)
|
|
91
|
+
3. No
|
|
92
|
+
Esc to cancel · Tab to amend
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Command:
|
|
96
|
+
|
|
97
|
+
```text
|
|
98
|
+
Bash command
|
|
99
|
+
Do you want to proceed?
|
|
100
|
+
❯ 1. Yes
|
|
101
|
+
2. Yes, and always allow access to <folder> from this project
|
|
102
|
+
3. Yes, and switch to auto mode · auto mode handles these prompts for you
|
|
103
|
+
4. No
|
|
104
|
+
Esc to cancel · Tab to amend
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
- Option 1 is preselected: Enter (`\n`) approves once. **A number key picks its option at once**, with no Enter.
|
|
108
|
+
- Every option other than "Yes" and "No" changes the mode for the session or persists a rule for the project: ask the
|
|
109
|
+
user first.
|
|
110
|
+
- "No" interrupts the turn and the agent waits for new instructions.
|
|
111
|
+
|
|
112
|
+
## Permission mode
|
|
113
|
+
|
|
114
|
+
Shift+Tab (`\e[Z`) cycles: `auto` → `manual` → `accept edits` → `plan` → `auto`. The change lasts for the session. The
|
|
115
|
+
default for new sessions is **Default permission mode** in `/config`.
|
|
116
|
+
|
|
117
|
+
## Model and effort
|
|
118
|
+
|
|
119
|
+
- `/model`, Enter → **Select model**. ↑/↓ picks, ←/→ sets effort.
|
|
120
|
+
- **Enter saves the model as the default for every new session.** Press `s` to use it in this session only. Esc cancels
|
|
121
|
+
(`⎿ Kept model as <model>`).
|
|
122
|
+
- **Exact ids:** `claude --help` documents `--model` with an alias for the latest model (`opus`, `sonnet`, `fable`) or a
|
|
123
|
+
full name such as `claude-opus-5-5`, `claude-sonnet-5-5` or `claude-haiku-5-5`, and `--effort` with `low`, `medium`,
|
|
124
|
+
`high`, `xhigh` or `max`. Presets in `maestri preset list` show working commands. `/effort` sets effort alone.
|
|
125
|
+
|
|
126
|
+
## Settings (`/config`)
|
|
127
|
+
|
|
128
|
+
- One panel with tabs: **Settings**, **Status**, **Config**, **Usage**, **Stats**. ↑ from the top of the list reaches
|
|
129
|
+
the tabs; ←/→ switches tab. Typing filters settings. Esc clears the search, then closes.
|
|
130
|
+
- Enter or ↓ moves from the search box into the list; Enter on a setting changes it. Navigate with ↑/↓ only.
|
|
131
|
+
- Settings that matter to the Maestro: **Default permission mode**, **Model**, **Continue automatically at usage
|
|
132
|
+
limit**, **Prompt suggestions** (the greyed suggestions in the input), **Auto-compact**, **Thinking mode**, **Fast
|
|
133
|
+
mode**.
|
|
134
|
+
- **Status** tab: version, session id, login method and account, model, MCP servers, setting sources, and system
|
|
135
|
+
diagnostics (e.g. a PATH warning).
|
|
136
|
+
- Persistent settings live in `~/.claude/settings.json`, `.claude/settings.json` and `.claude/settings.local.json`;
|
|
137
|
+
prefer them, or launch flags, over the TUI.
|
|
138
|
+
|
|
139
|
+
## Quota
|
|
140
|
+
|
|
141
|
+
- `/config` → **Usage** tab (↑ from the list reaches the tabs, → three times from Settings): limits with a bar, the
|
|
142
|
+
**percent used** and the reset time, e.g. `Current week (all models) … 80% used · Resets Nov 6, 2am`. Windows:
|
|
143
|
+
current session (five hours), current week (all models), current week per model family. Below them, hints on what
|
|
144
|
+
drives usage (long contexts, always-on context). Usage credits are off unless turned on with `/usage-credits`.
|
|
145
|
+
- `/context`: how much of the context window is in use. Not yet verified live on this version: read the screen.
|
|
146
|
+
- **Continue automatically at usage limit** in `/config` lets the agent keep going when a limit is hit.
|
|
147
|
+
- Recovery: wait for the reset, or move the agent to another account with
|
|
148
|
+
`maestri recruit --replace "Name" --account "Other"`.
|
|
149
|
+
- Not yet observed: the limit-reached screen.
|
|
150
|
+
|
|
151
|
+
## Keys
|
|
152
|
+
|
|
153
|
+
| Key | Raw | Action |
|
|
154
|
+
|---|---|---|
|
|
155
|
+
| Enter | `\n` | Send or confirm (send it apart from the text) |
|
|
156
|
+
| Esc | `\e` | Close a panel; cancel a prompt; interrupts the agent while it works. **Twice** clears the input |
|
|
157
|
+
| Backspace | `\x7f` | Delete a character |
|
|
158
|
+
| ↑ / ↓ | `\e[A` / `\e[B` | Navigate |
|
|
159
|
+
| 1-9 | `1`... | Pick a numbered option immediately |
|
|
160
|
+
| Shift+Tab | `\e[Z` | **Cycles the permission mode**: do not send unless asked |
|
|
161
|
+
| Alt+P | | **Switches model** |
|
|
162
|
+
| Ctrl+C | `\x03` | Interrupts or clears; **twice, exits** |
|
|
163
|
+
| Ctrl+D | `\x04` | **Exits**: never send |
|
|
164
|
+
| `?` | `?` | Shortcuts panel (in an empty input) |
|
|
165
|
+
| `!` | `!` | Shell mode (in an empty input) |
|
|
166
|
+
|
|
167
|
+
## Slash commands for the Maestro
|
|
168
|
+
|
|
169
|
+
`/model`, `/effort`, `/config` (settings, status, usage), `/permissions`, `/context`, `/compact [what to keep]`,
|
|
170
|
+
`/clear`, `/resume`, `/rewind`, `/btw` (side question), `/mcp`, `/hooks`, `/help`. `/exit`, `/logout` and `/login` stop
|
|
171
|
+
the agent or change its login: only when the user asks.
|
|
172
|
+
|
|
173
|
+
## Built-in capabilities
|
|
174
|
+
|
|
175
|
+
Tools (from the docs, present in a Claude Code 2.1.302 session): `Read`, `Edit`, `Write`, `Glob`, `Grep`, `Bash`,
|
|
176
|
+
`PowerShell`, `NotebookEdit`, `WebSearch`, `WebFetch`, `Agent`, `SendMessage`, `Workflow`, `Monitor`, `CronCreate`,
|
|
177
|
+
`EnterPlanMode`, `EnterWorktree`, `AskUserQuestion`, `Skill`, `Artifact` (claude.ai login on a paid plan). Some load on
|
|
178
|
+
demand through `ToolSearch`.
|
|
179
|
+
|
|
180
|
+
| Need | How |
|
|
181
|
+
|---|---|
|
|
182
|
+
| Web search, read a URL | `WebSearch`, `WebFetch` |
|
|
183
|
+
| Read images, PDF | `Read`; paste an image with Alt+V on Windows |
|
|
184
|
+
| Drive a browser | Only with the Claude in Chrome extension enabled |
|
|
185
|
+
| Subagents | `Agent` (types `Explore`, `Plan`, `general-purpose`) |
|
|
186
|
+
| Many agents from a script | `Workflow`; `/deep-research <question>` (paid plans) |
|
|
187
|
+
| Code review | `/code-review`, `/security-review` |
|
|
188
|
+
| Plan before editing | Plan mode (Shift+Tab) or `/plan` |
|
|
189
|
+
| Side question while it works | `/btw` (no tools, out of history) |
|
|
190
|
+
| Repeat or schedule | `/loop`, `/schedule` |
|
|
191
|
+
| Git worktree | `claude --worktree <name>`, `EnterWorktree` |
|
|
192
|
+
| Shareable page | `Artifact` |
|
|
193
|
+
|
|
194
|
+
Bundled skills (`disableBundledSkills` turns them off): `/code-review`, `/simplify`, `/security-review`, `/loop`,
|
|
195
|
+
`/schedule`, `/run`, `/verify`, `/batch`, `/claude-api`, `/dataviz`, `/update-config`, `/fewer-permission-prompts`,
|
|
196
|
+
`/debug`, `/doctor`, `/init`, the artifact guides, and `/workflow-authoring` when workflows are on.
|
|
197
|
+
|
|
198
|
+
Skills with a `plugin:` prefix, from the claude.ai account (`anthropic-skills:`), or in `~/.claude/skills` (where
|
|
199
|
+
Maestri installs its own) are not built in.
|
|
200
|
+
|
|
201
|
+
## Not yet observed
|
|
202
|
+
|
|
203
|
+
Limit-reached screen, logged-out screen, API or network errors.
|