← Back to list
🛠️

baoyu-danger-gemini-web Checked

Generates images and text via reverse-engineered Gemini Web API. Supports text generation, image …
🛠️ Developer Tools skills By JimLiu Version v1.0.0 Added 2026-09-03 Updated 2026-09-03 Source ↗
8.6Overall rating
2Views
5Downloads
25.6kStars

Installation

🤖 Install via AI

Copy the prompt below and send it to your AI assistant (e.g. Claude Code) — it will follow the instructions and install automatically.

Install the "baoyu-danger-gemini-web" skill by following the instructions at https://skill123.me/install/baoyu-danger-gemini-web.
⌨️ Command line install

Run in your terminal — downloads and installs to ~/.claude/skills/.

curl -fsSL https://skill123.me/install/baoyu-danger-gemini-web.sh | bash
📦 Download ZIP

Download the zip and extract it into your skills directory (e.g. ~/.claude/skills/), then restart your session.

⬇ Download v1.0.0 · 37 KB
📊 Static rating
8.6/10
Trigger
7.0
Structure
9.3
Workflow
8.8
Content
9.0
Engineering
10.0
Security
8.5

Six-dimension rubric with reviewer rationale.

View scorecard ↓
🛡 Dynamic test
—

Not live-tested yet — this skill is rated on static analysis only.

About this skill

Generates images and text via reverse-engineered Gemini Web API. Supports text generation, image generation from prompts, reference images for vision input, and multi-turn conversations. Use when other skills need image generation backend, or when user requests "generate image with Gemini", "Gemini text generation", or needs vision-capable AI generation.

Gemini Web Client

Text/image generation via Gemini Web API. Supports reference images and multi-turn conversations.

Documentation

Generates images and text via reverse-engineered Gemini Web API. Supports text generation, image generation from prompts, reference images for vision input, and multi-turn conversations. Use when other skills need image generation backend, or when user requests "generate image with Gemini", "Gemini text generation", or needs vision-capable AI generation.

Gemini Web Client

Text/image generation via Gemini Web API. Supports reference images and multi-turn conversations.

User Input Tools

When this skill prompts the user, follow this tool-selection rule (priority order):

1. **Prefer built-in user-input tools** exposed by the current agent runtime — e.g., AskUserQuestion, request_user_input, clarify, ask_user, or any equivalent.

2. **Fallback**: if no such tool exists, emit a numbered plain-text message and ask the user to reply with the chosen number/answer for each question.

3. **Batching**: if the tool supports multiple questions per call, combine all applicable questions into a single call; if only single-question, ask them one at a time in priority order.

Concrete AskUserQuestion references below are examples — substitute the local equivalent in other runtimes.

Script Directory

**Important**: All scripts are located in the scripts/ subdirectory of this skill.

**Agent Execution Instructions**:

1. Determine this SKILL.md file's directory path as {baseDir}

2. Script path = {baseDir}/scripts/<script-name>.ts

3. Resolve ${BUN_X} runtime: if bun installed → bun; if npx available → npx -y bun; else suggest installing bun

4. Replace all {baseDir} and ${BUN_X} in this document with actual values

**Script Reference**:

| Script | Purpose |

|--------|---------|

| scripts/main.ts | CLI entry point for text/image generation |

| scripts/gemini-webapi/* | TypeScript port of gemini_webapi (GeminiClient, types, utils) |

Consent Check (REQUIRED)

Before first use, verify user consent for reverse-engineered API usage.

**Consent file locations**:

  • macOS: ~/Library/Application Support/baoyu-skills/gemini-web/consent.json
  • Linux: ~/.local/share/baoyu-skills/gemini-web/consent.json
  • Windows: %APPDATA%\baoyu-skills\gemini-web\consent.json

**Flow**:

1. Check if consent file exists with accepted: true and disclaimerVersion: "1.0"

2. If valid consent exists → print warning with acceptedAt date, proceed

3. If no consent → show disclaimer, ask user via AskUserQuestion:

  • "Yes, I accept" → create consent file with ISO timestamp, proceed
  • "No, I decline" → output decline message, stop

4. Consent file format: {"version":1,"accepted":true,"acceptedAt":"<ISO>","disclaimerVersion":"1.0"}

---

Preferences (EXTEND.md)

Check EXTEND.md in priority order — the first one found wins:

View full documentation

| Priority | Path | Scope |

|----------|------|-------|

| 1 | .baoyu-skills/baoyu-danger-gemini-web/EXTEND.md | Project |

| 2 | ${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-danger-gemini-web/EXTEND.md | XDG |

| 3 | $HOME/.baoyu-skills/baoyu-danger-gemini-web/EXTEND.md | User home |

If none found, use defaults.

**EXTEND.md supports**: Default model, proxy settings, custom data directory.

Usage


# Text generation
${BUN_X} {baseDir}/scripts/main.ts "Your prompt"
${BUN_X} {baseDir}/scripts/main.ts --prompt "Your prompt" --model gemini-3-flash

# Image generation
${BUN_X} {baseDir}/scripts/main.ts --prompt "A cute cat" --image cat.png
${BUN_X} {baseDir}/scripts/main.ts --promptfiles system.md content.md --image out.png

# Vision input (reference images)
${BUN_X} {baseDir}/scripts/main.ts --prompt "Describe this" --reference image.png
${BUN_X} {baseDir}/scripts/main.ts --prompt "Create variation" --reference a.png --image out.png

# Multi-turn conversation
${BUN_X} {baseDir}/scripts/main.ts "Remember: 42" --sessionId session-abc
${BUN_X} {baseDir}/scripts/main.ts "What number?" --sessionId session-abc

# JSON output
${BUN_X} {baseDir}/scripts/main.ts "Hello" --json

Options

| Option | Description |

|--------|-------------|

| --prompt, -p | Prompt text |

| --promptfiles | Read prompt from files (concatenated) |

| --model, -m | Model: gemini-3-pro (default), gemini-3-flash, gemini-3-flash-thinking, gemini-3.1-pro-preview |

| --image [path] | Generate image (default: generated.png) |

| --reference, --ref | Reference images for vision input |

| --sessionId | Session ID for multi-turn conversation |

| --list-sessions | List saved sessions |

| --json | Output as JSON |

| --login | Refresh cookies, then exit |

| --cookie-path | Custom cookie file path |

| --profile-dir | Chrome profile directory |

Models

| Model | Description |

|-------|-------------|

| gemini-3-pro | Default, latest 3.0 Pro |

| gemini-3-flash | Fast, lightweight 3.0 Flash |

| gemini-3-flash-thinking | 3.0 Flash with thinking |

| gemini-3.1-pro-preview | 3.1 Pro preview (empty header, auto-routed) |

Authentication

First run opens browser for Google auth. Cookies cached automatically.

When no explicit profile dir is set, cookie refresh may reuse an already-running local Chrome/Chromium debugging session tied to a standard user-data dir.

Set --profile-dir or GEMINI_WEB_CHROME_PROFILE_DIR to force a dedicated profile and skip existing-session reuse.

This is a best-effort CDP session reuse path, not the Chrome DevTools MCP prompt-based --autoConnect flow described in Chrome's official docs.

Supported browsers (auto-detected): Chrome, Chrome Canary/Beta, Chromium, Edge.

Force refresh: --login flag. Override browser: GEMINI_WEB_CHROME_PATH env var.

Environment Variables

| Variable | Description |

|----------|-------------|

| GEMINI_WEB_DATA_DIR | Data directory |

| GEMINI_WEB_COOKIE_PATH | Cookie file path |

| GEMINI_WEB_CHROME_PROFILE_DIR | Chrome profile directory |

| GEMINI_WEB_CHROME_PATH | Chrome executable path |

| HTTP_PROXY, HTTPS_PROXY | Proxy for Google access (set inline with command) |

Sessions

Session files stored in data directory under sessions/<id>.json.

Contains: id, metadata (Gemini chat state), messages array, timestamps.

Extension Support

Custom configurations via EXTEND.md. See **Preferences** section for paths and supported options.

Score breakdown

Trigger
7.0
Good What/When with usage triggers, but no explicit When-Not boundary and modest keyword variety.
Structure
9.3
Compact 155-line SKILL.md; scripts cleanly organized with package.json and lockfile; test file adds slight bulk.
Workflow
8.8
Strong Tool Wrapper: consent guard, bun/npx runtime resolution, error codes, session management, and JSON output for verification.
Content
9.0
Concise imperative style with option and model tables plus copy-paste command examples.
Engineering
10.0
Valid frontmatter with metadata; dependencies declared; all referenced script paths exist in the bundle.
Security
8.5
Extracts user Google cookies via CDP for Google-only endpoints with consent gate (not theft, no veto); reverse-engineered API ToS risk and Chrome session reuse cost points.
Well-engineered Tool Wrapper around the reverse-engineered Gemini Web API: consent gate, session handling, runtime fallback, all endpoints Google-only; CDP cookie extraction is disclosed and consent-gated, so no veto, but ToS and cookie-reuse risks cost security points.