browser-cli_skill

This skill lets you control Firefox from the command line to automate web tasks, inspect pages, and perform testing with simple commands.
  • JavaScript

8

GitHub Stars

1

Bundled Files

2 months ago

Catalog Refreshed

4 months ago

First Indexed

Readme & install

Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.

Installation

Preview and clipboard use veilstrat where the catalogue uses aiagentskills.

npx veilstrat add skill mic92/mics-skills --skill browser-cli

  • SKILL.md4.2 KB

Overview

This skill lets you control a Firefox browser from the command line for web automation, scraping, testing, and interactive browser tasks. It exposes a JavaScript-based CLI execution environment with high-level actions for navigation, element interaction, snapshots, reader-mode extraction, downloads, waiting, and screenshots. Use it to script flows, inspect page state with stable refs, and integrate browser operations into pipelines or agent workflows.

How this skill works

Commands are sent to a running Firefox instance and executed in a tab context. snap() produces a readable snapshot with numeric refs you can use with click(), type(), drag(), select(), and other interaction functions. Higher-level helpers include read() for article extraction, wait() for synchronization, download() for saving assets, and shot() for screenshots. Actions return confirmations; use snap(), diff(), or logs() to inspect state and results.

When to use it

  • Automated form filling and multi-step web flows
  • Web scraping where human-like interactions are required (clicks, waits, drags)
  • End-to-end or integration testing of web apps from the CLI
  • Extracting readable article content for downstream processing
  • Capturing screenshots or downloads as part of a pipeline
  • Interactive debugging of page behavior using snapshots and console logs

Best practices

  • Call snap() frequently to get stable refs before interacting with elements
  • Prefer numeric refs from snapshot output (e.g., click(3)) for reliability over fragile selectors
  • Use wait('idle') or wait('text', ...) to synchronize with dynamic content before snapping or asserting
  • Use read({maxLength}) to limit extracted article size when feeding LLMs
  • Store downloads to a known path and check confirmations returned by download()
  • Run repetitive flows inside a single tab session to reduce overhead of opening/closing tabs

Example use cases

  • Automate login and form submission: open page, snap(), type() into inputs, click submit, wait('text','Success')
  • Scrape content behind interactive UI: navigate, click pagination, snap() for stable refs, extract structured text
  • Convert articles to plain text at scale: navigate then read({maxLength:5000}) to get LLM-friendly content
  • Visual regression or reporting: navigate, shot('/tmp/page.png') and compare images in CI
  • Download assets from pages: find link href and download(url, 'invoice.pdf') to collect files programmatically

FAQ

Yes. The CLI controls a managed Firefox instance. The tool manages tabs and execution contexts but requires the browser process it controls.

How do I reliably target elements?

Use snap() to get numeric refs and then call actions with those refs. You can also use CSS selectors or text selectors when refs are not available.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational