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/lexmount/browseruse-agent-bench/custom-agent-creatornpx skills add lexmount/browseruse-agent-bench --skill custom-agent-creatorgit clone --depth 1 https://github.com/lexmount/browseruse-agent-benchWrote 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/lexmount/browseruse-agent-bench/custom-agent-creator)<a href="https://agentmods.dev/skills/lexmount/browseruse-agent-bench/custom-agent-creator"><img src="https://agentmods.dev/badge/skills/lexmount/browseruse-agent-bench/custom-agent-creator.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.00079 | $0.05532 |
| Opus 5 | $0.00039 | $0.02766 |
| Sonnet 5 | $0.00016 | $0.01106 |
| Haiku 4.5 | $0.00008 | $0.00553 |
Grade A, and why
custom-agent-creator 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 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.
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 — 506 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Custom Agent Creation and Integration
Minimum Inputs
- Confirm Agent name (registry key used in configs/agent_registry.yaml and root config.yaml)
- Confirm Python module name (browseruse_bench/agents/.py)
- Confirm supported benchmarks (e.g., Online-Mind2Web / BrowseComp / LexBench-Browser)
- Collect external docs URL(s); read and extract usable SDK/API details
- Define config keys (model_id, api_key, base_url, timeout, SDK-specific options)
- Agent runtime config lives in root config.yaml under agents:<agent_name>; model/provider parameters are read from agent_config and injected into SDK constructors directly
Required References
- browseruse_bench/agents/init.py (check existing imports before adding)
- configs/agent_registry.yaml (check existing agent registrations)
Load when needed (do NOT read upfront)
- references/custom-agent-integration.md — SDK integration patterns
- browseruse_bench/agents/base.py — BaseAgent method signatures
- browseruse_bench/agents/registry.py — @register_agent internals
- browseruse_bench/runner/agent_runner.py — runner entrypoint conventions
- browseruse_bench/cli/run.py — extra dependency mapping
- browseruse_bench/utils/venv.py — install_agent_dependencies (supports requirements_file)
- browseruse_bench/agents/browser_use.py — simple agent reference example
- browseruse_bench/agents/agent_tars.py — subprocess-based agent example
- browseruse_bench/agents/skyvern.py — async/CDP agent example
- docs/en/agents/custom-agent.mdx — user-facing docs template
- docs/zh/agents/custom-agent.mdx — Chinese docs template
Standard Workflow
- Create module:
- browseruse_bench/agents/<agent_module>.py
- Implement BaseAgent subclass:
- Add from future import annotations
- PEP8 import order: stdlib → third-party → local
- Use typing annotations (Dict, Any, Path)
- Do not use print(); use logger
- Do not use sys.path.insert
- Read all configurable values from agent_config (no hardcoding)
- Pass model/provider parameters from agent_config directly into SDK constructors (avoid relying solely on environment variables)
- If the upstream SDK has a hardcoded/whitelist model check, do not expose that limitation directly to browseruse-bench users when it can be avoided:
use a provider-native bootstrap/default model only for SDK initialization, and after initialization replace the SDK's runtime inference client/engine with your own wrapper that honors the configured
model_id,api_key, andbase_url - Resolve paths with REPO_ROOT when touching files
- Register module import:
- Add
from browseruse_bench.agents import <agent_module> # noqa: F401to browseruse_bench/agents/init.py
- Add
- Register agent in configs/agent_registry.yaml:
- path: browseruse_bench/agents
- entrypoint: browseruse_bench/runner/agent_runner.py
- venv: .venv (or .venvs/ if it needs an isolated environment)
- supported_benchmarks: [...]
- Add runtime config to root config.yaml under agents:<agent_name>:
- active_model: <default_model_key>
- models: { <model_key>: { model_id, api_key, base_url, ... } }
- browser: { browser_id, ... } (if the agent uses a browser)
- defaults: { timeout, max_steps, ... }
- Add dependencies — two paths depending on whether the agent's deps conflict with core:
What ships with it
1 file 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.
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 · 506 lines · 79 tokens per session scan A 8b1b08137c15
custom-agent-creator is a skill published in the GitHub repository lexmount/browseruse-agent-bench (19 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 79 tokens to every session and 5,532 once invoked, about $0.0004 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-30.
Other skills, from other repositories
ceo-setup
One-time onboarding for the executive/manager commitment workflow — delegation-heavy, meeting prep, decision capture, morning and evening digests. Creates a commitments project and installs two dashboard widgets. After successful setup this skill is excluded from selection until the marker file is deleted.
developer-setup
One-time onboarding for the developer workflow — installs github-workflow missions, creates the commitments workspace, registers per-repo projects, writes calibration memories. After successful setup this skill is excluded from selection until the marker file is deleted.
portfolio
Cross-chain DeFi portfolio discovery, rebalancing suggestions, and NEAR Intent construction. Activates when the user pastes a wallet address or asks about yield/positions/rebalancing. Bootstraps a per-user "portfolio" project, aggregates positions across all the user's addresses inside one project, and offers a…
code-review
Paranoid architect review of code changes for bugs, security, missing tests, and undocumented assumptions. Works on local git diffs OR a GitHub pull request (e.g. owner/repo N). For PRs, can post findings as line-level review comments.
commitment-setup
One-time setup for the commitments tracking system. Creates workspace structure, schema docs, and installs triage and digest missions. Excluded from activation once projects/commitments/README.md exists in the workspace (the file this skill writes as its first step).
content-creator-setup
One-time onboarding for the content creator workflow — content pipeline stages, trend expiration, cross-platform cascades, heavy idea parking. After successful setup this skill is excluded from selection until the marker file is deleted.