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 NovadaLabs/Novada-mcp --skill novada-browsergit clone --depth 1 https://github.com/NovadaLabs/Novada-mcpWrote 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/novadalabs/novada-mcp/novada-browser)<a href="https://agentmods.dev/skills/novadalabs/novada-mcp/novada-browser"><img src="https://agentmods.dev/badge/skills/novadalabs/novada-mcp/novada-browser/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/novadalabs/novada-mcp/novada-browser"><img src="https://agentmods.dev/badge/skills/novadalabs/novada-mcp/novada-browser.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.00000 | $0.00659 |
| Opus 5.5 | $0.00000 | $0.00264 |
| Sonnet 5.5 | $0.00000 | $0.00132 |
| Haiku 4.5 | $0.00000 | $0.00066 |
Grade A, and why
novada-browser 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 2mo 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 — 77 lines — stays where its author put it; the contents beside it link to each section on GitHub.
novada_browser — Cloud Browser Automation Skill
When to use: Interactive flows requiring clicks, form fills, login, or chaining multiple page interactions.
Requires: NOVADA_BROWSER_WS environment variable.
Action reference
| Action | Required params | Use case |
|---|---|---|
| navigate | url, wait_until | Go to URL |
| click | selector | Click element |
| type | selector, text | Type into input |
| screenshot | — | Capture visual |
| aria_snapshot | — | Get ARIA tree (structural, token-efficient) |
| evaluate | script | Run JS in page context |
| wait | selector?, timeout | Wait for element or time |
| scroll | direction | Scroll page |
| hover | selector | Hover over element |
| press_key | key, selector? | Press keyboard key |
| select | selector, value | Choose dropdown option |
| close_session | — | Release session resources |
Chaining actions (max 20 per call)
{
"actions": [
{"action": "navigate", "url": "https://example.com/login", "wait_until": "domcontentloaded"},
{"action": "type", "selector": "#email", "text": "[email protected]"},
{"action": "type", "selector": "#password", "text": "secret"},
{"action": "click", "selector": "button[type=submit]"},
{"action": "wait", "selector": ".dashboard", "timeout": 10000},
{"action": "aria_snapshot"}
]
}
Session management
Use session_id to maintain state across calls:
// First call — establishes login session
{"actions": [...login actions...], "session_id": "my-session-1"}
// Second call — reuses cookies/state
{"actions": [{"action": "navigate", "url": "https://example.com/data"}, {"action": "aria_snapshot"}], "session_id": "my-session-1"}
Sessions expire after 10 min of inactivity. Call close_session to release early.
Key rules
- Use
wait_until: "domcontentloaded"— NEVERnetworkidlefor SPAs (TikTok, X, React apps never reach networkidle → 30s timeout) - Prefer
aria_snapshotoverscreenshot— 10x more token-efficient, parseable by agents - The
countryparam is accepted but NOT yet applied to the browser exit node — do not rely on it for geo-restricted sites
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.
- 2mo ago First seen · 77 lines · 0 tokens per session scan A f45c914ead0a
novada-browser is a skill published in the GitHub repository NovadaLabs/Novada-mcp (3 stars, last pushed today), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 659 tokens. 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.
novada-browser compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| novada-browserNovadaLabs/Novada-mcp | Skill | 3 | today | MIT | A | 0 | Claude Code, Codex |
| web-readingellmos-ai/skills | Skill | 9 | 4d ago | MIT | A | 56 | Claude Code, Codex |
| crawl4ai-skilllancelin111/crawl4ai-skill | Skill | 17 | 8mo ago | MIT | A | 63 | Claude Code, Codex |
| x402browser-use/browser-use | Skill | 120k | yesterday | MIT | A | 175 | Claude Code |
| browser-usebrowser-use/browser-use | Skill | 120k | yesterday | MIT | A | 57 | Claude Code, Codex |
| blocked-page-recoveryNousResearch/hermes-agent | Skill | 261k | yesterday | MIT | A | 25 | Claude Code, Codex |
| playwrightopenai/openai-agents-python | Skill | 31k | yesterday | MIT | A | 19 | Claude Code, Codex |