@biggora/claude-plugins 1.1.1 → 1.2.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.
Files changed (117) hide show
  1. package/.claude/settings.local.json +3 -1
  2. package/README.md +13 -13
  3. package/codex-cli-workspace/iteration-1/benchmark.json +122 -0
  4. package/codex-cli-workspace/iteration-1/eval-1-ci-integration/eval_metadata.json +13 -0
  5. package/codex-cli-workspace/iteration-1/eval-1-ci-integration/with_skill/grading.json +52 -0
  6. package/codex-cli-workspace/iteration-1/eval-1-ci-integration/with_skill/outputs/response.md +163 -0
  7. package/codex-cli-workspace/iteration-1/eval-1-ci-integration/with_skill/timing.json +5 -0
  8. package/codex-cli-workspace/iteration-1/eval-1-ci-integration/without_skill/grading.json +58 -0
  9. package/codex-cli-workspace/iteration-1/eval-1-ci-integration/without_skill/outputs/response.md +151 -0
  10. package/codex-cli-workspace/iteration-1/eval-1-ci-integration/without_skill/timing.json +5 -0
  11. package/codex-cli-workspace/iteration-1/eval-2-mcp-server-config/eval_metadata.json +13 -0
  12. package/codex-cli-workspace/iteration-1/eval-2-mcp-server-config/with_skill/grading.json +52 -0
  13. package/codex-cli-workspace/iteration-1/eval-2-mcp-server-config/with_skill/outputs/response.md +86 -0
  14. package/codex-cli-workspace/iteration-1/eval-2-mcp-server-config/with_skill/timing.json +5 -0
  15. package/codex-cli-workspace/iteration-1/eval-2-mcp-server-config/without_skill/grading.json +58 -0
  16. package/codex-cli-workspace/iteration-1/eval-2-mcp-server-config/without_skill/outputs/response.md +164 -0
  17. package/codex-cli-workspace/iteration-1/eval-2-mcp-server-config/without_skill/timing.json +5 -0
  18. package/codex-cli-workspace/iteration-1/eval-3-profiles-troubleshooting/eval_metadata.json +13 -0
  19. package/codex-cli-workspace/iteration-1/eval-3-profiles-troubleshooting/with_skill/grading.json +52 -0
  20. package/codex-cli-workspace/iteration-1/eval-3-profiles-troubleshooting/with_skill/outputs/response.md +130 -0
  21. package/codex-cli-workspace/iteration-1/eval-3-profiles-troubleshooting/with_skill/timing.json +5 -0
  22. package/codex-cli-workspace/iteration-1/eval-3-profiles-troubleshooting/without_skill/grading.json +64 -0
  23. package/codex-cli-workspace/iteration-1/eval-3-profiles-troubleshooting/without_skill/outputs/response.md +209 -0
  24. package/codex-cli-workspace/iteration-1/eval-3-profiles-troubleshooting/without_skill/timing.json +5 -0
  25. package/codex-cli-workspace/iteration-1/review.html +1325 -0
  26. package/gemini-cli-workspace/iteration-1/benchmark.json +86 -0
  27. package/gemini-cli-workspace/iteration-1/eval-1-cicd-setup/eval_metadata.json +37 -0
  28. package/gemini-cli-workspace/iteration-1/eval-1-cicd-setup/with_skill/grading.json +37 -0
  29. package/gemini-cli-workspace/iteration-1/eval-1-cicd-setup/with_skill/outputs/response.md +401 -0
  30. package/gemini-cli-workspace/iteration-1/eval-1-cicd-setup/with_skill/timing.json +5 -0
  31. package/gemini-cli-workspace/iteration-1/eval-1-cicd-setup/without_skill/grading.json +37 -0
  32. package/gemini-cli-workspace/iteration-1/eval-1-cicd-setup/without_skill/outputs/response.md +405 -0
  33. package/gemini-cli-workspace/iteration-1/eval-1-cicd-setup/without_skill/timing.json +5 -0
  34. package/gemini-cli-workspace/iteration-1/eval-2-mcp-server-config/eval_metadata.json +37 -0
  35. package/gemini-cli-workspace/iteration-1/eval-2-mcp-server-config/with_skill/grading.json +37 -0
  36. package/gemini-cli-workspace/iteration-1/eval-2-mcp-server-config/with_skill/outputs/response.md +212 -0
  37. package/gemini-cli-workspace/iteration-1/eval-2-mcp-server-config/with_skill/timing.json +5 -0
  38. package/gemini-cli-workspace/iteration-1/eval-2-mcp-server-config/without_skill/grading.json +37 -0
  39. package/gemini-cli-workspace/iteration-1/eval-2-mcp-server-config/without_skill/outputs/response.md +427 -0
  40. package/gemini-cli-workspace/iteration-1/eval-2-mcp-server-config/without_skill/timing.json +5 -0
  41. package/gemini-cli-workspace/iteration-1/eval-3-custom-slash-command/eval_metadata.json +32 -0
  42. package/gemini-cli-workspace/iteration-1/eval-3-custom-slash-command/with_skill/grading.json +32 -0
  43. package/gemini-cli-workspace/iteration-1/eval-3-custom-slash-command/with_skill/outputs/response.md +171 -0
  44. package/gemini-cli-workspace/iteration-1/eval-3-custom-slash-command/with_skill/timing.json +5 -0
  45. package/gemini-cli-workspace/iteration-1/eval-3-custom-slash-command/without_skill/grading.json +32 -0
  46. package/gemini-cli-workspace/iteration-1/eval-3-custom-slash-command/without_skill/outputs/response.md +199 -0
  47. package/gemini-cli-workspace/iteration-1/eval-3-custom-slash-command/without_skill/timing.json +5 -0
  48. package/gemini-cli-workspace/iteration-1/review.html +1325 -0
  49. package/gemini-cli-workspace/iteration-2/benchmark.json +173 -0
  50. package/gemini-cli-workspace/iteration-2/benchmark.md +28 -0
  51. package/gemini-cli-workspace/iteration-2/eval-1-cicd-setup/eval_metadata.json +37 -0
  52. package/gemini-cli-workspace/iteration-2/eval-1-cicd-setup/with_skill/grading.json +37 -0
  53. package/gemini-cli-workspace/iteration-2/eval-1-cicd-setup/with_skill/outputs/response.md +195 -0
  54. package/gemini-cli-workspace/iteration-2/eval-1-cicd-setup/with_skill/timing.json +5 -0
  55. package/gemini-cli-workspace/iteration-2/eval-1-cicd-setup/without_skill/grading.json +37 -0
  56. package/gemini-cli-workspace/iteration-2/eval-1-cicd-setup/without_skill/outputs/response.md +377 -0
  57. package/gemini-cli-workspace/iteration-2/eval-1-cicd-setup/without_skill/timing.json +5 -0
  58. package/gemini-cli-workspace/iteration-2/eval-2-mcp-server-config/eval_metadata.json +37 -0
  59. package/gemini-cli-workspace/iteration-2/eval-2-mcp-server-config/with_skill/grading.json +37 -0
  60. package/gemini-cli-workspace/iteration-2/eval-2-mcp-server-config/with_skill/outputs/response.md +127 -0
  61. package/gemini-cli-workspace/iteration-2/eval-2-mcp-server-config/with_skill/timing.json +5 -0
  62. package/gemini-cli-workspace/iteration-2/eval-2-mcp-server-config/without_skill/grading.json +37 -0
  63. package/gemini-cli-workspace/iteration-2/eval-2-mcp-server-config/without_skill/outputs/response.md +164 -0
  64. package/gemini-cli-workspace/iteration-2/eval-2-mcp-server-config/without_skill/timing.json +5 -0
  65. package/gemini-cli-workspace/iteration-2/eval-3-custom-slash-command/eval_metadata.json +32 -0
  66. package/gemini-cli-workspace/iteration-2/eval-3-custom-slash-command/with_skill/grading.json +32 -0
  67. package/gemini-cli-workspace/iteration-2/eval-3-custom-slash-command/with_skill/outputs/response.md +91 -0
  68. package/gemini-cli-workspace/iteration-2/eval-3-custom-slash-command/with_skill/timing.json +5 -0
  69. package/gemini-cli-workspace/iteration-2/eval-3-custom-slash-command/without_skill/grading.json +32 -0
  70. package/gemini-cli-workspace/iteration-2/eval-3-custom-slash-command/without_skill/outputs/response.md +112 -0
  71. package/gemini-cli-workspace/iteration-2/eval-3-custom-slash-command/without_skill/timing.json +5 -0
  72. package/gemini-cli-workspace/iteration-2/eval-viewer.html +1325 -0
  73. package/package.json +1 -1
  74. package/screen-recording-workspace/evals.json +41 -0
  75. package/screen-recording-workspace/iteration-1/benchmark.json +102 -0
  76. package/screen-recording-workspace/iteration-1/eval-0-fullscreen/eval_metadata.json +31 -0
  77. package/screen-recording-workspace/iteration-1/eval-0-fullscreen/with_skill/grading.json +11 -0
  78. package/screen-recording-workspace/iteration-1/eval-0-fullscreen/with_skill/outputs/demo.mp4 +0 -0
  79. package/screen-recording-workspace/iteration-1/eval-0-fullscreen/with_skill/timing.json +5 -0
  80. package/screen-recording-workspace/iteration-1/eval-0-fullscreen/without_skill/grading.json +11 -0
  81. package/screen-recording-workspace/iteration-1/eval-0-fullscreen/without_skill/outputs/demo.mp4 +0 -0
  82. package/screen-recording-workspace/iteration-1/eval-0-fullscreen/without_skill/timing.json +5 -0
  83. package/screen-recording-workspace/iteration-1/eval-1-region-audio/eval_metadata.json +31 -0
  84. package/screen-recording-workspace/iteration-1/eval-1-region-audio/with_skill/grading.json +11 -0
  85. package/screen-recording-workspace/iteration-1/eval-1-region-audio/with_skill/outputs/region_capture.mp4 +0 -0
  86. package/screen-recording-workspace/iteration-1/eval-1-region-audio/with_skill/timing.json +5 -0
  87. package/screen-recording-workspace/iteration-1/eval-1-region-audio/without_skill/grading.json +11 -0
  88. package/screen-recording-workspace/iteration-1/eval-1-region-audio/without_skill/outputs/region_capture.mp4 +0 -0
  89. package/screen-recording-workspace/iteration-1/eval-1-region-audio/without_skill/timing.json +5 -0
  90. package/screen-recording-workspace/iteration-1/eval-2-python-fallback/eval_metadata.json +31 -0
  91. package/screen-recording-workspace/iteration-1/eval-2-python-fallback/with_skill/grading.json +11 -0
  92. package/screen-recording-workspace/iteration-1/eval-2-python-fallback/with_skill/outputs/fallback_recording.mp4 +0 -0
  93. package/screen-recording-workspace/iteration-1/eval-2-python-fallback/with_skill/timing.json +5 -0
  94. package/screen-recording-workspace/iteration-1/eval-2-python-fallback/without_skill/grading.json +11 -0
  95. package/screen-recording-workspace/iteration-1/eval-2-python-fallback/without_skill/outputs/fallback_recording.mp4 +0 -0
  96. package/screen-recording-workspace/iteration-1/eval-2-python-fallback/without_skill/outputs/record_screen.py +67 -0
  97. package/screen-recording-workspace/iteration-1/eval-2-python-fallback/without_skill/timing.json +5 -0
  98. package/screen-recording-workspace/iteration-1/review.html +1325 -0
  99. package/src/skills/codex-cli/SKILL.md +21 -11
  100. package/src/skills/codex-cli/evals/evals.json +47 -0
  101. package/src/skills/gemini-cli/SKILL.md +27 -13
  102. package/src/skills/gemini-cli/evals/evals.json +46 -0
  103. package/src/skills/gemini-cli/references/commands.md +21 -14
  104. package/src/skills/gemini-cli/references/configuration.md +23 -18
  105. package/src/skills/gemini-cli/references/headless-and-scripting.md +7 -17
  106. package/src/skills/gemini-cli/references/mcp-and-extensions.md +12 -6
  107. package/src/skills/notebook-lm/SKILL.md +1 -1
  108. package/src/skills/screen-recording/SKILL.md +243 -213
  109. package/src/skills/screen-recording/references/design-patterns.md +4 -2
  110. package/src/skills/screen-recording/references/ffmpeg-recording.md +473 -0
  111. package/src/skills/screen-recording/references/{approach1-programmatic.md → programmatic-generation.md} +45 -22
  112. package/src/skills/screen-recording/references/python-fallback.md +222 -0
  113. package/src/skills/tm-search/SKILL.md +242 -106
  114. package/src/skills/tm-search/evals/evals.json +23 -0
  115. package/src/skills/tm-search/references/scraping-fallback.md +60 -95
  116. package/src/skills/tm-search/scripts/tm_search.py +453 -375
  117. package/src/skills/screen-recording/references/approach2-xvfb.md +0 -232
@@ -39,17 +39,19 @@ codex e "Update CHANGELOG" # Short alias for exec
39
39
  ## Core Concepts
40
40
 
41
41
  ### Approval Modes (`-a` / `--ask-for-approval`)
42
- Controls when Codex pauses to ask before executing:
42
+ Controls when Codex pauses to ask before executing. The ONLY valid values are:
43
43
 
44
- | Mode | Flag | Behavior |
45
- |------|------|----------|
46
- | `untrusted` | `-a untrusted` | Max caution — approves almost everything |
47
- | `on-request` | `-a on-request` | Asks on sensitive actions (default for auto) |
48
- | `never` | `-a never` | Never asks — runs fully automated |
49
- | `reject` | `-a reject` | Blocks all tool use |
44
+ | Mode | Flag | Config value | Behavior |
45
+ |------|------|-------------|----------|
46
+ | `untrusted` | `-a untrusted` | `approval_policy = "untrusted"` | Max caution — approves almost everything |
47
+ | `on-request` | `-a on-request` | `approval_policy = "on-request"` | Asks on sensitive actions (default for auto) |
48
+ | `never` | `-a never` | `approval_policy = "never"` | Never asks — runs fully automated |
49
+ | `reject` | `-a reject` | `approval_policy = "reject"` | Blocks all tool use |
50
+
51
+ Note: `--full-auto` is a CLI-only shortcut (equivalent to `-a on-request -s workspace-write`). It is NOT a valid `approval_policy` config value. Values like "suggest", "auto-edit", or "full-auto" do not exist as config values.
50
52
 
51
53
  ### Sandbox Modes (`-s` / `--sandbox`)
52
- Controls filesystem and network access:
54
+ Controls filesystem and network access. The ONLY valid values are:
53
55
 
54
56
  | Mode | Flag | Access |
55
57
  |------|------|--------|
@@ -57,6 +59,8 @@ Controls filesystem and network access:
57
59
  | `workspace-write` | `-s workspace-write` | Write within working directory only |
58
60
  | `danger-full-access` | `-s danger-full-access` | Full system access (use with caution) |
59
61
 
62
+ Note: There is no `--no-sandbox` flag or `sandbox = "none"` config option. To bypass the sandbox entirely, use `--dangerously-bypass-approvals-and-sandbox` (alias `--yolo`).
63
+
60
64
  ### Common Combinations
61
65
  ```bash
62
66
  # Safe daily development (recommended)
@@ -78,6 +82,8 @@ codex --dangerously-bypass-approvals-and-sandbox "task"
78
82
 
79
83
  ## Configuration (`~/.codex/config.toml`)
80
84
 
85
+ Config uses **TOML format** (not JSON). The file is `config.toml`, never `config.json`.
86
+
81
87
  ### Minimal config
82
88
  ```toml
83
89
  model = "gpt-5-codex"
@@ -101,6 +107,9 @@ animations = true
101
107
  ```
102
108
 
103
109
  ### Profiles (for different workflows)
110
+
111
+ Profiles use `[profiles.<name>]` (plural "profiles", not singular "profile"):
112
+
104
113
  ```toml
105
114
  [profiles.ci]
106
115
  model = "gpt-5-codex"
@@ -112,7 +121,7 @@ model_reasoning_effort = "high"
112
121
  approval_policy = "untrusted"
