← Back to Skills Marketplace
hackerchai

Chrome DevTools Web Research

by Eason Chai · GitHub ↗ · v1.0.3 · MIT-0
cross-platform ⚠ suspicious
359
Downloads
0
Stars
1
Active Installs
4
Versions
Install in OpenClaw
/install chrome-devtools-web-research
Description
Use chrome-devtools-mcp via a remote-debugging Chrome session to inspect, search, navigate, and extract information from real websites, including social plat...
README (SKILL.md)

Chrome DevTools Web Research

Use chrome-devtools-mcp@latest through mcporter to drive Chrome, inspect real pages, and extract structured findings from dynamic websites.

Use MCP first by default. Do not wait for the user to remind you to use it.

For concrete failure wording and remediation paths, read references/troubleshooting.md.

User setup guidance

If the user needs to enable tab access in Chrome, give them this short setup flow:

  1. Open chrome://inspect/#remote-debugging
  2. Toggle it on
  3. That’s it — the agent can now see the user’s tabs, cookies, logins, and page state through Chrome DevTools MCP

Explain plainly that this uses Chrome DevTools MCP under the hood and does not require a browser extension.

Quick start

  1. Verify the MCP server is available.
  2. Open the target page with chrome-devtools.new_page.
  3. Take a snapshot and read visible structure from the accessibility tree.
  4. Navigate, click, fill, or switch tabs as needed.
  5. Cross-check important claims across multiple sources.
  6. Close pages promptly when a search leg is done.
  7. Summarize by source quality, not page volume.

Core commands

mcporter list --output json
mcporter call chrome-devtools.new_page --args '{"url":"https://example.com"}' --output json
mcporter call chrome-devtools.take_snapshot --args '{}' --output json
mcporter call chrome-devtools.click --args '{"uid":"\x3Ctab_uid>"}' --output json
mcporter call chrome-devtools.navigate_page --args '{"url":"https://example.com/next"}' --output json
mcporter call chrome-devtools.fill --args '{"uid":"\x3Cinput_uid>","value":"query text"}' --output json
mcporter call chrome-devtools.press_key --args '{"key":"Enter"}' --output json
mcporter call chrome-devtools.close_page --args '{}' --output json

Workflow

Default operating rule

  1. Always try MCP first with mcporter + chrome-devtools.
  2. Start searching proactively when the task implies browsing or research.
  3. Only stop to ask for help when Chrome-side access is broken.
  4. If setup/access fails, prompt the user to check Chrome, especially remote debugging / inspect availability, then retry.
  5. Close pages promptly when a page or search leg is no longer needed.

Failure and retry policy

Do not give up after the first MCP/browser failure.

Use references/troubleshooting.md for concrete error classes, user-facing wording, and remediation steps.

Follow this retry order strictly:

  1. Retry the same MCP command once immediately if the error looks transient.
  2. If it still fails, run mcporter list --output json again to verify chrome-devtools is still present.
  3. If the server is present, retry with the smallest next step:
    • reopen the page with chrome-devtools.new_page, or
    • re-run chrome-devtools.take_snapshot, or
    • re-issue a single click/fill/navigation action.
  4. If Chrome itself appears unreachable, explicitly tell the user to check Chrome remote debugging / inspect access, then retry after that.
  5. If Google is blocked by captcha, consent wall, or anti-bot friction, do not stall. Record that Google was blocked and continue to X, then Reddit.
  6. Only stop the flow when the browser bridge is clearly broken and the user must intervene.

Practical rule: prefer one immediate retry + one environment re-check + one resumed attempt. Do not loop endlessly.

Default search strategy

If the user does not specify a website, platform, or search engine, follow this chain by default and in order:

  1. Google first
  2. X second
  3. Reddit third

Treat this as the standard search chain, not an optional suggestion.

Required behavior for the chain:

  • Start with Google for broad discovery, main reporting chain, and likely primary/secondary sources.
  • Then check X for live spread, fresh claims, quote-post chains, contradictions, and breaking updates.
  • Then check Reddit for community source-tracing, surfaced links, and discussion that may reveal the original source trail.
  • Do this proactively. Do not wait for the user to ask for each platform one by one.
  • If the user only says “search this”, still run the chain unless they explicitly restrict scope.
  • If one source is blocked, unavailable, or low value, continue to the next source instead of stopping.

Minimum acceptable default sequence:

  1. Open Google results for the query
  2. Inspect at least one fresh snapshot there
  3. Open X search for the same query
  4. Inspect at least one fresh snapshot there
  5. Open Reddit search for the same query
  6. Inspect at least one fresh snapshot there
  7. Then summarize across the chain

If Google is blocked by a bot challenge or consent wall, report that friction, mark the Google leg blocked, and continue with X -> Reddit without waiting for user confirmation.

This default is for open-ended web research. If the user explicitly names another site, search engine, or platform, follow that instead.

1. Confirm MCP access

Run:

mcporter list --output json

Expect a chrome-devtools server using a transport similar to:

STDIO npx chrome-devtools-mcp@latest --autoConnect

If mcporter is missing, help the user install it first. If the chrome-devtools MCP server is missing, help the user configure or install it instead of stopping at a vague error.

Practical install/remediation flow:

npm i -g mcporter
mcporter list

If Chrome DevTools MCP is not available yet, guide the user to set up or reconnect the server used by mcporter, and then retry mcporter list until chrome-devtools appears.

Do not ask whether MCP should be used. If it is available, proceed immediately.

2. Open the target page directly

Prefer direct URLs whenever possible.

mcporter call chrome-devtools.new_page --args '{"url":"https://target-site.example/path"}' --output json

Use direct navigation for:

  • search result pages
  • filtered URLs
  • deep links to posts/articles/docs/issues
  • dynamic app routes that are easier to open directly than to reproduce manually

If the site supports URL query parameters, prefer those over repeatedly editing fragile on-page controls.

2.5 Close pages when done

Do not leave research tabs open unnecessarily.

After extracting what you need from a page or after finishing a search leg, close that page promptly unless you still need it for comparison.

mcporter call chrome-devtools.close_page --args '{}' --output json

Practical rule:

  • open page
  • inspect / interact / snapshot
  • record findings
  • close page when that leg is done

For multi-source research, keep only the minimum number of live pages needed.

3. Read the snapshot, not the pixels

Always pull a fresh snapshot after navigation or interaction:

mcporter call chrome-devtools.take_snapshot --args '{}' --output json

Look for:

  • article, link, button, heading, textbox, combobox, tab, dialog
  • authors, timestamps, handles, titles, labels, counts
  • outbound links to original reporting or docs
  • signs of login walls, parity labels, sponsored content, or partial loads

Use screenshots only when layout itself matters.

4. Interact carefully

Use the smallest reliable action:

  • navigate_page for direct URL changes
  • click for tabs, filters, menus, pagination
  • fill + press_key for search boxes and forms
  • select_page if multiple tabs/pages are open

After each meaningful state change, take another snapshot.

5. Separate source quality

Group findings into buckets such as:

  • Primary / official: original publisher, official docs, org pages, first-party dashboards
  • Secondary reporting: media, analysts, aggregator accounts citing a source
  • Tertiary chatter: comments, fan accounts, reposts, AI replies, unsourced claims

Repeated copies of the same claim count as one claim stream, not multiple confirmations.

6. Cross-check outside the active page

If the user wants stronger confidence, combine browser MCP findings with other methods:

  • web_search for discovery, source expansion, and finding external reporting
  • web_fetch for automatically retrieving readable page content when a page URL appears and lightweight extraction is enough
  • agent-browser for parallel page inspection when helpful
  • curl as a fallback when fetch-style extraction is unavailable or insufficient

Use the browser for live state and interaction. When the task surfaces normal webpage links, prefer web_fetch first for readable extraction; fall back to curl when needed for raw retrieval or custom parsing.

7. Write the summary

Use this structure when the page contains conflicting claims:

  • Current best answer
  • What the site/page says
  • What other sources say
  • Where the disagreement is
  • Most credible sources
  • Confidence / caveats

