octoperf-real-browser-probe

octoperf-real-browser-probe is a skill for Claude Code from OctoPerf/octoperf-claude-plugins. It costs 170 tokens per session (4,048 once invoked), scanned A, original, Apache-2.0.

A guide for measuring what users experience in a real web browser during a JMeter load test. JMeter creates many simulated users and HTTP requests, while a Playwright browser probe measures loading, rendering, JavaScript, and Core Web Vitals.

In plain words
What is it for?
Use it to run a real Chromium user journey alongside a JMeter test and collect page-load, rendering, script-execution, and user-experience metrics.
Why use it?
Server response times do not show the full experience of a JavaScript-heavy website. The browser probe captures front-end performance while the server is under load.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the octoperf plugin — 20 skills, 1 MCP server shipped together

Good fit Use it to run a real Chromium user journey alongside a JMeter test and collect page-load, rendering, script-execution, and user-experience metrics.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/octoperf/octoperf-claude-plugins/octoperf-real-browser-probe
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.

Any agent
npx skills add OctoPerf/octoperf-claude-plugins --skill octoperf-real-browser-probe
Clone the repo
git clone --depth 1 https://github.com/OctoPerf/octoperf-claude-plugins

Made for: Claude Code.

Or install octoperf, the plugin that ships this one along with the rest of its 20 skills, 1 MCP server.

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 octoperf-real-browser-probe

README.md
[![agentmods](https://agentmods.dev/badge/skills/octoperf/octoperf-claude-plugins/octoperf-real-browser-probe/github.svg)](https://agentmods.dev/skills/octoperf/octoperf-claude-plugins/octoperf-real-browser-probe)
Your own site
<a href="https://agentmods.dev/skills/octoperf/octoperf-claude-plugins/octoperf-real-browser-probe"><img src="https://agentmods.dev/badge/skills/octoperf/octoperf-claude-plugins/octoperf-real-browser-probe/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.

agentmods 80×15 button for octoperf-real-browser-probe

Your own site · 80×15
<a href="https://agentmods.dev/skills/octoperf/octoperf-claude-plugins/octoperf-real-browser-probe"><img src="https://agentmods.dev/badge/skills/octoperf/octoperf-claude-plugins/octoperf-real-browser-probe.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 170 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,048 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found 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.1 $0.00170 $0.04048
Opus 5 $0.00085 $0.02024
Sonnet 5 $0.00034 $0.00810
Haiku 4.5 $0.00017 $0.00405

Measured 12d ago against content hash 0bad91a92f10, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

octoperf-real-browser-probe 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 12d 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.

plugins/octoperf/skills/octoperf-real-browser-probe/SKILL.md · 340 lines

How it starts

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

OctoPerf — Real-browser probe alongside JMeter load

The pattern

JMeter HTTP virtual users are great for server-side metrics (response time, throughput, error rate) but they don't reflect what a real user perceives: page load, JS execution, rendering, layout shifts, Core Web Vitals. A real-browser probe is a single Playwright VU that runs the same user journey through an actual Chromium during the load test — measuring UX while the JMeter pool keeps the server busy.

Commercial equivalents (the LLM will recognise these terms): NeoLoad RealBrowser User, LoadRunner TruClient, Gatling Browser User, k6 browser module, BlazeMeter Real Browser Users. The pattern is also known as synthetic browser probe or end-user experience monitoring during load test.

When this applies

The user has:

  • A working OctoPerf JMeter Virtual User (validated clean) that they want to load-test.
  • The need for user-perceived metrics during the test, not just server-side HTTP metrics — typically because the front-end is JS-heavy (SPA, React/Vue/Angular) and HTTP timings miss the client-side render cost.
  • Optionally, an SLA framed around browser metrics (e.g. "TTFB < 200 ms AND LCP < 2.5 s under 50 concurrent users").

If the user just wants HTTP load (no UX measurement) → stick to run_scenario on the JMeter VU. If the user wants only browser testing without a load backdrop → just create the Playwright VU without the JMeter one.

Steps

1. Decide: direct translation vs codegen capture

Read the source JMeter VU's action tree:

mcp__octoperf__get_virtual_user(virtualUserId)

Classify the flow:

Flow shape Path
Linear navigation + simple forms (≤ 20 HTTP actions) Step 2 (direct translation)
Auth report items, OAuth popups, file uploads, iframe-heavy SPA, JS-driven canvas Step 2-bis (playwright codegen)
Mixed: most simple, a few complex steps Direct translation, leave // TODO codegen markers for the complex blocks

Read the full file on GitHub · 340 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. 12d ago First seen · 340 lines · 170 tokens per session scan A 0bad91a92f10

Subscribe to this mod's changes

octoperf-real-browser-probe is a skill published in the GitHub repository OctoPerf/octoperf-claude-plugins (0 stars, last pushed 5d ago), licensed Apache-2.0. It adds 170 tokens to every session and 4,048 once invoked, about $0.0009 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-08-31.

Related

Other skills, from other repositories

anti-detect-browser

Drive Chromium from standard Playwright APIs with a real-device fingerprint applied in the kernel, one persistent isolated profile per identity, and a per-profile proxy whose exit IP sets timezone and WebRTC - JavaScript (npm 'anti-detect-browser') or Python (PyPI 'antibrow'). Use when sessions must stay logged in…

antibrow/anti-detect-browser-skills · 222 tokens

tauri-mcp-cli

Use the Tauri MCP CLI to start and recover driver sessions, automate Tauri webviews, capture UI state, debug IPC, and work with mobile or remote devices. Use whenever an agent needs to operate a Tauri v2 app from terminal commands.

hypothesi/mcp-server-tauri · 57 tokens

browser-mcp-agent

Give an AI agent its own real browser over MCP tool calls - launch, navigate, click, fill, screenshot, extract text, run JS - with a kernel-level real-device fingerprint and a persistent profile, so the session stays logged in between runs and pages see one coherent device instead of a headless build. No Playwright or…

antibrow/anti-detect-browser-skills · 216 tokens

multi-account-isolation

Verify that browser profiles are actually isolated from one another instead of assuming it - confirm each profile's timezone agrees with its own exit IP, that WebRTC exposes only the proxy, that canvas and WebGL hashes stay identical across relaunches of one profile, and that no two profiles share a persona, a cookie…

antibrow/anti-detect-browser-skills · 220 tokens

multi-account-scraping

Run the same scrape or task across many accounts at once - each in its own browser profile with its own fingerprint, cookies and exit IP - and read data from sites that need a session or that answer a plain HTTP scraper with a captcha while answering a real browser. One command per site returns JSON, so there are no…

antibrow/anti-detect-browser-skills · 201 tokens

vibesurfer

Agent-native headless browser. 26 primitives over a Unix-socket wire protocol. Real WKWebView (macOS), WebKitGTK 6 (Linux), or WebView2 (Windows) — all three engines verified per-commit by a real-browser integration suite. Optimistic concurrency via state tokens; tree-delta wire format; durable session/page/auth state…

frane/vibesurfer · 81 tokens