# Web Automation Consolidation Design ## Goal Consolidate `playwright-safe` into `web-automation` so the repo exposes a single web skill. Keep the proven one-shot extractor behavior, rename it to `extract.js`, and remove the separate `playwright-safe` skill and docs. ## Architecture `web-automation` remains the only published skill. It will expose two capability bands under one skill: one-shot extraction via `scripts/extract.js`, and broader stateful automation via the existing `auth.ts`, `browse.ts`, `flow.ts`, and `scrape.ts` commands. The one-shot extractor will keep the current safe Playwright behavior: single URL, JSON output, bounded stealth/anti-bot handling, and no sandbox-disabling Chromium flags. ## Migration - Copy the working extractor into `skills/web-automation/scripts/extract.js` - Update `skills/web-automation/SKILL.md` and `docs/web-automation.md` to describe both one-shot extraction and full automation - Remove `skills/playwright-safe/` - Remove `docs/playwright-safe.md` - Remove README/doc index references to `playwright-safe` ## Verification - `node skills/web-automation/scripts/extract.js` -> JSON error for missing URL - `node skills/web-automation/scripts/extract.js ftp://example.com` -> JSON error for invalid scheme - `node skills/web-automation/scripts/extract.js https://example.com` -> valid JSON result with title/status - Repo text scan confirms no remaining published references directing users to `playwright-safe` - Commit, push, and clean up the worktree