browser-mate/SKILL.md
Use when automating a real, logged-in Chrome WITHOUT disturbing the user's open tabs — e.g. authenticated sessions like ChatGPT, LinkedIn, or any site needing a persistent login. Launches or reuses a dedicated debug Chrome instance per named profile that coexists with the user's main browser; it never quits or kills any browser (unlike real-browser, which closes Chrome Beta's tabs). Trigger on "automate this site without closing my tabs", "use my logged-in session", "open ChatGPT/LinkedIn in automation", or when a browser task must preserve the user's existing windows. macOS, requires the agent-browser CLI.
npx skillsauth add glebis/claude-skills browser-mateInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Non-destructive Chrome automation. The problem it solves: to attach a CDP/agent-browser
session, Chrome must run with --remote-debugging-port. The real-browser skill achieves
this by quitting Chrome Beta first, destroying the user's open tabs. browser-mate
instead runs a dedicated debug Chrome instance (its own --user-data-dir + port) that
coexists with the user's main browser — Chrome permits concurrent instances when the
data dirs differ, so no quit is needed.
Never quit, pkill, or osascript quit any browser. The skill only ever launches a
new dedicated instance or reuses an existing one. The single stop path sends SIGTERM only
to a process matched by BOTH our dedicated user_data_dir AND our debug port — never the
user's browser.
# Ensure a profile's debug Chrome is up (launch or reuse); prints the PORT on stdout
PORT=$(python3 scripts/browser.py chatgpt)
# Then drive it with agent-browser (always pass --cdp $PORT). See references/agent-browser.md
SID=$(LC_ALL=C tr -dc 'a-z0-9' < /dev/urandom | head -c 6)
agent-browser --cdp $PORT --session $SID open "https://chatgpt.com/"
agent-browser --cdp $PORT --session $SID snapshot -i
Other subcommands:
python3 scripts/browser.py list # configured profiles
python3 scripts/browser.py status [profile] # up/down
python3 scripts/browser.py stop chatgpt # SIGTERM OUR instance only (graceful)
For the full agent-browser command set (click, fill, upload, screenshot, reliability,
upgrade gotchas), read references/agent-browser.md.
Config: ~/.config/browser-mate/profiles.json (auto-created from assets/profiles.example.json
on first run). Each profile:
{ "default": "automation",
"profiles": {
"automation": { "binary": "<chrome binary>", "user_data_dir": "~/.browser-mate/automation", "port": 9222 },
"chatgpt": { "binary": "<chrome binary>", "user_data_dir": "~/.browser-mate/chatgpt", "port": 9223, "default_url": "https://chatgpt.com/" }
} }
user_data_dir
(the launcher validates uniqueness and refuses dirs that point at the user's real Chrome
profile).Cannot enter passwords (and must not). For a first-time login, launch the profile, then ask
the user to log in manually in that window once; the session persists in the profile's
user_data_dir for all future runs.
127.0.0.1 (Chrome default). CDP has no auth
— anyone local can drive it. Use on trusted machines; never pass --remote-debugging-address.user_data_dir must never be the user's real Chrome
profile (~/Library/Application Support/Google/Chrome*) — the launcher refuses these.real-browser's launch step; interaction still uses agent-browser.data-ai
--- name: disk-cleanup description: Scan and clean macOS caches, package-manager data, crash dumps, and app caches to reclaim disk space. Deterministic — a config registry (targets.json) plus two scripts (survey.py read-only, clean.py executor) do all the measuring and deleting; the agent only relays a compressed summary and makes the few human-judgment calls. IMPORTANT — use this skill whenever the user's request on macOS involves: freeing disk space, cleaning/clearing caches, "disk is full", "
development
Generate and edit images using Google's Gemini image generation models (Nano Banana family). Supports style presets, platform-specific sizing (YouTube/slides/blog), variants, image editing via inlineData, reference images for style transfer, and organized output with metadata. Default model is Nano Banana 2 (gemini-3.1-flash-image-preview). Key is auto-decrypted via SOPS.
development
--- name: agency-docs-updater description: End-to-end pipeline for publishing Claude Code lab meetings. Accepts optional args: date (YYYYMMDD, "yesterday", "today") and lab number (e.g. "04"). Examples: "yesterday 04", "20260420 05", "04" (today, lab 04), "" (today, auto-detect lab). --- # Agency Docs Updater Execute ALL steps automatically in sequence. Only pause if a step fails and cannot be recovered. Read `references/learnings.md` before starting for known pitfalls. **Configuration**: pat
tools
This skill should be used when applying proper typography to prose text or files in Russian, English, German, or French — smart quotes per locale («ёлочки», “curly”, „Gänsefüßchen“, « guillemets »), correct dashes (тире, em/en dash, Gedankenstrich, tiret), non-breaking spaces, ranges, ellipsis, and French espaces insécables before ! ? ; :. Fully deterministic via a pinned typograf-based CLI; never apply these rules by hand. Triggers on "типографика", "typograf", "оттипографь", "smart quotes", "fix typography", "неразрывные пробелы".