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.
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
| Script | Purpose | Typical usage |
|---|---|---|
start.js | Launches Chrome with remote debugging on :9222, with optional profile sync via --profile. | ~/.factory/skills/browser/start.js --profile |
nav.js | Navigates the active tab or opens a new tab when --new is passed. | ~/.factory/skills/browser/nav.js https://example.com --new |
eval.js | Runs arbitrary JavaScript (async supported) in the focused tab and prints structured results. | ~/.factory/skills/browser/eval.js "document.title" |
screenshot.js | Captures the current viewport to a timestamped PNG stored under $TMPDIR. | ~/.factory/skills/browser/screenshot.js |
pick.js | Injects a visual picker so you can click DOM nodes and return tag/id/class/text metadata. | ~/.factory/skills/browser/pick.js "Click the submit button" |
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:
