← Back to Skills Marketplace
mathanmithun1999

God of all Browsers

by MaThanMiThun1999 · GitHub ↗ · v1.0.6 · MIT-0
cross-platform ⚠ suspicious
264
Downloads
0
Stars
0
Active Installs
7
Versions
Install in OpenClaw
/install god-of-all-browsers
Description
A 100x smarter browser automation CLI that mimics human behavior using a native stateful Chromium instance. It supports multi-tab management, bypasses bot de...
README (SKILL.md)

\r \r

God of all Browsers\r

\r A stateful, multi-tab Puppeteer skill designed to help AI agents automate heavily protected websites the exact same way a human does.\r \r It solves three critical AI problems:\r \r

  1. Tabs & Statefulness: It launches a single background browser that stays open. Navigations, clicks that open new tabs, and cookies are remembered across multiple commands!\r
  2. Vision Abstraction: AI cannot "see" coordinates well, so snapshot maps the DOM, assigns a [tag] ID to every visible button/input, and takes a screenshot. The AI just says "Click tag [15]."\r
  3. Bot Evasion: Uses headless: false, custom user agents, removed webdriver footprints, and canvas spoofing.\r \r Important Setup: Ensure the Chromium path is correct (C:\Program Files\Google\Chrome\Application\chrome.exe for Win or /usr/bin/chromium for Linux) and puppeteer-core is installed.\r \r

🚀 COMMANDS & WORKFLOW\r

\r

1. Start the Browser (Required First Step)\r

\r Launch the browser in the background. It will use a persistent chrome_profile directory so you NEVER lose login sessions.\r \r

