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/bifrost-proxy/bifrost/e2e-verifynpx skills add bifrost-proxy/bifrost --skill e2e-verifygit clone --depth 1 https://github.com/bifrost-proxy/bifrostWrote 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/bifrost-proxy/bifrost/e2e-verify)<a href="https://agentmods.dev/skills/bifrost-proxy/bifrost/e2e-verify"><img src="https://agentmods.dev/badge/skills/bifrost-proxy/bifrost/e2e-verify.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 | $0.00084 | $0.01277 |
| Opus 5 | $0.00042 | $0.00639 |
| Sonnet 5 | $0.00017 | $0.00255 |
| Haiku 4.5 | $0.00008 | $0.00128 |
Grade A, and why
e2e-verify scanned grade A with 1 finding 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 4d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- `curl -sS http://127.0.0.1:9910/_bifrost/api/proxy/address` How it starts
The opening of the file, as written. The whole thing — 124 lines — stays where its author put it; the contents beside it link to each section on GitHub.
E2E Verify
该技能用于验证 web/ 管理端和 /_bifrost/api 接口,优先使用已存在的场景与脚本,不要重新发明一套测试入口。
何时调用
- 需要验证 Bifrost 管理端页面流程
- 需要回归
Traffic、Rules、Values、Scripts、Settings等核心页面 - 需要验证管理端 API 是否可用
- 需要基于页面快照定位元素或调试场景失败
前置条件
- 场景测试默认使用独立代理进程,不再复用共享
9900 browser-test.js scenario会自动:- 分配独立代理端口
- 创建独立
BIFROST_DATA_DIR - 在结束后停止该代理进程
- 前端开发服务器用于手工调试时再单独启动:
pnpm dev - 默认手工调试 UI 入口:
http://localhost:3000/_bifrost/ - ⛔ 启动时必须加
--no-system-proxy:除非测试目标明确涉及系统代理功能,否则所有启动命令必须携带--no-system-proxy,避免修改系统代理配置导致网络中断。 - 若需要手工启动独立管理端,请优先使用"先编译、再启动"的方式:
CARGO_TARGET_DIR=./.bifrost-ui-target cargo build --bin bifrost
BIFROST_DATA_DIR=./.bifrost-e2e-ui ./.bifrost-ui-target/debug/bifrost start -p 9910 --unsafe-ssl --no-system-proxy
-
启动后必须确认:
lsof -nP -iTCP:9910 -sTCP:LISTENcurl -sS http://127.0.0.1:9910/_bifrost/api/proxy/address
-
路由定义查看 web/src/App.tsx
-
API 说明查看 crates/bifrost-admin/ADMIN_API.md
目录
scripts/browser-test.js:UI 测试主入口scripts/api-test.js:API 测试主入口scripts/push-debug.js:最小化 push / websocket 排查工具scripts/scenarios/:内置场景logs/:快照和调试输出screenshots/:截图输出
快速开始
cd .trae/skills/e2e-verify/scripts
pnpm install
场景测试
先查看可用场景:
node browser-test.js scenario --list
当前内置场景:
stream-ssestream-wstraffic-delete
运行场景:
node browser-test.js scenario stream-sse
node browser-test.js scenario stream-ws --headless --verbose
node browser-test.js scenario traffic-delete --actions
- 如需显式复用已有代理,可加
--shared-proxy - 如需覆盖入口地址,可加
--base-url <url>
浏览器命令
node browser-test.js launch http://localhost:3000/_bifrost/ -i
node browser-test.js watch http://localhost:3000/_bifrost/
node browser-test.js sessions
node browser-test.js tools snapshot
API 命令
node api-test.js --api /_bifrost/api/system/overview -p 9900 -v
node api-test.js --api /_bifrost/api/rules -p 9900
What ships with it
43 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- scripts/api-test.js 5.5 KB runs code
- scripts/browser-test.js 9.6 KB runs code
- scripts/examples/api-search-proxy.txt 233 B
- scripts/examples/example-snapshot.js 4.1 KB runs code
- scripts/examples/seed-streaming-traffic.sh 1.7 KB runs code
- scripts/lib/action-handlers.js 13 KB runs code
- scripts/lib/browser-manager.js 5.0 KB runs code
- scripts/lib/cli-parser.js 7.6 KB runs code
- scripts/lib/config.js 1.4 KB runs code
- scripts/lib/interactive-mode.js 5.8 KB runs code
- scripts/lib/isolated-proxy.js 4.5 KB runs code
- scripts/lib/logger.js 6.2 KB runs code
- scripts/lib/network-collector.js 5.1 KB runs code
- scripts/lib/scenario-executor.js 9.3 KB runs code
- scripts/lib/session-manager.js 11 KB runs code
- scripts/lib/snapshot-manager.js 17 KB runs code
- scripts/lib/sso-handler.js 311 B runs code
- scripts/lib/test-context.js 12 KB runs code
- scripts/lib/tool-executor.js 3.8 KB runs code
- scripts/lib/tools/assert.js 6.8 KB runs code
- scripts/lib/tools/debugging.js 6.4 KB runs code
- scripts/lib/tools/emulation.js 5.9 KB runs code
- scripts/lib/tools/index.js 18 KB runs code
- scripts/lib/tools/input.js 8.5 KB runs code
- scripts/lib/tools/navigation.js 3.5 KB runs code
- scripts/lib/tools/network.js 6.3 KB runs code
- scripts/lib/tools/snapshot.js 3.4 KB runs code
- scripts/lib/utils.js 2.2 KB runs code
- scripts/lib/variable-resolver.js 3.1 KB runs code
- scripts/package-lock.json 12 KB
- scripts/package.json 932 B
- scripts/pnpm-lock.yaml 7.4 KB
- scripts/push-debug.js 14 KB runs code
- scripts/scenarios/asr-voiceprint-enroll-ui.json 3.2 KB
- scripts/scenarios/asr-voiceprint-manage-ui.json 1.3 KB
- scripts/scenarios/replay-collection-sync.json 7.0 KB
- scripts/scenarios/replay-execute-traffic.json 3.5 KB
- scripts/scenarios/replay-history-filters.json 6.3 KB
- scripts/scenarios/rules-values-manual-refresh.json 5.4 KB
- scripts/scenarios/stream-sse.json 1.1 KB
- scripts/scenarios/stream-ws.json 1.1 KB
- scripts/scenarios/traffic-delete.json 2.1 KB
- scripts/scenarios/traffic-replay-image-preview.json 2.9 KB
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.
- 4d ago First seen · 124 lines · 84 tokens per session scan A 02afdfdaff34
e2e-verify is a skill published in the GitHub repository bifrost-proxy/bifrost (124 stars, last pushed 5d ago), licensed MIT. It adds 84 tokens to every session and 1,277 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
js-in-html-testing
Test JS logic embedded in HTML using two-layer strategy - Python unit tests + Playwright browser integration tests.
playwright-screen-recording
Record browser test videos with Playwright for PR review and bug fix verification.
codex-e2e-test
Run PR-grade real Codex E2E validation through claude-tap, including resume turns, multiple tool calls, optional image input, viewer verification, and screenshot evidence.
real-e2e-test
Run real E2E tests against Claude CLI in pytest and tmux modes.
e2e-test
Run claude-tap end-to-end tests with pytest.
penguin-harness-manual-test
Use when standing PenguinHarness up to try a change by hand — launching the Web App, the desktop shell, the landing page or the docs site to click through it, screenshot it, or reproduce a report. Covers the four dev entry points and their ports, which data root each writes to, and the four ways a healthy setup looks…