Skip to main content
This cookbook is inspired by Mario Zechner’s “What if you don’t need MCP?”, adapted into a reusable Factory skill so teams can share lightweight browser helpers without standing up new services.
The browser skill bundles a handful of executable scripts (start.js, nav.js, eval.js, screenshot.js, pick.js) plus a concise SKILL.md. Together they give Factory Droids a reliable way to spin up Chrome on port 9222, drive an existing tab, scrape structured data, and capture visual evidence while staying entirely on the developer machine.

When to use this skill

  • You need real-browser context (authenticated sessions, production-only behavior, visual regressions) to complete a task.
  • You want to inspect or extract DOM state without building a dedicated MCP server.
  • You must capture screenshots or DOM element metadata as part of QA notes, bug triage, or documentation.
  • You prefer a portable, git-tracked bundle that any teammate can run locally with zero additional infrastructure.

What the scripts provide

All scripts rely on puppeteer-core and connect to a Chrome instance that you control. Because everything runs locally, existing cookies and auth tokens never leave your machine.

Setup

1

Create the skill folder

Run mkdir -p .factory/skills/browser.
2

Copy scripts and package metadata

Copy start.js, nav.js, eval.js, screenshot.js, pick.js, and package.json into .factory/skills/browser/ (or symlink to a shared dotfiles repo).
3

Install dependencies

Run npm install --prefix .factory/skills/browser puppeteer-core, then chmod +x .factory/skills/browser/*.js.
4

Restart Droid

Restart droid (or your IDE integration) so it rescans workspace skills and discovers browser.

Skill definition

Copy the following into .factory/skills/browser/SKILL.md: