Agent skill

Web Access

by ZhanlinCui in ZhanlinCui/Agent-Skills-Hunter

Routes every networked task to the lightest channel that reaches it: a direct search, a page fetch, or a persistent browser for logins and dynamic pages.

MITAuto-check passedProductivity & Automation

SKILL.md written in Chinese; this summary is our English description.

Install Web Access

skills CLI
$ npx skills add ZhanlinCui/Agent-Skills-Hunter --skill web-access -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ZhanlinCui/Agent-Skills-Hunter web-access --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ZhanlinCui/Agent-Skills-Hunter.git skills-src && mkdir -p .claude/skills && cp -r skills-src/integration/web-access .claude/skills/web-access && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
web-access
GitHub stars
191
Token cost
~1.4k tokens
SKILL.md length
214 words
Files
7 (incl. scripts, references)
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

Routes every networked task to the lightest channel that reaches it: a direct search, a page fetch, or a persistent browser for logins and dynamic pages.

  • Works in 2 steps: 领域知识:对该网站的了解——X/Twitter… → 页面实际反馈:内容是否符合预期?是降级版(如热门帖代替最新帖)?是否有明显缺失?
  • Searching the web or fetching a known page's content
  • SKILL.md covers 首次安装, 浏览哲学, 信息获取通道选择 and 浏览器 CDP 模式, plus 2 more sections
  • Runs Shell scripts from its folder; calls bash

What it does

Every internet-connected action is meant to go through this skill, covering search, page scraping, actions behind a login, and interaction with dynamic pages, including sites such as Xiaohongshu, Weibo and Twitter/X. On first use it runs `check-deps.sh` to detect what is installed, lets the agent decide what to install, and asks the user to install Chrome manually if it is missing, since that step cannot be automated. On Windows it requires a Git Bash environment.

A decision rule picks the channel: WebSearch for summaries or keyword results, WebFetch for a known URL on a static public page, and a persistent browser session over CDP for social or content platforms, dynamic content, logins or free navigation. WebFetch requests add an `Accept: text/markdown, text/html` header to save roughly 80% of tokens on sites that support it, falling back to the browser on empty content, a 403, or JavaScript rendering.

Once escalated to the browser layer, the skill says not to retreat to a lighter tool for the same goal, and to solve obstacles like pop-ups or login walls within that layer instead of bothering the user, resorting to screenshots only when the accessibility tree cannot identify what is needed.

When your agent uses it

  • Searching the web or fetching a known page's content
  • Scraping content from a social media or content platform behind a login
  • Interacting with a dynamic, JavaScript-rendered page

Example prompts

  • “Search for recent reviews of this product and summarize them.”
  • “Log into this site and pull the latest posts from my feed.”
  • “Fetch the content of this article page as Markdown.”

Requirements

  • Chrome installed locally
  • Git Bash on Windows
  • `agent-browser` for the CDP browser mode

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. 领域知识:对该网站的了解——X/Twitter 的最新时间线、小红书的私密内容、微博的完整评论等,这类内容通常需要登录才能获取完整数据
  2. 页面实际反馈:内容是否符合预期?是降级版(如热门帖代替最新帖)?是否有明显缺失?

What it can do on your machine

Read from SKILL.md and the folder at commit 849c38a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships 4 files in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • bash

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Web Access loads about 1.4k tokens when it runs, and up to ~3k if it reads all its reference files. Until then it costs about 36 tokens; SKILL.md has 214 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~36
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from ZhanlinCui/Agent-Skills-Hunter at commit 849c38a, republished under its MIT licence (© ZhanlinCui). 214 words, ~1,431 tokens.

Download SKILL.mdSave it as .claude/skills/web-access/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.
name
web-access
description
所有联网操作必须通过此 skill 处理,包括:搜索、网页抓取、登录后操作、动态页面交互等。 触发场景:用户要求搜索信息、查看网页内容、访问需要登录的网站、操作网页界面、抓取社交媒体内容(小红书、微博、推特等)、读取动态渲染页面、以及任何需要真实浏览器环境的网络任务。
version
1.1.0
license
MIT

web-access Skill

首次安装

用户首次使用时,执行以下流程:

Step 1:运行环境探测

bash
bash ~/.claude/skills/web-access/scripts/check-deps.sh

Step 2:AI 根据输出处理缺失依赖

探测脚本只报告事实,安装决策由 AI 完成。缺什么装什么,Chrome 缺失时提示用户手动下载(无法自动安装)。

Step 3:安装完成后,向用户说明以下内容

web-access 已就绪。凡是联网的需求直接说就行,我会自动选最合适的方式:

  • 只需要搜索结果 → 直接搜,最快
  • 需要看完整页面 → 抓取页面内容,不启动浏览器
  • 需要登录或动态页面 → 自动启动浏览器,登录一次后持久保存