# Standard mode (Recommended for debugging)\r
node browser.js start\r
\r
# Headless mode (Faster, silent background)\r
# Note: Automatically enabled if running in Termux.\r
node browser.js start --headless\r
```\r
\r
### 2. Take a Snapshot (And auto-close popups)\r
\r
This is your "eyes". Run this before any interaction to get the active window's current state and a list of clickable `[tag]` IDs.\r
\r
```bash\r
# If navigating somewhere new:\r
node browser.js snapshot --url "https://www.google.com"\r
\r
# If already on the page (refresh DOM):\r
node browser.js snapshot\r
```\r
\r
_Wait for this command to output the JSON array of tags._ It will also automatically click away annoying Chatbot/Notification popups.\r
\r
### 3. Click or Type (Like a human)\r
\r
Use the tags captured during the snapshot.\r
\r
```bash\r
# Click a button or link (e.g. tag [24])\r
node browser.js click --tag "[24]"\r
\r
# Type into an input box (e.g. tag [5])\r
node browser.js type --tag "[5]" --text "MERN Stack Developer"\r
\r
# Press a specific keyboard key (Default: Enter)\r
node browser.js press --key "Enter"\r
```\r
\r
### 4. Reading & Content Extraction\r
\r
Extract text content from any element using tags or CSS selectors.\r
\r
```bash\r
# Read visible text from a specific tag\r
node browser.js read --tag "[12]"\r
\r
# Read content of a specific CSS selector (e.g. the main article)\r
node browser.js read --selector "article.main-content"\r
\r
# Deep-expand hidden content (clicks Read More/Show All buttons automatically)\r
node browser.js expand\r
```\r
\r
### 5. Tab Management\r
\r
Many sites open clicked links in a new tab! If your `click` command opens a new tab, the CLI will automatically say:\r
`⚠️ A NEW TAB WAS OPENED!! Automatically switched context to Tab [1].`\r
\r
You can manually manage tabs using:\r
\r
```bash\r
# List all currently open tabs\r
node browser.js check-tabs\r
\r
# Switch to a specific tab index (e.g. going back to the search page: tab 0)\r
node browser.js switch-tab --index 0\r
\r
# Just check the very current URL you are viewing:\r
node browser.js check-url\r
```\r
\r
### 5. Find Tags (Accurate Filtered Search)\r
\r
Use this to filter elements by keywords instead of reading a massive snapshot. It can search live on the current page or in a previously saved JSON file.\r
\r
```bash\r
# Search live for "Apply" or "Success" buttons\r
node browser.js find --query "apply,success"\r
\r
# Search within a specific saved snapshot file (e.g., to verify output)\r
node browser.js find --file "snapshot.json" --query "applied,successfully"\r
```\r
\r
### 6. Refresh Page\r
\r
Manually reload the current tab. Useful for status updates.\r
\r
```bash\r
node browser.js refresh\r
```\r
\r
### 7. Scrape Meta Tags (SEO/OpenGraph)\r
\r
Extract hidden page data like Title, Description, and Social Media tags.\r
\r
```bash\r
node browser.js scrap-meta\r
```\r
\r
### 8. Dynamic Evolution (Eval)\r
\r
Execute custom JavaScript logic directly in the browser context. **Note: For security, the `--force` flag is required.** Supports both inline code and script files.\r
\r
```bash\r
# Execute inline code (Requires --force)\r
node browser.js eval --code "return { links: document.querySelectorAll('a').length }" --force\r
\r
# Execute from a file (Requires --force)\r
node browser.js eval --file "custom_script.js" --force\r
```\r
\r
### 9. Google Search (Direct Extraction)\r
\r
Get the top 5 organic search results (Titles, Links, Snippets) in a single command. Extremely fast and agent-friendly.\r
\r
```bash\r
node browser.js google --query "Mathanraj Murugesan"\r
```\r
\r
### 10. Session & Learning\r
\r
Manage your login state and keep track of automation failures for self-correction.\r
\r
```bash\r
# Save current cookies to session.json (persists across runs)\r
node browser.js save-session\r
\r
# Check if the page requires login or if the user already logged in\r
node browser.js auth-status\r
\r
# Log a failure and a lesson learned for AI self-correction\r
node browser.js log-learning --failed "Selector [12] was hidden" --fixed "Used [expand] first" --lessons "Always try expanding content before reading"\r
```\r
\r
### 11. Stop the Browser\r
\r
Clean up resources when the task is entirely finished.\r
\r
```bash\r
node browser.js stop\r
```\r
\r
## 🧠 AI STRATEGY (HOW TO USE)\r
\r
1. Run `start`.\r
2. Run `snapshot --url "[TARGET]"`.\r
3. Check `auth-status` if the page is restricted. Use `save-session` after manual/automated login.\r
4. Analyze the output tags. Think step-by-step. Does the page require a search? Does it require clicking an 'Apply' button?\r
5. Run `click` or `type` on the specific `[tag]`.\r
6. **READ THE CLICK OUTPUT CAREFULLY!** Did it say a new tab opened? If so, your next `snapshot` will read from that tab.\r
7. Run `snapshot` again WITHOUT a URL to read the new page/modal that loaded.\r
8. Repeat until the task is complete. If you need to return to the search results, run `check-tabs` and `switch-tab --index 0`.\r
9. If you encounter a bug (e.g., selector not found), use `log-learning` to record the fix for future runs.\r
10. If you need to run custom JS, use `eval` with the `--force` flag.\r
11. Once finished, run `stop`.\r
\r
### 10. Common Extraction Patterns (USE EVAL)\r
\r
When you need to get actual data (not just see the page), use the `eval` command with these patterns:\r
\r
**Google Search Results:**\r
\r
```bash\r
node browser.js eval --force --code "return Array.from(document.querySelectorAll('div.g')).slice(0,5).map(g => ({ title: g.querySelector('h3')?.innerText, link: g.querySelector('a')?.href }))"\r
```\r
\r
**LinkedIn Profile (Basic):**\r
\r
```bash\r
node browser.js eval --force --code "return { name: document.querySelector('.text-heading-xlarge')?.innerText, title: document.querySelector('.text-body-medium')?.innerText }"\r
```\r
\r
**General Link Scraper:**\r
\r
```bash\r
node browser.js eval --force --code "return Array.from(document.querySelectorAll('a')).map(a => ({ text: a.innerText, url: a.href })).filter(a => a.url.startsWith('http'))"\r
```\r
\r
### 11. Robust Automation Workflow (Multi-Tab & State)\r
\r
Follow this professional flow for complex, multi-stage automation tasks:\r
\r
1.  **Initialize**: Run `start` to launch the persistent browser instance.\r
2.  **Navigation & Auth**: \r
    - Run `snapshot --url "[TARGET]"` to land on the page.\r
    - Run `auth-status` to check if a login is required.\r
    - If you perform a manual/auto login, run `save-session` to persist the state.\r
3.  **Clean & Expand**: \r
    - Always run `expand` before deep scanning. This removes popups and reveals hidden content that might be missing from the DOM.\r
4.  **Action Loop**:\r
    - Run `snapshot` (without URL) to get the latest `[tag]` list.\r
    - Perform interactions using `click`, `type`, or `press`.\r
    - **Pro Tip**: If a click result is ambiguous, run `check-url` to see if the page changed.\r
5.  **Multi-Tab Handling**:\r
    - If the terminal warns `⚠️ A NEW TAB WAS OPENED`, run `check-tabs`.\r
    - Note the index of the new tab (e.g., `[1]`) and run `switch-tab --index 1`.\r
    - Every snapshot and command thereafter will target this new tab.\r
6.  **Extraction**:\r
    - Use `read --tag "[#]"` for simple text.\r
    - Use `eval` for complex data structures (arrays of objects, etc.).\r
7.  **Recovery & Learning**:\r
    - If a command fails, use `log-learning --failed "..." --fixed "..."` to document the solution for the AI's internal memory.\r
8.  **Teardown**: Run `stop` only when the entire job (across all domains) is finished.\r
Usage Guidance
This skill appears to do what it says (stateful Puppeteer automation) but carries normal risks for a local browser automation tool. Before installing or running it: (1) Review the code yourself (especially browser.js and any custom eval scripts). (2) Run it in an isolated environment or container if you plan to visit untrusted sites. (3) Treat chrome_profile and session.json as sensitive (they contain cookies/login state); delete them when not needed. (4) Avoid using the eval command with untrusted code — it can execute arbitrary JS in page context and can be used to exfiltrate data. (5) Verify how Chromium binds the remote-debugging port (locally only) — if that port is reachable from other hosts it can be abused; consider firewalling or passing a bound address. (6) Do not pass secret environment variables or credentials to this process unless you understand how they will be used/stored. If you need higher assurance, ask the author for a reproducible build and a statement about remote-debugging binding, or run the tool inside a disposable VM/container.
Capability Analysis
Type: OpenClaw Skill Name: god-of-all-browsers Version: 1.0.6 The skill bundle provides high-risk browser automation capabilities, including an 'eval' command in 'browser.js' that allows arbitrary JavaScript execution within the browser context. It also features a 'save-session' command that exports browser cookies to a plain-text 'session.json' file, creating a significant credential theft risk. Furthermore, the 'resolveFilePath' function in 'browser.js' lacks proper path sanitization, potentially allowing the agent to read arbitrary files from the host system if they are passed to the 'find' or 'eval' commands. While the author included basic security gates (like the '--force' flag) and documentation warnings, the combination of arbitrary code execution, file system access, and plain-text credential storage makes this bundle highly risky.
Capability Assessment
Purpose & Capability
Name and description match included code and deps: browser.js implements a persistent Chromium controller using puppeteer-core, snapshot/tagging, multi-tab handling, eval, and session persistence. The required native Chrome/Chromium binary and puppeteer-core dependency are expected for this functionality.
Instruction Scope
SKILL.md commands align with the code (start, snapshot, click, eval, save-session, etc.). However the runtime script reads process.env and several local files (run_id, session.json, activeTab.txt, debug_port.txt) and writes persistent data (chrome_profile, session.json, recordings). The SKILL.md warns about eval risks but does not explicitly call out that the runtime reads the entire environment object at startup.
Install Mechanism
No remote/opaque downloads or unusual installers. setup.sh runs npm install puppeteer-core; package.json/lock reference standard npm packages. This is a typical Node/npm install flow (moderate trust, trackable via npm).
Credentials
The skill declares no required environment variables, yet browser.js reads process.env (including GOD_DEBUG_PORT optional override and TERMUX detection). It persists cookies/sessions to session.json and a chrome_profile directory — this is necessary for stateful automation but stores sensitive credentials locally in plain text if saved. No unrelated cloud credentials are requested, but environment access and local session files are sensitive and should be treated as secrets.
Persistence & Privilege
always:false (no forced global inclusion). The skill intentionally creates persistent artifacts (chrome_profile, session.json, recordings) and starts Chromium with a remote debugging port to which puppeteer.connect attaches. Exposing a remote debugging port increases local attack surface (possible remote control/data access if the port is reachable). The skill does not modify other skills or global agent settings.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install god-of-all-browsers
  3. After installation, invoke the skill by name or use /god-of-all-browsers
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.6
Version 1.0.6 of god-of-all-browsers - No code or documentation changes detected. - No user-facing changes in this release.
v1.0.5
Initial release of "god-of-all-browsers" – a powerful, stateful browser automation CLI emulating human browsing. - Persistent State: Launches a single background Chromium instance that remains open across commands, preserving tabs, cookies, and login sessions. - AI-Native Vision: Uses a unique tag-based DOM mapping ([tag]) which simplifies coordinates for AI control (e.g., "Click tag [15]"). - Bot-Evasion First: Explicitly designed to bypass detection using headless: false, custom user agents, removed webdriver footprints, and canvas spoofing. - Smart Orchestration: Automatically manages new tab switching, handles annoying popups, and provides auth-status checks. - Advanced Tools: Includes built-in Google result extraction, meta-tag scraping, and direct JavaScript eval context inside the browser. - Self-Correction: Built-in log-learning system to record automation failures and fixes for better AI reliability over time.
v1.0.4
Initial release of "god-of-all-browsers" – a powerful, stateful browser automation CLI emulating human browsing. - Persistent State: Launches a single background Chromium instance that remains open across commands, preserving tabs, cookies, and login sessions. - AI-Native Vision: Uses a unique tag-based DOM mapping ([tag]) which simplifies coordinates for AI control (e.g., "Click tag [15]"). - Bot-Evasion First: Explicitly designed to bypass detection using headless: false, custom user agents, removed webdriver footprints, and canvas spoofing. - Smart Orchestration: Automatically manages new tab switching, handles annoying popups, and provides auth-status checks. - Advanced Tools: Includes built-in Google result extraction, meta-tag scraping, and direct JavaScript eval context inside the browser. - Self-Correction: Built-in log-learning system to record automation failures and fixes for better AI reliability over time.
v1.0.3
Initial release of "god-of-all-browsers" – a powerful, stateful browser automation CLI emulating human browsing. - Persistent State: Launches a single background Chromium instance that remains open across commands, preserving tabs, cookies, and login sessions. - AI-Native Vision: Uses a unique tag-based DOM mapping ([tag]) which simplifies coordinates for AI control (e.g., "Click tag [15]"). - Bot-Evasion First: Explicitly designed to bypass detection using headless: false, custom user agents, removed webdriver footprints, and canvas spoofing. - Smart Orchestration: Automatically manages new tab switching, handles annoying popups, and provides auth-status checks. - Advanced Tools: Includes built-in Google result extraction, meta-tag scraping, and direct JavaScript eval context inside the browser. - Self-Correction: Built-in log-learning system to record automation failures and fixes for better AI reliability over time.
v1.0.2
Initial release of "god-of-all-browsers" – a powerful, stateful browser automation CLI emulating human browsing. - Persistent State: Launches a single background Chromium instance that remains open across commands, preserving tabs, cookies, and login sessions. - AI-Native Vision: Uses a unique tag-based DOM mapping ([tag]) which simplifies coordinates for AI control (e.g., "Click tag [15]"). - Bot-Evasion First: Explicitly designed to bypass detection using headless: false, custom user agents, removed webdriver footprints, and canvas spoofing. - Smart Orchestration: Automatically manages new tab switching, handles annoying popups, and provides auth-status checks. - Advanced Tools: Includes built-in Google result extraction, meta-tag scraping, and direct JavaScript eval context inside the browser. - Self-Correction: Built-in log-learning system to record automation failures and fixes for better AI reliability over time.
v1.0.1
Initial release of "god-of-all-browsers" – a powerful, stateful browser automation CLI emulating human browsing. - Persistent State: Launches a single background Chromium instance that remains open across commands, preserving tabs, cookies, and login sessions. - AI-Native Vision: Uses a unique tag-based DOM mapping ([tag]) which simplifies coordinates for AI control (e.g., "Click tag [15]"). - Bot-Evasion First: Explicitly designed to bypass detection using headless: false, custom user agents, removed webdriver footprints, and canvas spoofing. - Smart Orchestration: Automatically manages new tab switching, handles annoying popups, and provides auth-status checks. - Advanced Tools: Includes built-in Google result extraction, meta-tag scraping, and direct JavaScript eval context inside the browser. - Self-Correction: Built-in log-learning system to record automation failures and fixes for better AI reliability over time.
v1.0.0
Initial release of "god-of-all-browsers" – a powerful, stateful browser automation CLI emulating human browsing. - Persistent State: Launches a single background Chromium instance that remains open across commands, preserving tabs, cookies, and login sessions. - AI-Native Vision: Uses a unique tag-based DOM mapping ([tag]) which simplifies coordinates for AI control (e.g., "Click tag [15]"). - Bot-Evasion First: Explicitly designed to bypass detection using headless: false, custom user agents, removed webdriver footprints, and canvas spoofing. - Smart Orchestration: Automatically manages new tab switching, handles annoying popups, and provides auth-status checks. - Advanced Tools: Includes built-in Google result extraction, meta-tag scraping, and direct JavaScript eval context inside the browser. - Self-Correction: Built-in log-learning system to record automation failures and fixes for better AI reliability over time.
Metadata
Slug god-of-all-browsers
Version 1.0.6
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 7
Frequently Asked Questions

What is God of all Browsers?

A 100x smarter browser automation CLI that mimics human behavior using a native stateful Chromium instance. It supports multi-tab management, bypasses bot de... It is an AI Agent Skill for Claude Code / OpenClaw, with 264 downloads so far.

How do I install God of all Browsers?

Run "/install god-of-all-browsers" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is God of all Browsers free?

Yes, God of all Browsers is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does God of all Browsers support?

God of all Browsers is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created God of all Browsers?

It is built and maintained by MaThanMiThun1999 (@mathanmithun1999); the current version is v1.0.6.

💬 Comments