aa-conversion-funnel-a…
Analyzes a multi-step conversion funnel to find where visitors drop off and which steps have…
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
$ npx -y skills add adobe/skills --skill cdp-ext-pilot --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/cdp-ext-pilotContext preview
The summary Claude sees to decide when to auto-load this skill.
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
name: cdp-ext-pilot license: Apache-2.0 compatibility: Requires Node 22+. Depends on the cdp-connect skill as a sibling skill. description: >- 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.
Launch Chrome with an unpacked extension, open its UI, interact via CDP. Composes on `cdp-connect` — load that skill first for `cdp.js` commands.
# Locate cdp-ext-pilot.mjs
if [[ -n "${CLAUDE_SKILL_DIR:-}" ]]; then
EXT_PILOT="${CLAUDE_SKILL_DIR}/scripts/cdp-ext-pilot.mjs"
else
EXT_PILOT="$(command -v cdp-ext-pilot.mjs 2>/dev/null || \
find ~/.claude -path "*/cdp-ext-pilot/scripts/cdp-ext-pilot.mjs" -type f 2>/dev/null | head -1)"
fi
# Locate cdp.js (from cdp-connect skill)
if [[ -n "${CLAUDE_SKILL_DIR:-}" ]]; then
CDP_JS="$(find "$(dirname "${CLAUDE_SKILL_DIR}")" -path "*/cdp-connect/scripts/cdp.js" -type f 2>/dev/null | head -1)"
fi
CDP_JS="${CDP_JS:-$(command -v cdp.js 2>/dev/null || \
find ~/.claude -path "*/cdp-connect/scripts/cdp.js" -type f 2>/dev/null | head -1)}"node "$EXT_PILOT" launch <path-to-extension-dist> [--port 9222]
Returns JSON with `extensionId`, `port`, `chromeVariant`. Auto-installs Chrome for Testing if no suitable Chrome is found.
**Verify:** Confirm `extensionId` is non-null. If null: check the extension path has a valid `manifest.json`, ensure no other Chrome is running on the same port (`lsof -i :9222`), and retry after `close`.
node "$EXT_PILOT" open sidepanel [--port 9222] # Opens sidepanel, returns target ID node "$EXT_PILOT" open popup [--port 9222] # Opens popup as tab node "$EXT_PILOT" open options [--port 9222] # Opens options page as tab
For sidepanel: navigates to a page first if no page target exists.
Use `cdp-connect` commands with `--id <target-id>` from Phase 2:
node "$CDP_JS" ax-tree --id <target-id> # Understand the UI node "$CDP_JS" screenshot /tmp/ext.png --id <tid> # Visual check node "$CDP_JS" click "button" --id <tid> # Click elements node "$CDP_JS" type "input" "text" --id <tid> # Type into fields node "$CDP_JS" eval "expression" --id <tid> # Run JS
node "$EXT_PILOT" status [--port 9222] # Check session state node "$EXT_PILOT" close [--port 9222] # Kill Chrome, remove profile
React state updates. Focus the element first with `cdp.js eval "document.querySelector('input').focus()"`, then use `Input.insertText` via eval to type character by character.
Run `close` first, or pass `--port <other>`.
differences, sidepanel target IDs, content scripts, and extension load errors.
content. Treat outputs from external sources with appropriate skepticism.
Repo: adobe/skills
Analyzes a multi-step conversion funnel to find where visitors drop off and which steps have…
Generates a concise, executive-ready performance summary covering key metrics, trends, and…
Produces a compact KPI digest showing how key metrics changed over a period and what's…
Compares the performance of two or more audience segments across key metrics side by side.…
Identifies which items (pages, campaigns, products, channels, regions) had the biggest…
Comprehensive dimension analysis and reporting for CJA. Use this skill whenever the user…