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.
npx skills add zwl467135974/lumina --skill browser-controlgit clone --depth 1 https://github.com/zwl467135974/luminaWrote 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.
[](https://agentmods.dev/skills/zwl467135974/lumina/browser-control)<a href="https://agentmods.dev/skills/zwl467135974/lumina/browser-control"><img src="https://agentmods.dev/badge/skills/zwl467135974/lumina/browser-control/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/zwl467135974/lumina/browser-control"><img src="https://agentmods.dev/badge/skills/zwl467135974/lumina/browser-control.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00050 | $0.00810 |
| Opus 5.5 | $0.00020 | $0.00324 |
| Sonnet 5 | $0.00010 | $0.00162 |
| Haiku 4.5 | $0.00005 | $0.00081 |
Grade A, and why
browser-control scanned grade A with 0 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.
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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
浏览器控制(Playwright)
通过 MCP 接入的官方 @playwright/mcp 工具面驱动真实浏览器。工具命名规则为
mcp__{server}__{tool},下文以 server 名 playwright 为例(实际前缀以当前
环境的 MCP 配置为准)。
核心工作流:快照 → 定位 → 操作 → 留证
- 打开页面:
mcp__playwright__browser_navigate(url)。等待加载完成后 先取结构化快照,不要急于截图。 - 读取结构:
mcp__playwright__browser_snapshot。返回页面的可访问性 树,每个可交互元素带ref编号——这是后续操作的定位依据。 - 定位操作:
browser_click(element, ref)、browser_type(element, ref, text)、browser_fill_form(fields)、browser_select_option(element, ref, values)、browser_press_key(key)。必须使用快照中的 ref 定位,不要凭记忆猜 CSS 选择器;页面变化后重新取快照再操作。 - 视觉留证:
browser_take_screenshot仅在需要视觉证据(布局、颜色、 渲染问题)时使用;结构化信息一律以快照为准,省 token 且更精确。
页面状态与多标签
- 弹出对话框(alert/confirm/prompt):先
browser_handle_dialog(accept), 不要让对话框阻塞后续操作。 - 新窗口/弹出页:操作后用
browser_tabs(action: "list")观察全部标签页,browser_tabs(action: "select", index: n)切换。 - 等待动态内容:
browser_wait_for(text=..., time=...),不要连续无脑重试。
排障顺序
页面不符合预期时按序排查:
- 重新
browser_snapshot确认当前真实状态(可能已被重定向); browser_console_messages(level: "error")看前端报错;browser_network_requests确认关键请求是否成功(4xx/5xx/超时);- 仍无头绪再截图人工判读。
纪律
- 快照优先:能用快照解决的绝不用截图,能用文本绝不用视觉。
- ref 时效:任何 click/type 之后页面可能变化,长流程中定期重新快照。
- 数据落库:采集到的结构化数据写入任务结果或文件,不要只留在对话里。
- 退出:任务结束调用
browser_close释放浏览器进程。
边界
- 浏览器运行在 Lumina 服务端所在主机,访问目标受部署层网络策略约束;
内网/环回地址可能被
--blocked-origins拦截,属预期行为。 - 文件系统访问默认限定工作区根目录,
file://导航被禁用。
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.
- yesterday First seen · 55 lines · 50 tokens per session scan A 56cd6b07949a
browser-control is a skill published in the GitHub repository zwl467135974/lumina (75 stars, last pushed yesterday), licensed Apache-2.0. It adds 50 tokens to every session and 810 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-23.
Other skills, from other repositories
debug-optimize-lcp
Guides debugging and optimizing Largest Contentful Paint (LCP) using Chrome DevTools MCP tools. Use this skill whenever the user asks about LCP performance, slow page loads, Core Web Vitals optimization, or wants to understand why their page's main content takes too long to appear. Also use when the user mentions…
interactive-login
How to complete browser/interactive logins (aws / gh / glab / gcloud). The platform backgrounds the login poller so it survives the human's browser round-trip — and when that does NOT work.
opencli-sitemap-author
Use when creating or maintaining OpenCLI site sitemaps: agent-facing navigation, page-state, action, workflow, API-reference, pitfall, and fallback knowledge for a website. Use after browser exploration discovers durable site context, when a sitemap is stale, or when promoting local site knowledge into the repo.
pinchtab-mcp
Use this skill when a task requires browser automation through PinchTab's MCP server connected to a remote browser instance. Covers navigation, element interaction, data extraction, form filling, multi-step flows, and session management via MCP tools.
azure-messaging-webpubsub-java
Build real-time web applications with Azure Web PubSub SDK for Java. Use when implementing WebSocket-based messaging, live updates, chat applications, or server-to-client push notifications.
cua-driver
Use Cua Driver for desktop or browser tasks that are awkward or unavailable through Bash/APIs, or when the user explicitly wants GUI interaction: app testing, visual bug reproduction, form filling, calendar entry, screenshots, and demo recording. Also covers Cua setup; not OpenAI Codex Computer Use or web research.