From 6ab4634b4420d9c8505ab2b1f6f7c6ab9bb57bbb Mon Sep 17 00:00:00 2001 From: vitya Date: Mon, 10 Aug 2026 23:17:12 +0300 Subject: [PATCH] =?UTF-8?q?feat(browser-cdp):=20=D1=81=D0=BA=D0=B8=D0=BB?= =?UTF-8?q?=20=D0=B4=D0=BB=D1=8F=20CDP-=D1=82=D1=83=D0=BB=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=B8=D0=B7=20.common=20(=D0=B2=D0=B5=D0=B1-=D0=B0=D0=B2=D1=82?= =?UTF-8?q?=D0=BE=D0=BC=D0=B0=D1=82=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=B1=D0=B5=D0=B7=20MCP)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- skills/browser-cdp/SKILL.md | 41 +++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 skills/browser-cdp/SKILL.md diff --git a/skills/browser-cdp/SKILL.md b/skills/browser-cdp/SKILL.md new file mode 100644 index 0000000..275cc18 --- /dev/null +++ b/skills/browser-cdp/SKILL.md @@ -0,0 +1,41 @@ +--- +name: browser-cdp +version: 0.1.0 +description: > + Веб-автоматизация через минимальные CDP CLI-тулы в bash — вместо playwright-mcp + / Chrome-DevTools-MCP (подход «what if you don't need MCP»). Запуск Chrome с remote + debugging, навигация, eval JS, скриншоты. Trigger: «браузер», «скрейпинг», «открой + страницу», «перейди на», «сделай скриншот», «playwright», «веб-автоматизация», + «web scraping», «browser». +--- + +# browser-cdp + +Минимальный набор браузерных тулов через bash + CDP, ноль зависимостей и ноль MCP-оверхеда. + +## Когда использовать + +Браузерная работа со страницами: открыть/навигировать, выполнить JS в контексте страницы, +снять скриншот, собрать данные (скрейпинг). Использовать **вместо** playwright-mcp или +Chrome-DevTools-MCP. + +## Процесс + +1. **Прочитай полную справку** (обязательно, первый шаг): + `read ~/projects/.common/scripts/browser/README.md` — там все тулы, примеры и ограничения. +2. **Старт** (если CDP ещё не поднят): `node ~/projects/.common/scripts/browser/start.js` + — идемпотентно, повторный вызов просто подтверждает. +3. Работай через bash из любой директории: + - `node ~/projects/.common/scripts/browser/nav.js [--new]` + - `node ~/projects/.common/scripts/browser/eval.js ''` — результат JSON в stdout + - `node ~/projects/.common/scripts/browser/screenshot.js [out.png] [--full]` + - `node ~/projects/.common/scripts/browser/list.js` — вкладки (диагностика) +4. **Композиция:** результат eval'а можно перенаправлять в файл и обрабатывать дальше + (`> /tmp/data.json`), скриншот читать через `read` (PNG как изображение). + +## Правила + +- Никаких `curl`-эмуляций браузера: если нужен JS/рендер/локальная сессия — только эти тулы. +- Не открывай второй Chrome поверх уже работающего: `start.js` идемпотентен, повторный вызов безвреден. +- Если `eval.js` падает с `Exception:` — исправляй выражение (часто нужно `JSON.stringify(...)` внутри, т.к. `returnByValue`). +- Один тул — одно действие. Не пиши «веб-скрейпинг-скрипт», собирай из тулов.