113
122
  ```
114
123
 
115
- Use a profile: `codex --profile ci "task"` or set `profile = "ci"` at the top level.
124
+ Use a profile: `codex --profile ci "task"` or `codex -p ci "task"`, or set `profile = "ci"` at the top level as default.
116
125
 
117
126
  ### Config precedence (highest → lowest)
118
127
  1. CLI flags (`--model`, `-c key=value`)
@@ -124,7 +133,7 @@ Use a profile: `codex --profile ci "task"` or set `profile = "ci"` at the top le
124
133
 
125
134
  ## Non-Interactive Mode (`codex exec`)
126
135
 
127
- Ideal for CI pipelines and shell scripts:
136
+ For CI pipelines and shell scripts, always use `codex exec` (not bare `codex`). The `exec` subcommand runs non-interactively and exits when done:
128
137
 
129
138
  ```bash
130
139
  # Basic
@@ -195,9 +204,10 @@ env = { GITHUB_TOKEN = "$GITHUB_TOKEN" }
195
204
  url = "https://my-server.example.com/mcp"
196
205
  ```
197
206
 
198
- Run Codex itself as an MCP server (for other agents to consume):
207
+ Run Codex itself as an MCP server (for other agents to consume) using the `mcp` subcommand (not a flag):
199
208
  ```bash
200
209
  codex mcp
210
+ # Note: this is a subcommand, NOT "codex --mcp-server"
201
211
  ```
202
212
 
203
213
  ---
@@ -0,0 +1,47 @@
1
+ {
2
+ "skill_name": "codex-cli",
3
+ "evals": [
4
+ {
5
+ "id": 1,
6
+ "prompt": "I want to set up OpenAI Codex CLI in my GitHub Actions pipeline to auto-fix lint errors on PRs. How do I configure it with full-auto mode and workspace-write sandbox? My OPENAI_API_KEY is stored in GitHub secrets.",
7
+ "expected_output": "Should provide a GitHub Actions workflow YAML with npm install -g @openai/codex, codex exec with --full-auto flag, OPENAI_API_KEY from secrets, and correct sandbox/approval behavior explanation.",
8
+ "files": [],
9
+ "assertions": [
10
+ {"id": "installs-globally", "text": "Shows npm install -g @openai/codex for global installation"},
11
+ {"id": "uses-exec-mode", "text": "Uses 'codex exec' for non-interactive CI mode (not bare 'codex')"},
12
+ {"id": "full-auto-flag", "text": "Uses --full-auto flag and correctly explains it equals -a on-request -s workspace-write"},
13
+ {"id": "api-key-from-secrets", "text": "Shows OPENAI_API_KEY set from ${{ secrets.OPENAI_API_KEY }} in env"},
14
+ {"id": "provides-workflow-yaml", "text": "Provides a complete GitHub Actions workflow YAML snippet"},
15
+ {"id": "no-hallucinated-flags", "text": "Does not invent non-existent CLI flags or options"}
16
+ ]
17
+ },
18
+ {
19
+ "id": 2,
20
+ "prompt": "How do I add a custom MCP server to codex CLI? I have a Python-based MCP server that needs a GITHUB_TOKEN env var. Also want to run codex itself as an MCP server for other agents to consume.",
21
+ "expected_output": "Should show ~/.codex/config.toml mcp_servers section with command, args, env fields. Should show 'codex mcp' command for running as MCP server. Should use $GITHUB_TOKEN pattern for env vars.",
22
+ "files": [],
23
+ "assertions": [
24
+ {"id": "correct-config-location", "text": "Points to ~/.codex/config.toml for MCP server configuration"},
25
+ {"id": "mcp-servers-toml-syntax", "text": "Shows [mcp_servers.name] TOML section with command, args fields"},
26
+ {"id": "env-var-dollar-pattern", "text": "Shows $GITHUB_TOKEN or $ENV_VAR pattern for environment variable references"},
27
+ {"id": "codex-as-mcp-server", "text": "Shows 'codex mcp' command for running codex as an MCP server"},
28
+ {"id": "python-command-correct", "text": "Uses correct Python command (python/python3) in the MCP server command field"},
29
+ {"id": "no-hallucinated-config", "text": "Does not invent non-existent config keys or MCP server fields"}
30
+ ]
31
+ },
32
+ {
33
+ "id": 3,
34
+ "prompt": "I'm getting Landlock errors on WSL2 when running codex. Also, I need to set up two profiles in config.toml — one for safe daily dev and one for CI with no approvals. How do I fix the Landlock issue and configure the profiles?",
35
+ "expected_output": "Should explain Landlock fix (update WSL2 or use --dangerously-bypass-approvals-and-sandbox in isolated env). Should show config.toml profiles section with [profiles.dev] and [profiles.ci] using correct approval_policy values.",
36
+ "files": [],
37
+ "assertions": [
38
+ {"id": "landlock-wsl-fix", "text": "Mentions updating WSL2 kernel or using --dangerously-bypass-approvals-and-sandbox (--yolo) as workarounds"},
39
+ {"id": "profiles-toml-syntax", "text": "Shows correct [profiles.name] TOML syntax for defining profiles"},
40
+ {"id": "ci-profile-no-approval", "text": "CI profile uses approval_policy = 'never' for fully automated mode"},
41
+ {"id": "dev-profile-safe", "text": "Dev profile uses a safe approval_policy like 'on-request' or 'untrusted'"},
42
+ {"id": "profile-usage-flag", "text": "Shows --profile flag for selecting a profile at runtime"},
43
+ {"id": "no-hallucinated-fixes", "text": "Does not invent non-existent troubleshooting steps or config options"}
44
+ ]
45
+ }
46
+ ]
47
+ }
@@ -7,7 +7,7 @@ description: >
7
7
  prompts with -p flag, configuring settings.json, creating GEMINI.md context files, writing
8
8
  custom slash commands (.toml files), connecting MCP servers, creating extensions, automating
9
9
  tasks with shell scripts, using --output-format json/stream-json, managing chat sessions,
10
- using /memory commands, --yolo mode, or any scripting/automation involving gemini-cli.
10
+ using /memory commands, --auto-approve mode, Application Default Credentials (ADC), or any scripting/automation involving gemini-cli.
11
11
  Also trigger when user asks about integrating Gemini models into CLI workflows, CI/CD pipelines,
12
12
  or programmatic use of the Gemini API through the CLI tool.
13
13
  ---
@@ -66,11 +66,19 @@ gemini
66
66
  - Free: 1,000 req/day (Gemini Flash/Pro mix)
67
67
  - Can also store in `~/.gemini/.env` or `./.gemini/.env`
68
68
 
69
- ### Option 3: Vertex AI (enterprise)
69
+ ### Option 3: Application Default Credentials (ADC)
70
+ ```bash
71
+ gcloud auth application-default login
72
+ gemini
73
+ ```
74
+ - Uses Google Cloud ADC — no API key needed
75
+ - Best for developers already using Google Cloud
76
+
77
+ ### Option 4: Vertex AI (enterprise)
70
78
  ```bash
