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 agentmods add skills/echovic/blade-code/browser-automationnpx skills add echoVic/blade-code --skill browser-automationgit clone --depth 1 https://github.com/echoVic/blade-codeWrote 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/echovic/blade-code/browser-automation)<a href="https://agentmods.dev/skills/echovic/blade-code/browser-automation"><img src="https://agentmods.dev/badge/skills/echovic/blade-code/browser-automation.svg" alt="Measured on agentmods" 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.00162 | $0.02533 |
| Opus 5 | $0.00081 | $0.01267 |
| Sonnet 5 | $0.00032 | $0.00507 |
| Haiku 4.5 | $0.00016 | $0.00253 |
Grade A, and why
knowledge-browser-automation 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 3d ago.
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.
How it starts
The opening of the file, as written. The whole thing — 71 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Module Structure
原生 Browser Tool 使用一个惰性进程级 Chromium 池,每个 Session 获取独立临时
BrowserContext。Agent 工具和 Web 用户测试浏览器都复用 SessionBrowserRuntime
契约,但拥有不同 runtime 实例;Web Preview iframe 仍是独立展示能力。
Directory Layout
packages/cli/src/browser/— 安装检查、进程池、安全、快照权威、制品和 Session runtimepackages/cli/src/tools/builtin/browser/— 六个 Agent 工具及有界结果封装packages/cli/src/api/browserSchemas.ts— Web Browser 请求与共享结果类型packages/cli/src/server/routes/browser.ts— Web 用户测试浏览器 APIpackages/cli/src/server/WebBrowserSessionRegistry.ts— Web Session 对应的独立 runtime 注册表packages/cli/web/src/components/preview/— Preview/Test/External 面板packages/cli/web/src/store/BrowserActivityStore.ts— Agent Browser tool 活动投影
Key Entry Points
BrowserProcessPool.acquire()inpackages/cli/src/browser/BrowserProcessPool.ts— 惰性启动 Chromium 并分配 Context leaseSessionBrowserRuntimeinpackages/cli/src/browser/SessionBrowserRuntime.ts— 导航、观察、交互、等待、诊断与页面生命周期BrowserSnapshotAuthorityinpackages/cli/src/browser/BrowserSnapshotAuthority.ts— 最新 snapshot/ref 的短期授权createBrowserTools()inpackages/cli/src/tools/builtin/browser/browserTools.ts— 将 runtime 暴露为六个 deferred 工具BrowserRoutes()inpackages/cli/src/server/routes/browser.ts— Web 测试模式的 HTTP 控制面
Gotchas
- 六个 Browser 工具都没有 opt-in
isRetrySafe,即使 Snapshot/Wait/Inspect 是ReadOnly也默认不可自动重放;浏览器断线、超时或动作结果不确定时必须由 Agent 重新观察后显式决定 (packages/cli/src/tools/builtin/browser/browserTools.ts,packages/cli/src/tools/core/createTool.ts) BrowserInteract每次尝试在 Playwright 动作前就使输入 snapshot 失效,无论动作成功、超时还是部分失败;同一snapshotId/ref不能用于第二个动作 (packages/cli/src/browser/SessionBrowserRuntime.ts,packages/cli/src/tools/builtin/browser/browserTools.ts)- 动作开始后的异常可能返回
actionApplied='unknown'与sideEffectsUncertain=true;此时不能盲目重试提交、点击或输入,必须先获取新快照检查实际页面状态 (packages/cli/src/browser/types.ts,packages/cli/src/browser/SessionBrowserRuntime.ts) applied_observation_failed是动作已完成的成功结果,只代表后续观察失败;把它当作动作失败重试会重复副作用 (packages/cli/src/browser/types.ts,packages/cli/src/tools/builtin/browser/browserTools.ts)expectedOrigin必须使用含有效端口的 canonical origin,例如 HTTPS 默认端口也归一为:443;它必须同时匹配页面授权 origin、当前 origin 和 snapshot origin (packages/cli/src/browser/BrowserSecurity.ts,packages/cli/src/browser/SessionBrowserRuntime.ts)- 跨源顶层导航和 popup 在 route 层阻断;同源页面可加载跨源子资源,但跨源或 opaque sandbox iframe 的 ref 不能继承顶层授权 (
packages/cli/src/browser/SessionBrowserRuntime.ts,git:7467bfc4) - popup 在 Frame 尚不可用时只能通过 opener/referrer 归属;多个候选导致归属不唯一时 fail closed,不能借用同源的另一个页面授权 (
packages/cli/src/browser/SessionBrowserRuntime.ts,git:35e51f5a) - fill/type 会拒绝密码、OTP、卡号、安全码、token/key 等凭据控件;可访问名称过长或
aria-labelledby名称不可确认时同样按敏感控件拒绝 (packages/cli/src/browser/BrowserSecurity.ts,packages/cli/src/browser/SessionBrowserRuntime.ts) - Download 永远取消并使发起交互返回
browser_download_blocked;截图才会进入私有 Session artifact store (packages/cli/src/browser/SessionBrowserRuntime.ts,packages/cli/src/browser/BrowserArtifactStore.ts) BrowserWait和BrowserInspect要求已有页面,断线或 reset 后不能隐式恢复;恢复入口只能是 Navigate、Snapshot 或 Page open (packages/cli/src/browser/SessionBrowserRuntime.ts,docs/superpowers/specs/2026-08-25-native-browser-tool-design.md)- Chromium 不会随 npm 安装自动下载;缺失或沙箱启动失败统一返回
browser_not_installed,安装必须显式执行blade browser install(packages/cli/src/browser/BrowserInstallation.ts,packages/cli/src/browser/BrowserProcessPool.ts) - Agent Browser、Web 用户 Test Browser 与 Preview iframe 相互独立;在一个表面导航不会共享另一个 runtime 的 cookies、页面或 snapshot ID (
packages/cli/src/agent/runtime/SessionRuntime.ts,packages/cli/src/server/WebBrowserSessionRegistry.ts,packages/cli/web/src/components/preview/BrowserPreview.tsx)
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.
- 3d ago First seen · 71 lines · 162 tokens per session scan A 99b8882e1f2e
knowledge-browser-automation is a skill published in the GitHub repository echoVic/blade-code (178 stars, last pushed today), licensed MIT. It adds 162 tokens to every session and 2,533 once invoked, about $0.0008 per session on Opus 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-03.
Other skills, from other repositories
qry-search
Web search using qry, a terminal-native agent-first search CLI that routes queries through pluggable adapters and always outputs JSON. Use this skill whenever you need to search the web for documentation, APIs, error messages, package info, changelogs, or any current information. Triggers on "search the web", "look…
web-search
This skill should be used when users need to search the web for information, find current content, look up news articles, search for images, or find videos. It uses DuckDuckGo's search API to return results in clean, formatted output (text, markdown, or JSON). Use for research, fact-checking, finding recent…
clinical-reports
Write comprehensive clinical reports including case reports (CARE guidelines), diagnostic reports (radiology/pathology/lab), clinical trial reports (ICH-E3, SAE, CSR), and patient documentation (SOAP, H&P, discharge summaries). Full support with templates, regulatory compliance (HIPAA, FDA, ICH-GCP), and validation…
clinical-decision-support
Generate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading…
gget
Fast CLI/Python queries to 20+ bioinformatics databases. Use for quick lookups: gene info, BLAST searches, AlphaFold structures, enrichment analysis. Best for interactive exploration, simple queries. For batch processing or advanced BLAST use biopython; for multi-database Python workflows use bioservices.
molecular-cloning
Molecular cloning simulation and design. PCR amplicon prediction, restriction enzyme digestion, Golden Gate and Gibson assembly simulation, primer design, CRISPR sgRNA design, and plasmid annotation. For protein-level sequence analysis use biopython or esm; for database lookups use gene-database or ensembl-database.