Windows 用户需要 Git Bash 环境(安装 Git for Windows 即可)。

浏览哲学

像人一样浏览,不像机器人一样执行程序。

人类浏览网页时不会在开始前列出完整步骤,而是带着目标进入,边看边判断,遇到阻碍就解决,发现内容不够就深入——全程围绕「我要拿到什么」做决策。这个 skill 的所有行为都应遵循这个逻辑。

三个核心判断:

① 我需要什么? — 任务驱动,先想清楚目标信息的性质,再选最轻且能直达的方式。不要用重型工具做轻量任务,也不要用轻量工具面对它覆盖不到的内容。

② 够了吗? — 拿到的信息能完成任务,就是够了。不过度采集,不为了"完整"而浪费代价。大概了解一个视频,几帧就够;理解一篇文章,读文字就够;不需要全页截图去做能用 accessibility tree 完成的事。

③ 遇到阻碍怎么办? — 在层内解决,不退回,不打扰用户。弹窗、登录墙、广告、加载失败——像人一样判断这个阻碍是否真的挡住了目标内容:挡住了就处理,没挡住就绕过去继续。只有在确认无法自行解决时才告知用户。

信息获取通道选择

  • 先评估任务,再选通道:根据「目标信息的性质、什么工具能直接拿到」决定起点,选最轻且能直达的方案。
  • 确保信息的真实性,一手信息优于二手信息:搜索引擎和聚合平台是信息发现入口。当多次搜索尝试后没有质的改进时,升级到更根本的获取方式:定位一手来源(官网、官方平台、原始页面)。
场景通道
只需搜索摘要或关键词结果,或需要发现信息来源WebSearch
URL 已知,静态公开页面WebFetch
社交媒体、内容平台(微信公众号、微博、小红书、X/Twitter 等)浏览器 CDP(直接,跳过 WebFetch)
需要动态内容、登录态、交互操作,或需要像人一样在浏览器内自由导航探索浏览器 CDP

浏览器 CDP 不要求 URL 已知——可从任意入口出发,通过页面内搜索、点击、跳转等方式找到目标内容。

WebFetch 请求时加 header Accept: text/markdown, text/html,支持该协议的网站直接返回 Markdown,省约 80% token。失败(空内容 / 403 / JS 渲染)时升级到浏览器层。

降级禁止:进入更重的通道后,不得回头用轻量工具完成同一目标——等同于重走已知不通的路。浏览器层遇到阻碍应在层内解决(如处理登录),而不是绕回。唯一例外:浏览器操作中衍生的新子目标,可重新选择通道。

进入浏览器层后,区分任务性质:

  • 操作型(导航、填表、点击):用 accessibility tree 感知界面,无法识别时才截图辅助
  • 内容型(读帖子、看资讯、分析页面):accessibility tree 读文字结构,同时判断图片是否承载核心信息——是则提取图片 URL 定向读取

图片判断:社交媒体、图文博客、截图类内容,默认图片有价值,主动去取;工具类、导航类页面,默认 accessibility tree 够用。

浏览器 CDP 模式

启动
bash
bash ~/.claude/skills/web-access/scripts/ensure-browser.sh
  • Browser ready on port 9222 → 脚本自己启动的,状态可信,直接用(任务结束后关闭)
  • already running → 检测到残留进程,状态不可信,必须验证:运行 agent-browser --cdp 9222 open about:blank,成功则可用;失败则执行 close 后重新 ensure(任务结束后不关闭)
  • ERROR 或 agent-browser 无响应 → 执行 bash ~/.claude/skills/web-access/scripts/close-browser.sh 后重新运行

⚠️ 严禁降级:只用 agent-browser CDP 模式,不切换到其他浏览器工具。Playwright MCP 底层同为 playwright-core + launchPersistentContext,能力等效,但 profile 路径不同——切换会丢失已有登录态,需重新登录。

常用命令
bash
agent-browser --cdp 9222 open <url>           # 打开页面
agent-browser --cdp 9222 snapshot -i          # 可交互元素(操作用)
agent-browser --cdp 9222 snapshot             # 完整无障碍树(读文字用)
agent-browser --cdp 9222 click @ref-123       # 点击元素
agent-browser --cdp 9222 fill @ref-123 "内容" # 填写输入框
agent-browser --cdp 9222 wait load networkidle  # 仅用于 click/fill 触发导航后;open 已内置等待,勿在 open 后使用
agent-browser --cdp 9222 scroll down 3000     # 触发懒加载
agent-browser --cdp 9222 screenshot /tmp/x.png
agent-browser --cdp 9222 screenshot --annotate      # snapshot -i ref 失效时的升级方案,见 references/commands.md
agent-browser --cdp 9222 eval "<js>"          # 执行 JS,用于提取 DOM 信息
图片提取