71
- export GOOGLE_API_KEY="your_key"
72
79
  export GOOGLE_GENAI_USE_VERTEXAI=true
73
80
  export GOOGLE_CLOUD_PROJECT="your-project-id"
81
+ gcloud auth application-default login
74
82
  gemini
75
83
  ```
76
84
 
@@ -119,8 +127,8 @@ gemini -p "Run tests and analyze results" --output-format stream-json
119
127
  # Extract response field with jq
120
128
  gemini -p "List top 5 Python testing frameworks" --output-format json | jq -r '.response'
121
129
 
122
- # Auto-accept all tool actions (YOLO mode) — use with care in automation
123
- gemini -p "Generate unit tests for @./src/utils.js" --yolo
130
+ # Auto-accept all tool actions (auto-approve mode) — use with care in automation
131
+ gemini -p "Generate unit tests for @./src/utils.js" --auto-approve
124
132
  ```
125
133
 
126
134
  ### JSON output schema
@@ -154,7 +162,7 @@ For full scripting patterns → read `references/headless-and-scripting.md`
154
162
  | `/restore` | List checkpoints |
155
163
  | `/restore <file>` | Restore a checkpoint |
156
164
  | `/bug` | Report an issue directly from CLI |
157
- | `Ctrl+Y` | Toggle YOLO mode (auto-accept all tools) |
165
+ | `Ctrl+Y` | Toggle auto-approve mode |
158
166
 
159
167
  ---
160
168
 
@@ -226,11 +234,17 @@ Location: `~/.gemini/settings.json` (global) or `<project>/.gemini/settings.json
226
234
 
227
235
  ```json
