plugins marketplace
← All plugins

web

v1.0.0

Browser automation and web page analysis skills using playwright-cli: connect via CDP, probe CDN bot protection, dismiss overlays, capture spatial DOM trees, reduce pages to skeletons, and extract structured page resources.

Claude Code9 skills

by AdobeApache-2.0162updated 1 day ago

Source

git clone https://github.com/adobe/skills

Clone the source, then follow the repository's marketplace instructions for your runtime. The plugin root is plugins/web/ inside the repository.

Layout

plugins/web/
├── .claude-plugin/plugin.json
├── skills/browser-probe/SKILL.md
├── skills/cdp-connect/SKILL.md
├── skills/cdp-ext-pilot/SKILL.md
├── skills/domain-mask/SKILL.md
├── skills/page-collect/SKILL.md
├── skills/page-langs/SKILL.md
├── skills/page-prep/SKILL.md
├── skills/page-reduce/SKILL.md
└── skills/page-tree/SKILL.md

Skills9

browser-probeskills/browser-probe/SKILL.md

Probe a URL with escalating headless browser configurations to detect CDN bot protection (Akamai, Cloudflare, DataDome, AWS WAF) and produce a browser-recipe.json that downstream playwright-cli consumers use to bypass blocking. Runs an automated escalation ladder: default headless → stealth script injection → system Chrome (TLS fingerprint fix) → persistent profile. Use BEFORE any playwright-cli interaction with an untrusted domain. Triggers on: browser probe, site blocked, headless blocked, CDN blocking, bot detection, browser recipe, can't load page, 403 error page, access denied.

cdp-connectskills/cdp-connect/SKILL.md

Connect Claude Code to an existing Chrome browser via CDP (Chrome DevTools Protocol). Zero dependencies — uses Node 22 built-in WebSocket. Attach to any Chrome running with --remote-debugging-port, then navigate, click, type, screenshot, evaluate JS, read accessibility tree, and monitor console/network. Use when you need to interact with a browser the agent already started, control an existing Chrome instance, or drive browser automation without Playwright MCP. Triggers on: cdp connect, connect to browser, connect to chrome, attach to browser, interact with browser, drive browser, browser automation, control chrome, connect 9222.

cdp-ext-pilotskills/cdp-ext-pilot/SKILL.md

Launch Chrome with an unpacked extension and test its UI via CDP. Auto-installs Chrome for Testing if needed. Loads the extension, opens sidepanel/popup/options page, and hands off to cdp-connect for interaction (click, type, screenshot, ax-tree). Handles Chrome 137+ branded build restrictions (Extensions.loadUnpacked via pipe), sidepanel user gesture requirements, and React input quirks. Use when you need to test a Chrome extension's UI, automate extension interactions, or validate extension behavior on a target page. Triggers on: chrome extension test, test extension, load unpacked extension, extension sidepanel, extension popup, test chrome extension, extension testing, chrome extension automation, ext pilot, cdp extension.

domain-maskskills/domain-mask/SKILL.md

Mask a URL behind a custom domain for demos and recordings. Adds a trusted HTTPS reverse proxy so the browser shows a clean display domain with a green padlock while serving content from the real target URL. Handles /etc/hosts, mkcert certificates, and cleanup automatically. Triggers on: "domain mask", "mask domain", "mock domain", "proxy URL", "demo URL", "fake domain", "demo proxy", "mask URL for demo", "domain-mask".

page-collectskills/page-collect/SKILL.md

Extract structured resources (icons, metadata, text, forms, videos, social links) from any webpage using playwright-cli. Supports individual collectors via subcommands (icons, metadata, text, forms, videos, socials) or all at once. The icon collector classifies SVGs as icon/logo/image based on size and DOM context, optimizes them for EDS, and outputs to /icons/ for use with decorateIcons(). Use when migrating pages, auditing sites, or extracting assets.

page-langsskills/page-langs/SKILL.md

Detect all languages used on a webpage — both declared (html@lang, hreflang alternate links, nested lang= attributes, meta content-language) and actually present in the body text (Google CLD3 via cld3-asm WASM). Reconciles the two signal sets and flags mismatches such as undeclared languages in the body or declared languages absent from the content. Outputs langs.json with detected languages (probability + proportion), all declared language signals, and a reconciliation report. Use for i18n audits, EDS page migrations, hreflang validation, and multilingual content verification. Triggers on: detect languages, page languages, what language, language detection, i18n audit, hreflang, hreflang validation, lang attribute, multilingual page, page-langs, language audit, which language, content language, undeclared language.

page-prepskills/page-prep/SKILL.md

Prepare any webpage for clean interaction by detecting and removing disruptive overlays (cookie banners, GDPR consent, modals, popups, newsletter signups, paywalls, login walls). Uses a cached database of 300+ known CMPs (Consent-O-Matic + EasyList) combined with heuristic DOM scanning. Injects a self-contained script via playwright-cli. ALWAYS use this skill before taking screenshots, scraping content, or automating interaction on any webpage that might have overlays blocking the view or preventing interaction. Triggers on: page prep, clean page, remove overlays, dismiss cookie banner, page blocked, overlay cleanup, consent banner, prepare page, unblock page, clear popups, cookie popup.

page-reduceskills/page-reduce/SKILL.md

Reduce a webpage to a structural skeleton with semantic tokens. Two-phase pipeline: Phase 1 injects a browser script that tokenizes content ({TEXT}, {HEADING:n}, {IMAGE:WxH}, {CTA:label}, {LINK:label}, {INPUT:type}, {VIDEO}, {ICON}). Phase 2 applies LLM structural reasoning to collapse repeated patterns ({REPEAT:N}), remove decorative wrappers, strip utility classes, and produce skeleton.html + manifest.json. Use when migrating pages to EDS, analyzing page structure, extracting page blueprints, or preparing input for GenAI block generation. Triggers on: reduce page, page skeleton, page blueprint, extract structure, tokenize page, page reduction, structural skeleton, reduce URL.

page-treeskills/page-tree/SKILL.md

Capture a spatial hierarchy of rendered DOM elements from any webpage. Injects a pre-built script via playwright-cli that walks the DOM, detects layout grids, extracts backgrounds, prunes invisible nodes, promotes elements rendered outside their DOM parent (overlays, fixed navs, modals), and tags overlay nodes with occlusion metadata. Returns three outputs: LLM-friendly indented text, structured JSON tree, and a nodeMap mapping positional IDs to CSS selectors with background and overlay data. Use before page decomposition, overlay detection, brand extraction, or any workflow that needs structured page analysis. Triggers on: visual tree, capture tree, page structure, page hierarchy, DOM tree, capture visual, page analysis, extract tree.

Manifests1

plugins/web/.claude-plugin/plugin.json
{
  "name": "web",
  "description": "Browser automation and web page analysis skills using playwright-cli: connect via CDP, probe CDN bot protection, dismiss overlays, capture spatial DOM trees, reduce pages to skeletons, and extract structured page resources.",
  "version": "1.0.0",
  "author": {
    "name": "Adobe"
  },
  "repository": "https://github.com/adobe/skills",
  "license": "Apache-2.0",
  "keywords": [
    "browser",
    "playwright",
    "cdp",
    "web-scraping",
    "page-analysis",
    "automation"
  ]
}