AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Kasm Browser

skill-mrtrenchtrucker-contak-browser-skills-kasm-browser · by MrTrenchTrucker

Drive a persistent interactive browser via Chrome DevTools Protocol (KASM Chrome)

No reviews yet
0 installs
14 views
0.0% view→install

Install

$ agentstack add skill-mrtrenchtrucker-contak-browser-skills-kasm-browser

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-mrtrenchtrucker-contak-browser-skills-kasm-browser)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Kasm Browser? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

KASM Browser via CDP

When invoked, drive a persistent KASM Chrome browser using Chrome DevTools Protocol. Use this when a flow needs login state, cookies that persist, captcha/2FA, or React-style synthetic events.

Inputs

  • action -- one of: navigate, click, type, screenshot, close_tab, eval
  • url -- target URL (for navigate)
  • selector -- CSS selector (for click, type)
  • text -- text to type (for type)
  • tab_id -- existing tab to target (optional; otherwise pick or create)
  • output_path -- for screenshot action, where to save the PNG

Output

  • screenshot action: file path to PNG.
  • Other actions: status + DOM snapshot or evaluated value.

Steps

  1. Confirm CDP reachable: docker exec curl -s http://localhost:9222/json/version.
  2. List tabs: docker exec curl -s http://localhost:9222/json.
  3. Pick or create the target tab; capture its webSocketDebuggerUrl.
  4. Open a WebSocket to that URL from inside the container.
  5. Send the CDP commands for the action, applying the Human-Speed Rule between every meaningful step.
  6. Capture results (DOM, screenshot, console output).
  7. Close the WebSocket; tidy up any tabs your flow created.

The Human-Speed Rule (mandatory)

Slow IS fast.

  • Minimum 1.5-3 seconds between meaningful actions.
  • Typing: one key at a time, 80-150 ms between keystrokes with jitter. Do NOT blast a full string via input.value = "..." on sites that profile typing cadence.
  • Wait for Page.loadEventFired before queuing a second navigation.
  • Self-imposed rate limit: ~20 CDP calls per 10 seconds.

Bot-detection systems flag burst patterns even when intent is benign. Human-speed pacing is free immunity. Apply regardless of how impatient the user is.

Example: navigate + read title

const sock = new ws(tab.webSocketDebuggerUrl);
// ... open WS, set up send() helper ...
await send("Page.navigate", { url: "https://example.com" });
await new Promise(r => setTimeout(r, 3000));   // human-speed wait
const title = (await send("Runtime.evaluate", { expression: "document.title" })).result.result.value;

Notes

  • CDP is reachable only from inside the container -- always go via docker exec.
  • For full setup, cross-host usage, common recipes, and troubleshooting, see sops/SOP_Interactive_Browser_via_KASM_CDP.md.
  • Always check the target site's Terms of Service before automating against it.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.