228
236
  {
229
- "model": "gemini-2.5-pro",
230
- "theme": "dark",
237
+ "model": {
238
+ "name": "gemini-2.5-pro"
239
+ },
240
+ "theme": {
241
+ "name": "dark"
242
+ },
231
243
  "autoAccept": false,
232
- "coreTools": ["read_file", "write_file", "run_shell_command"],
233
- "excludeTools": ["dangerous_tool"],
244
+ "tools": {
245
+ "core": ["read_file", "write_file", "run_shell_command"],
246
+ "disabled": ["dangerous_tool"]
247
+ },
234
248
  "mcpServers": {
235
249
  "github": {
236
250
  "command": "npx",
@@ -288,7 +302,7 @@ Extensions bundle MCP servers + GEMINI.md + custom commands into a reusable pack
288
302
 
289
303
  **Install from URL:**
290
304
  ```bash
291
- gemini extension install https://github.com/GoogleCloudPlatform/cloud-run-mcp
305
+ gemini extensions install https://github.com/GoogleCloudPlatform/cloud-run-mcp
292
306
  ```
293
307
 
294
308
  **Browse gallery:** https://geminicli.com/extensions/
@@ -347,7 +361,7 @@ echo "$result" | jq -r '.response' > openapi.json
347
361
  export GEMINI_API_KEY="${{ secrets.GEMINI_API_KEY }}"
348
362
  gemini -p "Analyze test failures in @./test-results.xml and suggest fixes" \
349
363
  --output-format json \
350
- --yolo \
364
+ --auto-approve \
351
365
  | jq -r '.response'
352
366
  ```
353
367
 
@@ -374,6 +388,6 @@ For Vertex AI: additional enterprise models available.
374
388
  | Rate limit errors | Free tier: 60 req/min, 1000/day — wait or upgrade |
375
389
  | MCP server not connecting | Check `/mcp status`, verify server binary is installed |
376
390
  | Slash command not recognized in headless | Known limitation — embed prompt text directly for now |
377
- | Tool confirmation loops | Add `--yolo` flag for automation, or set `"autoAccept": true` in settings.json |
391
+ | Tool confirmation loops | Add `--auto-approve` flag for automation, or set `"autoAccept": true` in settings |
378
392
 
379
393
  Full troubleshooting: https://geminicli.com/docs/resources/troubleshooting/
@@ -0,0 +1,46 @@
1
+ {
2
+ "skill_name": "gemini-cli",
3
+ "evals": [
4
+ {
5
+ "id": 1,
6
+ "prompt": "I want to set up gemini cli in my CI/CD pipeline on GitHub Actions so it can automatically review PRs. We use an API key stored in GitHub secrets. How do I set this up with structured JSON output so I can parse the review?",
7
+ "expected_output": "Should provide a GitHub Actions workflow snippet using GEMINI_API_KEY from secrets, -p flag for headless mode, --output-format json, and jq for parsing. Should mention --yolo if tool actions are needed.",
8
+ "files": [],
9
+ "assertions": [
10
+ {"id": "mentions-p-flag", "text": "Uses -p or --prompt flag for headless/non-interactive mode"},
11
+ {"id": "mentions-json-output", "text": "Includes --output-format json flag for structured output"},
12
+ {"id": "mentions-api-key-env", "text": "Shows how to set GEMINI_API_KEY from GitHub secrets"},
13
+ {"id": "provides-workflow-yaml", "text": "Provides a GitHub Actions workflow YAML snippet"},
14
+ {"id": "mentions-jq-parsing", "text": "Shows how to parse JSON response (e.g., with jq .response)"},
15
+ {"id": "no-hallucinated-flags", "text": "Does not invent non-existent CLI flags or options"}
16
+ ]
17
+ },
18
+ {
19
+ "id": 2,
20
+ "prompt": "I need to connect a custom MCP server I built in Python to gemini cli. The server needs an API key from my environment. Also I want to restrict which tools it can expose. How do I configure this?",
21
+ "expected_output": "Should explain settings.json mcpServers config with command, args, env ($VAR pattern), and includeTools/excludeTools. Should mention trust field and security considerations.",
22
+ "files": [],
23
+ "assertions": [
24
+ {"id": "correct-settings-location", "text": "Points to ~/.gemini/settings.json or project-level settings.json"},
25
+ {"id": "shows-mcp-config-structure", "text": "Shows mcpServers config with command, args fields"},
26
+ {"id": "env-var-dollar-pattern", "text": "Shows $VAR pattern for environment variable references in env field"},
27
+ {"id": "tool-filtering", "text": "Explains includeTools and/or excludeTools for restricting exposed tools"},
28
+ {"id": "security-note", "text": "Mentions security considerations (trust field, not hardcoding keys, etc.)"},
29
+ {"id": "python-command-correct", "text": "Uses correct Python command (python/python3) in the command field"}
30
+ ]
31
+ },
32
+ {
33
+ "id": 3,
34
+ "prompt": "How do I create a custom slash command in gemini cli that runs git diff --cached and asks the AI to write a commit message? I want it available in all my projects.",
35
+ "expected_output": "Should provide a .toml file in ~/.gemini/commands/ with !{git diff --cached} shell syntax and prompt template. Should mention headless limitation.",
36
+ "files": [],
37
+ "assertions": [
38
+ {"id": "correct-file-location", "text": "Points to ~/.gemini/commands/ for global user-scoped commands"},
39
+ {"id": "toml-format", "text": "Shows .toml file format with prompt field"},
40
+ {"id": "shell-execution-syntax", "text": "Uses !{git diff --cached} shell execution syntax in the prompt"},
41
+ {"id": "mentions-headless-limitation", "text": "Warns that custom slash commands don't work in headless/non-interactive mode"},
42
+ {"id": "complete-working-example", "text": "Provides a complete, copy-pasteable .toml file example"}
43
+ ]
44
+ }
45
+ ]
46
+ }
@@ -10,11 +10,9 @@ Options:
10
10
  -m, --model <model> Model to use (e.g., gemini-2.5-pro)
11
11
  --output-format <format> Output format: text (default), json, stream-json
12
12
  --include-directories <dirs> Comma-separated extra directories to include
13
- --yolo Auto-accept all tool actions (no confirmations)
13
+ --auto-approve Auto-accept all tool actions (no confirmations)
14
14
  --resume <session-id> Resume a previous session
15
- --system-prompt <text> Override system prompt
16
- --raw-output Disable ANSI codes in output
17
- --debug-log <path> Write debug JSONL log to file
15
+ --sandbox <type> Run in sandboxed environment (docker, podman, etc.)
18
16
  -v, --version Show version
19
17
  -h, --help Show help
20
18
  ```
@@ -56,6 +54,13 @@ Options:
56
54
  | `/chat resume <name>` | Resume a saved conversation |
57
55
  | `/chat list` | List saved conversations |
58
56
 
57
+ ### Context / Compaction
58
+
59
+ | Command | Description |
60
+ |---|---|
61
+ | `/compact` | Compact conversation context (free tokens) |
62
+ | `/diff` | Show diff of changes made in current session |
63
+
59
64
  ### Memory
60
65
 
61
66
  | Command | Description |
@@ -63,6 +68,7 @@ Options:
63
68
  | `/memory add <text>` | Add a persistent fact to GEMINI.md |
64
69
  | `/memory show` | Display current memory contents |
65
70
  | `/memory clear` | Clear all memory entries |
71
+ | `/memory reload` | Reload memory from disk |
66
72
 
67
73
  ### Checkpointing
68
74
 
@@ -75,9 +81,9 @@ Options:
75
81
 
76
82
  | Command | Description |
77
83
  |---|---|
78
- | `/extension list` | List installed extensions |
79
- | `/extension enable <n>` | Enable an extension |
80
- | `/extension disable <n>` | Disable an extension |
84
+ | `/extensions list` | List installed extensions |
85
+ | `/extensions enable <n>` | Enable an extension |
86
+ | `/extensions disable <n>` | Disable an extension |
81
87
 
82
88
  ### Theme
83
89
 
@@ -95,7 +101,7 @@ Options:
95
101
  | `replace` | Replace text in files (old_string → new_string) |
96
102
  | `list_directory` | List directory contents |
97
103
  | `glob` | Find files by pattern |
98
- | `search_file_content` | Search within files by pattern |
104
+ | `grep_search` | Search within files by pattern |
99
105
  | `run_shell_command` | Execute shell commands |
100
106
  | `google_web_search` | Search the web (Google Search grounding) |
101
107
  | `web_fetch` | Fetch URL content |
@@ -123,10 +129,11 @@ gemini -p "Summarize @https://github.com/org/repo/README.md"
123
129
  |---|---|
124
130
  | `Ctrl+C` | Cancel current operation |
125
131
  | `Ctrl+D` | Exit |
126
- | `Ctrl+Y` | Toggle YOLO mode (auto-accept tools) |
132
+ | `Ctrl+Y` | Toggle auto-approve mode (auto-accept tools) |
127
133
  | `Ctrl+L` | Clear screen |
134
+ | `Ctrl+J` | Insert newline (multi-line input) |
128
135
  | `↑ / ↓` | Navigate input history |
129
- | `Tab` | Autocomplete slash commands |
136
+ | `Tab` | Autocomplete slash commands and file paths |
130
137
 
131
138
  ## gemini mcp CLI Commands (outside session)
132
139
 
@@ -136,10 +143,10 @@ gemini mcp list
136
143
  gemini mcp remove <n>
137
144
  ```
138
145
 
139
- ## gemini extension CLI Commands (outside session)
146
+ ## gemini extensions CLI Commands (outside session)
140
147
 
141
148
  ```bash
142
- gemini extension install <url>
143
- gemini extension list
144
- gemini extension remove <n>
149
+ gemini extensions install <url>
150
+ gemini extensions list
151
+ gemini extensions remove <n>
145
152
  ```
@@ -17,20 +17,25 @@
17
17
 
18
18
  ```json
19
19
  {
20
- // Model selection
21
- "model": "gemini-2.5-pro",
20
+ // Model selection (nested under "model" object)
21
+ "model": {
22
+ "name": "gemini-2.5-pro"
23
+ },
22
24
 
23
- // UI theme: "dark" | "light" | "auto" | custom theme name
24
- "theme": "dark",
25
+ // UI theme (nested under "theme" object)
26
+ "theme": {
27
+ "name": "dark"
28
+ },
25
29
 
26
- // Auto-accept all tool confirmations (like --yolo)
30
+ // Auto-accept all tool confirmations (like --auto-approve)
27
31
  "autoAccept": false,
28
32
 
29
- // Tools to include (whitelist) if set, only these are available
30
- "coreTools": ["read_file", "write_file", "run_shell_command", "google_web_search"],
31
-
32
- // Tools to explicitly exclude (blacklist)
33
- "excludeTools": ["dangerous_tool_name"],
33
+ // Tools configuration (nested under "tools" object)
34
+ "tools": {
35
+ "core": ["read_file", "write_file", "run_shell_command", "google_web_search"],
36
+ "allowed": ["my_custom_tool"],
37
+ "disabled": ["dangerous_tool_name"]
38
+ },
34
39
 
35
40
  // Generation parameters
36
41
  "generationConfig": {
@@ -48,7 +53,7 @@
48
53
  "env": {
49
54
  "API_KEY": "$MY_ENV_VAR"
50
55
  },
51
- "timeout": 15000,
56
+ "timeout": 600000,
52
57
  "trust": false,
53
58
  "includeTools": ["safe_tool_1"],
54
59
  "excludeTools": ["unsafe_tool"]
@@ -107,6 +112,7 @@ Main services: auth, api, worker.
107
112
  ```
108
113
  /memory add "Staging database is on port 5432"
109
114
  /memory show
115
+ /memory reload # reload from disk after external edits
110
116
  ```
111
117
  (Writes to `~/.gemini/GEMINI.md`)
112
118
 
@@ -130,6 +136,9 @@ Gemini CLI also respects `.gitignore` automatically.
130
136
 
131
137
  ```json
132
138
  {
139
+ "model": {
140
+ "name": "gemini-2.5-pro"
141
+ },
133
142
  "generationConfig": {
134
143
  "temperature": 1.0,
135
144
  "topP": 0.95,
@@ -146,19 +155,15 @@ Gemini CLI also respects `.gitignore` automatically.
146
155
 
147
156
  ## System Prompt Override
148
157
 
149
- Override the entire system prompt (advanced):
150
-
151
- ```bash
152
- gemini --system-prompt "You are a strict TypeScript reviewer. Only respond with code issues."
153
- ```
154
-
155
- Or via settings.json:
158
+ Override the system prompt via settings.json:
156
159
  ```json
157
160
  {
158
161
  "systemPrompt": "You are a helpful assistant for Python development."
159
162
  }
160
163
  ```
161
164
 
165
+ Or use GEMINI.md context files to provide project-specific instructions (preferred approach).
166
+
162
167
  ## Trusted Folders
163
168
 
164
169
  Control which directories allow shell command execution:
@@ -60,8 +60,8 @@
60
60
  |---|---|
61
61
  | 0 | Success |
62
62
  | 1 | General error |
63
- | 2 | Authentication error |
64
- | 3 | Rate limit / quota exceeded |
63
+ | 42 | Input error (invalid arguments, missing config) |
64
+ | 53 | Turn limit exceeded |
65
65
 
66
66
  ## Session Management in Headless Mode
67
67
 
@@ -74,9 +74,8 @@ gemini -p "Continue from where we left off" --resume <session_id>
74
74
 
75
75
  ## Input Sources (merged in order)
76
76
 
77
- 1. `--context-file` flag
78
- 2. Stdin pipe
79
- 3. `-p` prompt argument
77
+ 1. Stdin pipe
78
+ 2. `-p` prompt argument
80
79
 
81
80
  ## Bash Scripting Patterns
82
81
 
@@ -104,10 +103,10 @@ echo "$RESULT" | jq -r '.response'
104
103
  git log --oneline -20 | gemini -p "Summarize the recent development activity"
105
104
  ```
106
105
 
107
- ### Pattern 5: Auto-accept all tool actions (YOLO)
106
+ ### Pattern 5: Auto-accept all tool actions (auto-approve)
108
107
  ```bash
109
108
  # For CI pipelines where no human is present
110
- gemini -p "Fix lint errors in @./src/ and save changes" --yolo --output-format json
109
+ gemini -p "Fix lint errors in @./src/ and save changes" --auto-approve --output-format json
111
110
  ```
112
111
 
113
112
  ### Pattern 6: Batch processing multiple files
@@ -115,7 +114,7 @@ gemini -p "Fix lint errors in @./src/ and save changes" --yolo --output-format j
115
114
  #!/bin/bash
116
115
  for py_file in $(find src -name "*.py"); do
117
116
  echo "Processing: $py_file"
118
- gemini -p "Add type hints to @$py_file and save" --yolo
117
+ gemini -p "Add type hints to @$py_file and save" --auto-approve
119
118
  done
120
119
  ```
121
120
 
@@ -166,15 +165,6 @@ $output.response > data.json
166
165
  echo "$REVIEW" >> $GITHUB_STEP_SUMMARY
167
166
  ```
168
167
 
169
- ## Logging / Debugging
170
-
171
- ```bash
172
- # Enable debug logging to file
173
- gemini -p "My prompt" --debug-log ./gemini-debug.jsonl
174
- ```
175
-
176
- The log file captures all API interactions and tool executions as JSONL events.
177
-
178
168
  ## Known Limitations
179
169
 
180
170
  - Custom slash commands (`.toml`) currently do NOT work in headless/non-interactive mode (open issue). Workaround: embed the full prompt text directly in your script.
@@ -49,10 +49,13 @@ resources to Gemini CLI. MCP servers act as a bridge between Gemini and external
49
49
  | `args` | string[] | Arguments array |
50
50
  | `cwd` | string | Working directory |
51
51
  | `env` | object | Environment variables (use `"$VAR"` to reference env) |
52
- | `timeout` | number | Connection timeout in ms (default: 10000) |
52
+ | `timeout` | number | Connection timeout in ms (default: 600000 — 10 minutes) |
53
53
  | `trust` | boolean | Skip all confirmation dialogs (use with caution) |
54
54
  | `includeTools` | string[] | Whitelist of tools to expose |
55
55
  | `excludeTools` | string[] | Blacklist of tools to hide |
56
+ | `description` | string | Human-readable description of the server |
57
+ | `httpUrl` | string | HTTP endpoint URL (for streamable HTTP transport) |
58
+ | `headers` | object | Custom HTTP headers for remote connections |
56
59
 
57
60
  ## Remote MCP Servers (SSE/HTTP)
58
61
 
@@ -128,7 +131,7 @@ Extensions bundle together MCP servers, context files, and custom commands into
128
131
 
129
132
  ### Install from Git URL
130
133
  ```bash
131
- gemini extension install https://github.com/GoogleCloudPlatform/cloud-run-mcp
134
+ gemini extensions install https://github.com/GoogleCloudPlatform/cloud-run-mcp
132
135
  ```
133
136
 
134
137
  ### Browse the gallery
@@ -176,9 +179,9 @@ my-extension/
176
179
  ### Managing Extensions
177
180
 
178
181
  ```
179
- /extension list # list installed extensions
180
- /extension enable <n> # enable extension
181
- /extension disable <n> # disable extension
182
+ /extensions list # list installed extensions
183
+ /extensions enable <n> # enable extension
184
+ /extensions disable <n> # disable extension
182
185
  ```
183
186
 
184
187
  ---
@@ -206,9 +209,12 @@ description = "What this command does"
206
209
  # Use {{args}} to insert all user-provided arguments
207
210
  prompt = "Review this code: {{args}}"
208
211
 
209
- # Shell command execution (backtick-style)
212
+ # Shell command execution
210
213
  prompt = "Review staged changes:\n!{git diff --cached}"
211
214
 
215
+ # File content injection
216
+ prompt = "Review this config:\n@{./config.json}"
217
+
212
218
  # Combined example
213
219
  description = "Commit with AI message"
214
220
  prompt = """
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: notebooklm
2
+ name: notebook-lm
3
3
  description: |
4
4
  Automate Google NotebookLM via the notebooklm-py Python library. Use this skill whenever the user wants to:
5
5
  - Create, manage, or delete NotebookLM notebooks