feat(browser-cdp): скил для CDP-тулов из .common (веб-автоматизация без MCP)

This commit is contained in:
2026-08-10 23:17:12 +03:00
parent 07e782040d
commit 6ab4634b44

View File

@@ -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 <url> [--new]`
- `node ~/projects/.common/scripts/browser/eval.js '<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`).
- Один тул — одно действие. Не пиши «веб-скрейпинг-скрипт», собирай из тулов.