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 mysleekdesigns/crawlforge-mcp --skill crawlforge-browser-sessionsgit clone --depth 1 https://github.com/mysleekdesigns/crawlforge-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/mysleekdesigns/crawlforge-mcp/crawlforge-browser-sessions)<a href="https://agentmods.dev/skills/mysleekdesigns/crawlforge-mcp/crawlforge-browser-sessions"><img src="https://agentmods.dev/badge/skills/mysleekdesigns/crawlforge-mcp/crawlforge-browser-sessions/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/mysleekdesigns/crawlforge-mcp/crawlforge-browser-sessions"><img src="https://agentmods.dev/badge/skills/mysleekdesigns/crawlforge-mcp/crawlforge-browser-sessions.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.00152 | $0.02061 |
| Opus 5.5 | $0.00061 | $0.00824 |
| Sonnet 5.5 | $0.00030 | $0.00412 |
| Haiku 4.5 | $0.00015 | $0.00206 |
Grade A, and why
crawlforge-browser-sessions 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 5d 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 — 179 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CrawlForge Browser Sessions
Drive a real browser across several calls. browser_session keeps one page —
its cookies, its login, whatever it has already clicked — alive between calls, so
you can look at the page, act, and look again, instead of guessing a whole chain
of CSS selectors for a page you have never seen.
When to use
- Log in once, then read several pages behind the login → session.
- You do not know what is on the page yet — observe, then act → session.
- A flow that spans more than one tool call (wizard, filters, pagination, multi-step form) → session.
- A known, fixed action chain on one page →
scrape_with_actionsinstead: one call, 5 credits, browser closed for you (see crawlforge-batch-automation). - A page that renders without interaction →
scrape(2 credits, see crawlforge-web-scraping).
The loop
open → snapshot → act on the refs → (snapshot again after a navigation)
→ read → close.
{ "tool": "browser_session", "params": { "operation": "open", "url": "https://app.example.com/login" } }
Returns a sessionId every later call passes as session_id, plus expiresAt
and idleExpiresAt.
{ "tool": "browser_session", "params": { "operation": "snapshot", "session_id": "<id>" } }
Returns an accessibility tree with a stable ref on every interactive element:
[document] "Sign in"
@e1 [textbox] "Email"
@e2 [textbox] "Password"
@e3 [button] "Sign in"
Act on those refs — a ref goes in selector, exactly where a CSS selector would:
{
"tool": "browser_session",
"params": {
"operation": "act",
"session_id": "<id>",
"actions": [
{ "type": "type", "selector": "@e1", "text": "[email protected]" },
{ "type": "type", "selector": "@e2", "text": "hunter2" },
{ "type": "click", "selector": "@e3" },
{ "type": "wait", "duration": 2000 }
]
}
}
actions is the same array scrape_with_actions takes: wait, click,
type, press, scroll, select, hover, navigate, screenshot,
snapshot, executeJavaScript. 1–20 per call; continue_on_error: true keeps
going past a failed one.
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.
- 5d ago Changed 0ec0abb94181
- 1mo ago First seen · 179 lines · 152 tokens per session scan A 3ce851c8a0fe
crawlforge-browser-sessions is a skill published in the GitHub repository mysleekdesigns/crawlforge-mcp (2 stars, last pushed 5d ago), licensed MIT. It adds 152 tokens to every session and 2,061 once invoked, about $0.0006 per session on Opus 5.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-13.
Other skills, from other repositories
nimble-web-expert
Get web data now — fast, incremental, immediately responsive to what the user needs. The only way Claude can access live websites. USE FOR: Fetching any URL or reading any webpage Scraping prices, listings, reviews, jobs, stats, docs from any site Running Extraction Templates — reusable, site-specific structured…
chrome-devtools
Use Chrome DevTools MCP to control and inspect a live Chrome instance for network, console, performance, rendering, and Deep debugging. Pairs with playwright-cli (deterministic interaction/E2E) — complements, not duplicates.
playwright-cli
Drive a real browser from the terminal using the Playwright CLI (snapshot, click, fill, screenshots, traces). Use when the task is CLI-first browser automation (data extraction, UI debugging, form fills, multi-tab work). For Playwright test specs, use e2e-runner instead.
crw-dynamic-search
Programmatic web search and scrape with context isolation. Use for any research task where you need to search the web, filter results, and extract specific information — without flooding your context window with raw HTML and boilerplate. This is the single biggest token-saver in the crw skill set. Triggered by "search…
crw
Scrape, crawl, map, and search the web using fastCRW's native /v1 API. Use when the user needs web page content, site-wide extraction, URL discovery, or web search results. Single binary, 14 MB RAM; /v2 exists separately for Firecrawl migration.
crw
Scrape, crawl, map, and search the web using fastCRW's native /v1 API. Use when the user needs web page content, site-wide extraction, URL discovery, or web search results. Single binary, 14 MB RAM; /v2 exists separately for Firecrawl migration.