判断内容在图片里时,用 eval 从 DOM 直接拿图片 URL,再定向打开截图读取——比全页截图精准得多。

需要知道的两个技术细节:

  • 懒加载:未进入视口的图片 naturalWidth 为 0,eval 前先 scroll 到底才能拿到完整列表
  • 过滤噪声:naturalWidth > 200 排除图标和头像,留下内容图
bash
agent-browser --cdp 9222 scroll down 3000
agent-browser --cdp 9222 eval "JSON.stringify(Array.from(document.querySelectorAll('img')).map((img,i)=>({i,src:img.src,w:img.naturalWidth,h:img.naturalHeight})).filter(x=>x.w>200))"
# 对每张目标图片:
agent-browser --cdp 9222 open <img_url>
agent-browser --cdp 9222 screenshot /tmp/img_n.png
# 用 Read tool 读取截图内容
视频内容获取

CDP headed 模式下浏览器真实渲染,截图可捕获当前视频帧。核心能力:seek 到任意时间点截图,可对视频内容进行离散采样分析。

bash
# 获取总时长,制定采样计划
agent-browser --cdp 9222 eval "document.querySelector('video').duration"
# seek + 播放 + 截图
agent-browser --cdp 9222 eval "var v=document.querySelector('video'); v.currentTime=60; v.play()"
sleep 2
agent-browser --cdp 9222 screenshot /tmp/frame.png
# 全屏截图画面更清晰
agent-browser --cdp 9222 eval "document.querySelector('video').requestFullscreen()"

采帧粒度(仅供参考,具体视频具体分析:大概了解 → 30-60s 间隔;理解叙事 → 10s;精细分析 → 1-2s)由任务需求自行判断,无需用户指定。

登录判断

登录判断的核心问题只有一个:目标内容拿到了吗?

打开页面后,先尝试获取目标内容,持续执行。在此过程中,结合两方面信息做判断:

  1. 领域知识:对该网站的了解——X/Twitter 的最新时间线、小红书的私密内容、微博的完整评论等,这类内容通常需要登录才能获取完整数据
  2. 页面实际反馈:内容是否符合预期?是降级版(如热门帖代替最新帖)?是否有明显缺失?

即使页面显示了登录提示,只要目标内容已经拿到,就不需要打扰用户登录。

只有当确认目标内容无法获取时,才推断:登录是否能解决这个问题?若推断成立,告知用户:

"当前页面在未登录状态下无法获取[具体内容],请在已打开的 Chrome 窗口中登录 [网站名],完成后告诉我继续。"

登录完成后无需重启浏览器,直接继续原任务。

任务结束

ensure-browser.sh 返回 Browser ready(本次启动)→ 关闭浏览器(必须用此脚本,勿直接 kill,否则会留下崩溃窗口):

bash
bash ~/.claude/skills/web-access/scripts/close-browser.sh

特殊任务规则

核实任务

核实的目标是一手来源,而非更多的二手报道——多个媒体引用同一个错误会造成循环印证假象。

搜索用于定位来源,不用于证明真伪。找到来源后,直接访问读取原文。

信息类型一手来源
政策/法规发布机构官网
企业公告公司官方新闻页
学术声明原始论文/机构官网

找不到官网时:权威媒体的原创报道(非转载)可作为次级依据,但需向用户说明:"未找到官方原文,以下核实来自[媒体名]报道,存在转述误差可能。"

工具能力边界理解

对任何工具(MCP、CLI、库)的能力有疑问时,如果没有足够的知识把握,先查官方文档,如无足够文档介绍,可考虑查看源码,再作判断,不猜测、不把不确定性转移给用户。

References 索引

文件何时加载
references/commands.md需要不常用命令时(drag、storage、pdf 等)
references/login-flow.md需要了解登录流程细节时

© ZhanlinCui, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 6 other files (scripts, references) in integration/web-access of ZhanlinCui/Agent-Skills-Hunter.

  • SKILL.md
  • references/commands.md
  • references/login-flow.md
  • scripts/_utils.sh
  • scripts/check-deps.sh
  • scripts/close-browser.sh
  • scripts/ensure-browser.sh

Open the folder on GitHubat commit 849c38a

Compare with similar skills

Web Access 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.

