Reddit JSON Fetcher
ykdojo/claude-code-tips
Fetches Reddit posts, threads and search results as JSON through a browser session, using a DuckDuckGo redirect to get past Reddit's automated-access block.
Routes every web task, from searching to logged-in browsing, through a tiered choice of search, fetch, curl or a real Chrome or Edge session driven over CDP.
SKILL.md written in Chinese; this summary is our English description.
$ npx skills add eze-is/web-access --skill web-access -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install eze-is/web-access web-access --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
Claude Code skills documentation · loads skills from .claude/skills/
Install the "web-access" agent skill from https://github.com/eze-is/web-access/tree/main into .claude/skills/web-access/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "web-access", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add eze-is/web-access --skill web-access -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install eze-is/web-access web-access --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "web-access" agent skill from https://github.com/eze-is/web-access/tree/main into .agents/skills/web-access/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "web-access", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add eze-is/web-access --skill web-access -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install eze-is/web-access web-access --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "web-access" agent skill from https://github.com/eze-is/web-access/tree/main into .cursor/skills/web-access/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "web-access", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add eze-is/web-access --skill web-access -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install eze-is/web-access web-access --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "web-access" agent skill from https://github.com/eze-is/web-access/tree/main into .gemini/skills/web-access/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "web-access", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install eze-is/web-access web-accessInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add eze-is/web-access --skill web-access -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "web-access" agent skill from https://github.com/eze-is/web-access/tree/main into .github/skills/web-access/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "web-access", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add eze-is/web-access --skill web-access -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install eze-is/web-access web-access --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "web-access" agent skill from https://github.com/eze-is/web-access/tree/main into .opencode/skills/web-access/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "web-access", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
web-accessRoutes every web task, from searching to logged-in browsing, through a tiered choice of search, fetch, curl or a real Chrome or Edge session driven over CDP.
Every online task is declared to go through this skill: searching, scraping pages, acting behind a login, and reading dynamically rendered or anti-scraping sites such as social media. It first runs scripts/check-deps.mjs to confirm CDP mode works, and it requires Node.js 22 or newer for native WebSocket. Exit codes decide the next step: continue, ask which browser you prefer and store it in config.env, or follow the printed error guidance.
A tool table guides the choice: WebSearch for finding sources, WebFetch for pulling specific facts from a known URL, curl for raw HTML and structured metadata, and a browser over CDP for non-public content, login state or free navigation. An optional Jina prefix can turn pages into Markdown to save tokens, with a limit of 20 requests per minute. Inside the browser, eval, click, scroll and screenshot endpoints serve as the agent's eyes and hands.
The guidance asks the agent to define a success criterion first, check each result against it, change approach rather than retry the same one, and not treat a loaded document as proof that the wanted content appeared. Before starting the CDP proxy it must show you a notice that sites may detect automation and that accounts risk bans. The instructions are written in Chinese.
Read from SKILL.md and the folder at commit 33eef84. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 5 files in scripts/ (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
curlnodeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use curl, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Web Access via Browser CDP loads about 2.2k tokens when it runs, and up to ~4.6k if it reads all its reference files. Until then it costs about 36 tokens; SKILL.md has 439 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from eze-is/web-access at commit 33eef84, republished under its MIT licence (© eze-is). 439 words, ~2,232 tokens.
.claude/skills/web-access/SKILL.md (or your agent's skills folder). This skill also uses 13 other files; get the full folder from GitHub.在开始联网操作前,先检查 CDP 模式可用性:
node "${CLAUDE_SKILL_DIR}/scripts/check-deps.mjs"Node.js 22+ 必需(使用原生 WebSocket)。
按脚本输出处理:
exit 0 → 继续exit 2 → 需询问用户偏好,写入 ${CLAUDE_SKILL_DIR}/config.env 的 WEB_ACCESS_BROWSERexit 1 → 按 stdout 错误信息处理。若提示包含「Agent 处理顺序」,按其步骤执行(如先用系统命令打开浏览器后重跑),自动可解则不打扰用户;仍失败再向用户求助支持参数 --browser <chrome|edge> 表达本次临时覆盖(不写 config.env)。
切换浏览器时,proxy 是长驻进程,需先 pkill -f cdp-proxy.mjs 再重跑 check-deps。
检查通过后并必须在回复中向用户直接展示以下须知,再启动 CDP Proxy 执行操作:
温馨提示:部分站点对浏览器自动化操作检测严格,存在账号封禁风险。已内置防护措施但无法完全避免,Agent 继续操作即视为接受。像人一样思考,兼顾高效与适应性的完成任务。
执行任务时不会过度依赖固有印象所规划的步骤,而是带着目标进入,边看边判断,遇到阻碍就解决,发现内容不够就深入——全程围绕「我要达成什么」做决策。这个 skill 的所有行为都应遵循这个逻辑。
① 拿到请求 — 先明确用户要做什么,定义成功标准:什么算完成了?需要获取什么信息、执行什么操作、达到什么结果?这是后续所有判断的锚点。
② 选择起点 — 根据任务性质、平台特征、达成条件,选一个最可能直达的方式作为第一步去验证。一次成功当然最好;不成功则在③中调整。比如,需要操作页面、需要登录态、已知静态方式不可达的平台(小红书、微信公众号等)→ 直接 CDP
③ 过程校验 — 每一步的结果都是证据,不只是成功或失败的二元信号。用结果对照①的成功标准,更新你对目标的判断:路径在推进吗?结果的整体面貌(质量、相关度、量级)是否指向目标可达?发现方向错了立即调整,不在同一个方式上反复重试——搜索没命中不等于"还没找对方法",也可能是"目标不存在";API 报错、页面缺少预期元素、重试无改善,都是在告诉你该重新评估方向。遇到弹窗、登录墙等障碍,判断它是否真的挡住了目标:挡住了就处理,没挡住就绕过——内容可能已在页面 DOM 中,交互只是展示手段。
④ 完成判断 — 对照定义的任务成功标准,确认任务完成后才停止,但也不要过度操作,不为了"完整"而浪费代价。
| 场景 | 工具 |
|---|---|
| 搜索摘要或关键词结果,发现信息来源 | WebSearch |
| URL 已知,需要从页面定向提取特定信息 | WebFetch(拉取网页内容,由小模型根据 prompt 提取,返回处理后结果) |
| URL 已知,需要原始 HTML 源码(meta、JSON-LD 等结构化字段) | curl |
| 非公开内容,或已知静态层无效的平台(小红书、微信公众号等公开内容也被反爬限制) | 浏览器 CDP(直接,跳过静态层) |
| 需要登录态、交互操作,或需要像人一样在浏览器内自由导航探索 | 浏览器 CDP |
浏览器 CDP 不要求 URL 已知——可从任意入口出发,通过页面内搜索、点击、跳转等方式找到目标内容。WebSearch、WebFetch、curl 均不处理登录态。
Jina(可选预处理层,可与 WebFetch/curl 组合使用,由于其特性可节省 tokens 消耗,请积极在任务合适时组合使用):第三方网络服务,可将网页转为 Markdown,大幅节省 token 但可能有信息损耗。调用方式为 r.jina.ai/example.com(URL 前加前缀,不保留原网址 http 前缀),限 20 RPM。适合文章、博客、文档、PDF 等以正文为核心的页面;对数据面板、商品页等非文章结构页面可能提取到错误区块。
进入浏览器层后,/eval 就是你的眼睛和手:
/eval 查询 DOM,发现页面上的链接、按钮、表单、文本内容——相当于「看看这个页面有什么」/click 点击元素、/scroll 滚动加载、/eval 填表提交——像人一样在页面内自然导航/eval 提取文字内容,判断图片/视频是否承载核心信息——是则提取媒体 URL 定向读取或 /screenshot 视觉识别浏览网页时,先了解页面结构,再决定下一步动作。不需要提前规划所有步骤。
/new 或 /navigate 返回,只代表浏览器完成了当前文档的基础加载,不代表用户需要的内容已经出现。HTTP 200、document.readyState === "complete"、页面标题出现或导航调用成功,都不能单独作为任务完成标准。
导航后先用 /eval 检查目标内容。若目标内容尚未出现,而页面仍是空白、加载态、验证页、登录跳转或其它可能继续变化的中间状态,在默认 15 秒窗口内持续观察 URL、标题和 DOM;页面发生跳转或内容变化后重新判断。只有目标内容已经获取,或观察窗口结束后仍存在明确阻碍,才能继续提取或报告失败。
站点经验可以提供更精确的选择器、等待条件和已知中间状态,但只用于加速判断;即使没有站点经验,也必须遵循上述目标内容就绪规则。
用户指向本人访问过的页面("我之前看的那个讲 X 的文章"、"上次打开过的 XX 面板")或组织内部系统("我们的 XX 平台"、"公司那个 YY 系统"等公网搜不到的目标)时,检索本地浏览器(Chrome / Edge)书签/历史:
node "${CLAUDE_SKILL_DIR}/scripts/find-url.mjs" [关键词...] [--only bookmarks|history] [--browser chrome|edge] [--limit N] [--since 1d|7h|YYYY-MM-DD] [--sort recent|visits]关键词空格分词、多词 AND,匹配 title + url(可省略);默认遍历所有已安装的 Chromium 系浏览器(Chrome、Edge),--browser 限定单一来源;--since / --sort 仅作用于历史;默认按最近访问倒序,--sort visits 按访问次数排序(适合"高频访问的网站"这类场景)。
浏览器内操作页面有两种方式:
根据对目标平台的了解来灵活选择方式。GUI 交互也是程序化方式的有效探测——通过一次真实交互观察站点的实际行为(URL 模式、必需参数、页面跳转逻辑),为后续程序化操作提供依据;同时当程序化方式受阻时,GUI 交互是可靠的兜底。
站点内交互产生的链接是可靠的:通过用户视角中的可交互单元(卡片、条目、按钮)进行的站点内交互,自然到达的 URL 天然携带平台所需的完整上下文。而手动构造的 URL 可能缺失隐式必要参数,导致被拦截、返回错误页面、甚至触发反爬。
通过 CDP Proxy 直连用户日常浏览器(Chrome / Edge / Chromium 等 Chromium 系),天然携带登录态,无需启动独立浏览器。 若无用户明确要求,不主动操作用户已有 tab,所有操作都在自己创建的后台 tab 中进行,保持对用户环境的最小侵入。不关闭用户 tab 的前提下,完成任务后关闭自己创建的 tab,保持环境整洁。
node "${CLAUDE_SKILL_DIR}/scripts/check-deps.mjs"脚本会依次检查 Node.js、浏览器调试端口,并确保 Proxy 已连接(未运行则自动启动并等待)。Proxy 启动后持续运行。
所有操作通过 curl 调用 HTTP API:
# 列出用户已打开的 tab
curl -s http://localhost:3456/targets
# 创建新后台 tab(自动等待加载)— URL 走 POST body,避免目标 URL 含 query 时被切分
curl -s -X POST --data-raw 'https://example.com' http://localhost:3456/new
# 页面信息
curl -s "http://localhost:3456/info?target=ID"
# 执行任意 JS:可读写 DOM、提取数据、操控元素、触发状态变更、提交表单、调用内部方法
curl -s -X POST "http://localhost:3456/eval?target=ID" -d 'document.title'
# 捕获页面渲染状态(含视频当前帧)
curl -s "http://localhost:3456/screenshot?target=ID&file=/tmp/shot.png"
# 导航(URL 走 POST body,target 走 query)、后退
curl -s -X POST --data-raw 'https://example.com' "http://localhost:3456/navigate?target=ID"
curl -s "http://localhost:3456/back?target=ID"
# 点击(POST body 为 CSS 选择器)— JS el.click(),简单快速,覆盖大多数场景
curl -s -X POST "http://localhost:3456/click?target=ID" -d 'button.submit'
# 真实鼠标点击 — CDP Input.dispatchMouseEvent,算用户手势,能触发文件对话框
curl -s -X POST "http://localhost:3456/clickAt?target=ID" -d 'button.upload'
# 文件上传 — 直接设置 file input 的本地文件路径,绕过文件对话框
curl -s -X POST "http://localhost:3456/setFiles?target=ID" -d '{"selector":"input[type=file]","files":["/path/to/file.png"]}'
# 滚动(触发懒加载)
curl -s "http://localhost:3456/scroll?target=ID&y=3000"
curl -s "http://localhost:3456/scroll?target=ID&direction=bottom"
# 关闭 tab
curl -s "http://localhost:3456/close?target=ID"两种方式打开页面内的链接:
/click:在当前 tab 内直接点击用户视角中的可交互单元,简单直接,串行处理。适合需要在同一页面内连续操作的场景,如点击展开、翻页、进入详情等。/new + 完整 URL:使用目标链接的完整地址(包含所有URL参数),在新 tab 中打开。适合需要同时访问多个页面的场景。很多网站的链接包含会话相关的参数(如 token),这些参数是正常访问所必需的。提取 URL 时应保留完整地址,不要裁剪或省略参数。URL 通过 POST body 原样传入 /new 或 /navigate。
v2.5.3 迁移提示:若引用的站点经验文件(
references/site-patterns/*.md)或其它脚本中仍含GET /new?url=...或/navigate?target=...&url=...的旧写法,调用会收到迁移指引。按references/migration-2.5.3.md就地改写为 POST body 后再使用,并顺手把该站点经验文件更新掉。
判断内容在图片里时,用 /eval 从 DOM 直接拿图片 URL,再定向读取——比全页截图精准得多。
shadowRoot、iframe 的 contentDocument等)。eval 递归遍历可一次穿透所有层级,返回带标签的结构化内容,适合快速了解未知页面的完整结构。/scroll 到底部会触发懒加载,使未进入视口的图片完成加载。提取图片 URL 前若未滚动,部分图片可能尚未加载。/new)可能触发网站的反爬风控。用户浏览器真实渲染,截图可捕获当前视频帧。核心能力:通过 /eval 操控 <video> 元素(获取时长、seek 到任意时间点、播放/暂停/全屏),配合 /screenshot 采帧,可对视频内容进行离散采样分析。
用户日常浏览器天然携带登录态,大多数常用网站已登录。
登录判断的核心问题只有一个:目标内容拿到了吗?
打开页面后先尝试获取目标内容。只有当确认目标内容无法获取且判断登录能解决时,才告知用户:
"当前页面在未登录状态下无法获取[具体内容],请在你的浏览器中登录 [网站名],完成后告诉我继续。"
登录完成后无需重启任何东西,直接刷新页面继续。
用 /close 关闭自己创建的 tab,必须保留用户原有的 tab 不受影响。
Proxy 持续运行,不建议主动停止——重启后需要在浏览器中重新授权 CDP 连接。
任务包含多个独立调研目标时(如同时调研 N 个项目、N 个来源),鼓励合理分治给子 Agent 并行执行,而非主 Agent 串行处理。
好处:
并行 CDP 操作:每个子 Agent 在当前用户浏览器实例中,自行创建所需的后台 tab(/new),自行操作,任务结束自行关闭(/close)。所有子 Agent 共享一个浏览器、一个 Proxy,通过不同 targetId 操作不同 tab,无竞态风险。
子 Agent Prompt 写法:目标导向,而非步骤指令
必须加载 web-access skill 并遵循指引 ,子 Agent 会自动加载 skill,无需在 prompt 中复制 skill 内容或指定路径。分治判断标准:
| 适合分治 | 不适合分治 |
|---|---|
| 目标相互独立,结果互不依赖 | 目标有依赖关系,下一个需要上一个的结果 |
| 每个子任务量足够大(多页抓取、多轮搜索) | 简单单页查询,分治开销大于收益 |
| 需要 CDP 浏览器或长时间运行的任务 | 几次 WebSearch / Jina 就能完成的轻量查询 |
核实的目标是一手来源,而非更多的二手报道。多个媒体引用同一个错误会造成循环印证假象。
搜索引擎和聚合平台是信息发现入口,是定位信息的工具,不可用于直接证明真伪。找到来源后,直接访问读取原文。同一原则适用于工具能力/用法的调研——官方文档是一手来源,不确定时先查文档或源码,不猜测。
| 信息类型 | 一手来源 |
|---|---|
| 政策/法规 | 发布机构官网 |
| 企业公告 | 公司官方新闻页 |
| 学术声明 | 原始论文/机构官网 |
| 工具能力/用法 | 官方文档、源码 |
找不到官网时:权威媒体的原创报道(非转载)可作为次级依据,但需向用户说明:"未找到官方原文,以下核实来自[媒体名]报道,存在转述误差可能。"单一来源时同样向用户声明。
操作中积累的特定网站经验,按域名存储在 references/site-patterns/ 下。
确定目标网站后,如果前置检查输出的 site-patterns 列表中有匹配的站点,必须读取对应文件获取先验知识(平台特征、有效模式、已知陷阱)。经验内容标注了发现日期,当作可能有效的提示而非保证——如果按经验操作失败,回退通用模式并更新经验文件。
CDP 操作成功完成后,如果发现了有必要记录经验的新站点或新模式(URL 结构、平台特征、操作策略),主动写入对应的站点经验文件。只写经过验证的事实,不写未确认的猜测。
文件格式:
---
domain: example.com
aliases: [示例, Example]
updated: 2026-03-19
---
## 平台特征
架构、反爬行为、登录需求、内容加载方式等事实
## 有效模式
已验证的 URL 模式、操作策略、选择器
## 已知陷阱
什么会失败以及为什么经验/陷阱内容标注发现日期,当作"可能有效的提示"而非"保证正确的事实"。
| 文件 | 何时加载 |
|---|---|
references/cdp-api.md | 需要 CDP API 详细参考、JS 提取模式、错误处理时 |
references/site-patterns/{domain}.md | 确定目标网站后,读取对应站点经验 |
© eze-is, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 13 other files (scripts, references) in the repository root of eze-is/web-access.
Open the folder on GitHubat commit 33eef84
We found 4 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 4 other GitHub owners. This page covers the copy in eze-is/web-access, which our catalogue first saw on October 7, 2026.
Web Access via Browser CDP next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Web Access via Browser CDP this skilleze-is/web-access | 9.1k | 4 repos | ~2.2k | Automated safety check: Pass | MIT | |
| Reddit JSON Fetcherykdojo/claude-code-tips | 10k | — | ~1.4k | Automated safety check: Pass | Custom licence | |
| Brightdata SDK JSbrightdata/skills | 264 | — | ~3k | Automated safety check: Pass | MIT | |
| WeChat Article Searchzjp1997720/wechat-article-search | 268 | 1 repos | ~730 | Automated safety check: Notes | MIT | |
| Ego Browser Searchtaxueseek/argo | 185 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Bright Data MCPbrightdata/skills | 264 | 1 repos | ~3.7k | Automated safety check: Pass | MIT |
ykdojo/claude-code-tips
Fetches Reddit posts, threads and search results as JSON through a browser session, using a DuckDuckGo redirect to get past Reddit's automated-access block.
brightdata/skills
Web data extraction and discovery using the Bright Data JavaScript/TypeScript SDK (@brightdata/sdk).
zjp1997720/wechat-article-search
Searches WeChat public account articles by keyword through Sogou WeChat Search and returns titles, summaries, dates, source accounts and links.
taxueseek/argo
Searches and fetches pages through a real logged-in Chromium session when ordinary API or HTML retrieval cannot get past login walls, scripts or anti-bot checks.
brightdata/skills
Bright Data MCP handles ALL web data operations. An agent skill from brightdata/skills.
ScrapingBee/scrapingbee-cli
Fetch and read any web page, search the web, crawl a site, or pull structured data out of pages.
Works with
Routes every web task, from searching to logged-in browsing, through a tiered choice of search, fetch, curl or a real Chrome or Edge session driven over CDP. Every online task is declared to go through this skill: searching, scraping pages, acting behind a login, and reading dynamically rendered or anti-scraping sites such as social media.js 22 or newer for native WebSocket.
Web Access via Browser CDP fits situations like: reading a page that only renders in a real browser; searching and then reading primary sources for a research question; operating a site where you are already logged in; collecting public posts from social platforms that block simple fetching.
Run `npx skills add eze-is/web-access --skill web-access -a claude-code`. Or copy the skill folder (the eze-is/web-access repository) into .claude/skills/web-access in your project. Claude Code loads it when a task matches its description.
Run `npx skills add eze-is/web-access --skill web-access -a codex`. Or copy the skill folder (the eze-is/web-access repository) into .agents/skills/web-access in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add eze-is/web-access --skill web-access -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/web-access, .gemini/skills/web-access, .github/skills/web-access and .opencode/skills/web-access in your project.
Going by SKILL.md and its folder, Web Access via Browser CDP needs JavaScript for the scripts in its folder and the command-line tools its instructions call (curl and node). Our summary lists: Node.js 22 or newer; Chrome or Edge with CDP access.
SKILL.md contains no URLs. Its commands use curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Web Access via Browser CDP is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.2k tokens (SKILL.md is roughly 8.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Web Access via Browser CDP: Reddit JSON Fetcher (ykdojo/claude-code-tips, 10k stars), Brightdata SDK JS (brightdata/skills, 264 stars), WeChat Article Search (zjp1997720/wechat-article-search, 268 stars) and Ego Browser Search (taxueseek/argo, 185 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
eze-is (a GitHub user) maintains it in eze-is/web-access, which has 9,085 GitHub stars. The repository was last updated on August 19, 2026.
Source: eze-is/web-access on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.