Good phrasing:

  • "The live page currently shows X, while secondary reporting is pushing Y."
  • "Most posts trace back to the same reporting chain, so treat them as one rumor stream."
  • "The browser-visible evidence supports A, but confirmation from a primary source is still missing."

Site-specific notes

Social platforms

  • Use platform-native filters like Top, Latest, People, Media, subreddit sorting, or thread sorting to separate dominant narrative from fresh chatter.
  • Check for parody/account labels before citing.
  • Treat quote-post chains, repost storms, and copied Reddit comments as propagation, not independent sourcing.
  • AI assistant replies inside a platform can help map rumor themes, but they are not primary evidence.
  • On Reddit, prioritize posts that link back to original reporting, comments that add sourcing context, and community threads where multiple users are tracing the same source chain.

Search engines

  • Expect bot challenges or captchas.
  • If blocked, pivot to another source rather than pretending results were retrieved.

Docs / dashboards / web apps

  • Prefer direct deep links.
  • Snapshots are often enough for structured extraction.
  • If content is hidden behind menus, open one section at a time and resnapshot.

Practical notes

  • UI language may vary; rely on structure, URLs, and recognizable entities more than labels alone.
  • If the page is still loading, wait briefly and snapshot again.
  • If login, subscription, or anti-bot friction appears, report the limitation plainly.
  • When normal webpage links appear during research, automatically try web_fetch first for fast readable extraction; if that is unavailable or not enough, fall back to curl.
  • When the page alone is not enough, expand outward with web_search to find corroborating coverage, official announcements, or the original reporting chain.
  • If the user is not set up yet, prefer giving them the shortest enablement path first: turn on Chrome remote debugging access, then verify mcporter + chrome-devtools availability.
  • Keep an audit trail in your notes: page URL, key visible claims, and which source tier each claim belongs to.
  • For open-ended search, do not stop at Google alone; the default completion bar is Google -> X -> Reddit unless the user explicitly narrows scope.
  • After failures, retry with discipline; do not abandon the browsing flow too early and do not spin in unlimited retries.
  • Close pages promptly after each finished search leg or inspection leg.

Example flows

Generic site inspection

mcporter call chrome-devtools.new_page --args '{"url":"https://example.com"}' --output json
mcporter call chrome-devtools.take_snapshot --args '{}' --output json
mcporter call chrome-devtools.click --args '{"uid":"\x3Crelevant_tab_uid>"}' --output json
mcporter call chrome-devtools.take_snapshot --args '{}' --output json

Default search-engine + social cross-check flow

mcporter call chrome-devtools.new_page --args '{"url":"https://www.google.com/search?q=Finalissima%202026"}' --output json
mcporter call chrome-devtools.take_snapshot --args '{}' --output json
mcporter call chrome-devtools.close_page --args '{}' --output json
mcporter call chrome-devtools.new_page --args '{"url":"https://x.com/search?q=Finalissima%202026&src=typed_query&f=top"}' --output json
mcporter call chrome-devtools.take_snapshot --args '{}' --output json
mcporter call chrome-devtools.navigate_page --args '{"url":"https://x.com/search?q=Finalissima%202026&src=typed_query&f=live"}' --output json
mcporter call chrome-devtools.take_snapshot --args '{}' --output json
mcporter call chrome-devtools.close_page --args '{}' --output json
mcporter call chrome-devtools.new_page --args '{"url":"https://www.reddit.com/search/?q=Finalissima%202026"}' --output json
mcporter call chrome-devtools.take_snapshot --args '{}' --output json
mcporter call chrome-devtools.close_page --args '{}' --output json

Output standard

When reporting back, distinguish clearly between:

  • what is visible on the live page
  • what is asserted by the site or account owner
  • what is reported by other sources
  • what remains unverified

If sources conflict, say so directly.