Web Access compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Web Access this skillZhanlinCui/Agent-Skills-Hunter191—~1.4kAutomated safety check: PassMIT
Web Access via Browser CDPeze-is/web-access9.1k4 repos~2.2kAutomated safety check: PassMIT
Reddit JSON Fetcherykdojo/claude-code-tips10k—~1.4kAutomated safety check: PassCustom licence
Ego Browser Searchtaxueseek/argo185—~2.1kAutomated safety check: PassMIT
Bright Data MCPbrightdata/skills2641 repos~3.7kAutomated safety check: PassMIT
Scrapingbee CLIScrapingBee/scrapingbee-cli108—~3.2kAutomated safety check: NotesMIT

Similar skills

  • 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.

    9.1k GitHub starsUsed in 4 repos~2.2k tokens
    Productivity & AutomationAuto-check passed
  • 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.

    10k GitHub stars~1.4k tokensUpdated 13 days ago
    Productivity & AutomationAuto-check passed
  • Ego Browser Search

    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.

    185 GitHub stars~2.1k tokensUpdated yesterday
    Productivity & AutomationAuto-check passed
  • Bright Data MCP

    brightdata/skills

    Bright Data MCP handles ALL web data operations. An agent skill from brightdata/skills.

    264 GitHub starsUsed in 1 repo~3.7k tokens
    Productivity & AutomationAuto-check passed
  • Scrapingbee CLI

    ScrapingBee/scrapingbee-cli

    Fetch and read any web page, search the web, crawl a site, or pull structured data out of pages.

    108 GitHub stars~3.2k tokensUpdated yesterday
    Productivity & AutomationAuto-check: notes
  • Use Tinyfish

    tinyfish-io/tinyfish-cookbook

    Use TinyFish for web search, fetching URLs, reading pages, current information, source-backed answers, research, docs, pricing/product pages, extraction, scraping, and browser automation.

    2.2k GitHub stars~2.1k tokensUpdated 6 days ago
    Productivity & AutomationAuto-check passed

More from ZhanlinCui/Agent-Skills-Hunter

  • Daily News

    ZhanlinCui/Agent-Skills-Hunter

    每日资讯日报生成器。三阶段工作流:获取元数据、生成摘要、输出日报. An agent skill from ZhanlinCui/Agent-Skills-Hunter.

    191 GitHub stars~2.5k tokensUpdated 7 mo ago
    Auto-check passed

Questions about Web Access

What does Web Access do?

Routes every networked task to the lightest channel that reaches it: a direct search, a page fetch, or a persistent browser for logins and dynamic pages. Every internet-connected action is meant to go through this skill, covering search, page scraping, actions behind a login, and interaction with dynamic pages, including sites such as Xiaohongshu, Weibo and Twitter/X.sh` to detect what is installed, lets the agent decide what to install, and asks the user to install Chrome manually if it is missing, since that step cannot be automated.

When should I use Web Access?

Web Access fits situations like: searching the web or fetching a known page's content; scraping content from a social media or content platform behind a login; interacting with a dynamic, JavaScript-rendered page.

How do I install Web Access in Claude Code?

Run `npx skills add ZhanlinCui/Agent-Skills-Hunter --skill web-access -a claude-code`. Or copy the skill folder (integration/web-access in ZhanlinCui/Agent-Skills-Hunter) into .claude/skills/web-access in your project. Claude Code loads it when a task matches its description.

How do I install Web Access in Codex?

Run `npx skills add ZhanlinCui/Agent-Skills-Hunter --skill web-access -a codex`. Or copy the skill folder (integration/web-access in ZhanlinCui/Agent-Skills-Hunter) into .agents/skills/web-access in your project. Codex loads it when a task matches its description.

Can I use Web Access in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ZhanlinCui/Agent-Skills-Hunter --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.

What does Web Access need to run?

Going by SKILL.md and its folder, Web Access needs a shell for the scripts in its folder and the command-line tools its instructions call (bash). Our summary lists: Chrome installed locally; Git Bash on Windows; `agent-browser` for the CDP browser mode.

Does Web Access access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Web Access safe to install?

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.

What licence does Web Access use?

Web Access is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Web Access use?

About 1.4k tokens (SKILL.md is roughly 5.7k 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 1.5k tokens, read only when the agent opens those files.

What are the alternatives to Web Access?

Skills that share tags, products or a category with Web Access: Web Access via Browser CDP (eze-is/web-access, 9.1k stars), Reddit JSON Fetcher (ykdojo/claude-code-tips, 10k stars), Ego Browser Search (taxueseek/argo, 185 stars) and Bright Data MCP (brightdata/skills, 264 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Web Access?

ZhanlinCui (a GitHub user) maintains it in ZhanlinCui/Agent-Skills-Hunter, which has 191 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on March 10, 2026.

Source: ZhanlinCui/Agent-Skills-Hunter on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.