web-access

web-access is a skill for Claude Code, Codex from magic3007/dotfiles. It costs 89 tokens per session (4,628 once invoked), scanned B, a copy of web-access, MIT.

A web-access workflow for searching websites, reading pages, handling logged-in sites, and automating browser interactions.

In plain words
What is it for?
Use it for web searches, page retrieval, dynamic websites, social platforms, and other tasks requiring a real browser session.
Why use it?
It provides a defined process for checking browser access, handling obstacles, and recognizing the risks of automated access.

Skill for Claude CodeCodex

Part of the web-access plugin — 1 skill shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/magic3007/dotfiles/web-access
Any agent
npx skills add magic3007/dotfiles --skill web-access
Clone the repo
git clone --depth 1 https://github.com/magic3007/dotfiles

Made for: Claude Code, Codex.

Or install web-access, the plugin that ships this one along with the rest of its 1 skill.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for web-access

README.md
[![agentmods](https://agentmods.dev/badge/skills/magic3007/dotfiles/web-access.svg)](https://agentmods.dev/skills/magic3007/dotfiles/web-access)
Your own site
<a href="https://agentmods.dev/skills/magic3007/dotfiles/web-access"><img src="https://agentmods.dev/badge/skills/magic3007/dotfiles/web-access.svg" alt="Measured on agentmods" height="20"></a>
Per session 89 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,628 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 2 findings. Scan, not verified.
Origin 95% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00089 $0.04628
Opus 5 $0.00044 $0.02314
Sonnet 5 $0.00018 $0.00926
Haiku 4.5 $0.00009 $0.00463

Measured yesterday against content hash 3c8ec65ec678, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade B, and why

web-access scanned grade B with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

The scan reads SKILL.md. This mod also ships 5 executable files (scripts/browser-discovery.mjs, scripts/cdp-proxy.mjs, scripts/check-deps.mjs, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Sends data to an external URLmediumData exfiltration

A POST to an outside endpoint may be telemetry or may be exfiltration; either way the mod talks to somewhere, and you should know where.

curl -s -X POST --data-raw 'https://example.com' http://localhost:3456/new

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

| URL 已知,需要原始 HTML 源码(meta、JSON-LD 等结构化字段) | **curl** |
Origin

This is a copy

95% identical to web-access — 534 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

claude/skills/web-access/SKILL.md · 266 lines

How it starts

The opening of the file, as written. The whole thing — 266 lines — stays where its author put it; the contents beside it link to each section on GitHub.

web-access Skill

前置检查

在开始联网操作前,先检查 CDP 模式可用性:

node "${CLAUDE_SKILL_DIR}/scripts/check-deps.mjs"

Node.js 22+ 必需(使用原生 WebSocket)。

按脚本输出处理:

  • exit 0 → 继续
  • exit 2 → 需询问用户偏好,写入 ${CLAUDE_SKILL_DIR}/config.envWEB_ACCESS_BROWSER
  • exit 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 视觉识别

Read the full file on GitHub · 266 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 266 lines · 89 tokens per session scan B 3c8ec65ec678

Subscribe to this mod's changes

web-access is a skill published in the GitHub repository magic3007/dotfiles (11 stars, last pushed yesterday), licensed MIT. It adds 89 tokens to every session and 4,628 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it B with 2 findings (sends data to an external url, makes network calls). It is 95% identical to web-access, differing in 534 lines, and is treated as a copy.