Usage Guidance
This skill will ask you to enable Chrome remote debugging so it can inspect your real tabs — doing so exposes open pages, cookies, and logged-in sessions to the agent. Before enabling: (1) only enable remote debugging for the duration of a single task and close/revoke access afterwards, (2) avoid running this while signed into sensitive accounts you don't want inspected, (3) confirm you trust the source of mcporter and the chrome-devtools-mcp npm package before running npx, and (4) request that the agent NOT run the default Google -> X -> Reddit chain unless you explicitly approve that scope. The metadata should list mcporter as a required binary; ask the skill author to fix that and to add explicit user-consent steps for accessing browser state.
Capability Analysis
Type: OpenClaw Skill Name: chrome-devtools-web-research Version: 1.0.3 The skill bundle instructs the agent to proactively access sensitive browser data, including active tabs, cookies, and login states, by guiding the user to enable Chrome remote debugging. In SKILL.md, the agent is explicitly told to bypass user confirmation ("Do not ask whether MCP should be used") and autonomously execute a search chain across Google, X, and Reddit. While these capabilities support the stated research purpose, the instructions to act without explicit consent and the requirement for high-privilege browser access significantly increase the risk of unauthorized data exposure and automated actions.
Capability Assessment
Purpose & Capability
The skill's stated purpose (live site inspection, login-aware flows, dynamic pages) matches use of chrome-devtools-mcp. However the skill references external tooling (mcporter and chrome-devtools-mcp) but the package metadata declares no required binaries or install steps — an inconsistency that should have been declared. The default behavior to always use MCP first and to probe Google/X/Reddit proactively is stronger than many users would expect from a 'research' helper.
Instruction Scope
SKILL.md instructs the agent to ask the user to enable Chrome remote debugging (which grants the agent access to the user's tabs, cookies, logins and page state) and to proactively run a default search chain (Google -> X -> Reddit) even when the user does not explicitly request each platform. That is scope creep and enables access to potentially sensitive browser state without an explicit, per-task consent flow.
Install Mechanism
This is instruction-only and has no install spec (lowest install risk). The text references running 'npx chrome-devtools-mcp@latest' and mcporter commands, but nothing in the skill actually performs downloads or writes files. The lack of an install step reduces risk but also contributes to the metadata inconsistency noted above.
Credentials
The skill requires runtime access to the user's browser state (tabs/cookies/logins) to support login-aware flows, yet metadata lists no required credentials or explicit permission prompts. Implicitly accessing cookies and logged-in sessions is a high-sensitivity operation; it should be declared up front and constrained (time-limited, user-confirmed).
Persistence & Privilege
The skill does not request always:true, does not declare persistent system changes, and does not modify other skills. It does encourage an agent behavior (always try MCP first) but that is an operational preference, not a platform-level privilege escalation.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install chrome-devtools-web-research
  3. After installation, invoke the skill by name or use /chrome-devtools-web-research
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.3
Make MCP usage default, harden Google->X->Reddit search chain, add retry/Chrome-check policy, close pages promptly, and add troubleshooting reference
v1.0.2
Add user setup guidance for chrome://inspect/#remote-debugging, clarify that Chrome DevTools MCP works without extensions, and add install/remediation guidance for missing mcporter or chrome-devtools MCP setup.
v1.0.1
Improve marketplace description and triggering guidance. Clarify default research flow: Google for main reporting chain, X for live discussion, Reddit for community source-tracing, plus web_search and web_fetch/curl fallback for external verification.
v1.0.0
Initial release: browser-driven web research via chrome-devtools-mcp with Google, X, Reddit, web_search, web_fetch/curl fallback guidance.
Metadata
Slug chrome-devtools-web-research
Version 1.0.3
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 4
Frequently Asked Questions

What is Chrome DevTools Web Research?

Use chrome-devtools-mcp via a remote-debugging Chrome session to inspect, search, navigate, and extract information from real websites, including social plat... It is an AI Agent Skill for Claude Code / OpenClaw, with 359 downloads so far.

How do I install Chrome DevTools Web Research?

Run "/install chrome-devtools-web-research" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Chrome DevTools Web Research free?

Yes, Chrome DevTools Web Research is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Chrome DevTools Web Research support?

Chrome DevTools Web Research is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Chrome DevTools Web Research?

It is built and maintained by Eason Chai (@hackerchai); the current version is v1.0.3.

💬 Comments