Identify Chrome Devices
hmislk/hmis
Identify and name Chrome instances connected to the Claude-in-Chrome extension under the current Claude account, and persist a stable deviceId - name mapping to a local file outside the repo.
Launches Chrome with an unpacked extension over CDP, opens its sidepanel, popup or options page, and hands over to cdp-connect for clicks, typing and screenshots.
$ npx skills add adobe/skills --skill cdp-ext-pilot -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install adobe/skills cdp-ext-pilot --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/adobe/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/web/skills/cdp-ext-pilot .claude/skills/cdp-ext-pilot && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "cdp-ext-pilot" agent skill from https://github.com/adobe/skills/tree/main/plugins/web/skills/cdp-ext-pilot into .claude/skills/cdp-ext-pilot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cdp-ext-pilot", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/adobe/skills/tree/main/plugins/web/skills/cdp-ext-pilotType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add adobe/skills --skill cdp-ext-pilot -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install adobe/skills cdp-ext-pilot --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/adobe/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/web/skills/cdp-ext-pilot .agents/skills/cdp-ext-pilot && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cdp-ext-pilot" agent skill from https://github.com/adobe/skills/tree/main/plugins/web/skills/cdp-ext-pilot into .agents/skills/cdp-ext-pilot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cdp-ext-pilot", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add adobe/skills --skill cdp-ext-pilot -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install adobe/skills cdp-ext-pilot --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/adobe/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/web/skills/cdp-ext-pilot .cursor/skills/cdp-ext-pilot && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "cdp-ext-pilot" agent skill from https://github.com/adobe/skills/tree/main/plugins/web/skills/cdp-ext-pilot into .cursor/skills/cdp-ext-pilot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cdp-ext-pilot", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/adobe/skills.git --path plugins/web/skills/cdp-ext-pilot--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add adobe/skills --skill cdp-ext-pilot -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install adobe/skills cdp-ext-pilot --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/adobe/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/web/skills/cdp-ext-pilot .gemini/skills/cdp-ext-pilot && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "cdp-ext-pilot" agent skill from https://github.com/adobe/skills/tree/main/plugins/web/skills/cdp-ext-pilot into .gemini/skills/cdp-ext-pilot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cdp-ext-pilot", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install adobe/skills cdp-ext-pilotInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add adobe/skills --skill cdp-ext-pilot -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/adobe/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/web/skills/cdp-ext-pilot .github/skills/cdp-ext-pilot && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "cdp-ext-pilot" agent skill from https://github.com/adobe/skills/tree/main/plugins/web/skills/cdp-ext-pilot into .github/skills/cdp-ext-pilot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cdp-ext-pilot", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add adobe/skills --skill cdp-ext-pilot -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install adobe/skills cdp-ext-pilot --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/adobe/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/web/skills/cdp-ext-pilot .opencode/skills/cdp-ext-pilot && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "cdp-ext-pilot" agent skill from https://github.com/adobe/skills/tree/main/plugins/web/skills/cdp-ext-pilot into .opencode/skills/cdp-ext-pilot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cdp-ext-pilot", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
cdp-ext-pilotLaunches Chrome with an unpacked extension over CDP, opens its sidepanel, popup or options page, and hands over to cdp-connect for clicks, typing and screenshots.
A bundled Node script, scripts/cdp-ext-pilot.mjs, drives the session. Its launch command starts Chrome with the extension folder and returns JSON containing the extensionId, port and Chrome variant, installing Chrome for Testing when no suitable Chrome is found. The open command then shows the sidepanel, the popup or the options page, and status and close check and end the session, killing Chrome and removing its profile. The skill also covers Chrome 137 and later branded-build restrictions, sidepanel user-gesture requirements and React input quirks.
Interaction itself comes from the sibling cdp-connect skill: read the accessibility tree, take screenshots, click elements and type. Typing sets the DOM value without updating React state, so the guidance is to focus the field first and insert text through Input.insertText one character at a time. If launch returns no extensionId, check the extension's manifest.json and make sure no other Chrome holds the port. A references file covers troubleshooting, and the skill warns that it handles untrusted external content.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit cbc9952. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
nodeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires Node 22+. Depends on the cdp-connect skill as a sibling skill.
From compatibility in the SKILL.md frontmatter.
CDP Extension Pilot loads about 952 tokens when it runs, and up to ~1.5k if it reads all its reference files. Until then it costs about 188 tokens; SKILL.md has 191 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from adobe/skills at commit cbc9952, republished under its Apache-2.0 licence (© adobe). 191 words, ~952 tokens.
.claude/skills/cdp-ext-pilot/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.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 tabFor 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 JSnode "$EXT_PILOT" status [--port 9222] # Check session state
node "$EXT_PILOT" close [--port 9222] # Kill Chrome, remove profilecdp.js type sets DOM .value which does not trigger
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.launch fails, another Chrome is on that port.
Run close first, or pass --port <other>.© adobe, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 5 other files (scripts, references) in plugins/web/skills/cdp-ext-pilot of adobe/skills.
Open the folder on GitHubat commit cbc9952
CDP Extension Pilot next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| CDP Extension Pilot this skilladobe/skills | 195 | — | ~952 | Automated safety check: Pass | Apache-2.0 | |
| Identify Chrome Deviceshmislk/hmis | 236 | — | ~1.5k | Automated safety check: Pass | GPL-3.0 | |
| Deepseek Automationzhu1090093659/deepseek-pp | 1.9k | — | ~2.1k | Automated safety check: Notes | Apache-2.0 | |
| Spec Driven Developzhu1090093659/deepseek-pp | 1.9k | — | ~6.9k | Automated safety check: Pass | Apache-2.0 | |
| Wxtmengxi-ream/read-frog | 10k | — | ~500 | Automated safety check: Pass | GPL-3.0 | |
| Web BridgeAgenticMatrix/coderix | 279 | — | ~2.2k | Automated safety check: Warn | None |
hmislk/hmis
Identify and name Chrome instances connected to the Claude-in-Chrome extension under the current Claude account, and persist a stable deviceId - name mapping to a local file outside the repo.
zhu1090093659/deepseek-pp
A skill your agent uses when implementing, resuming, reviewing, or verifying the DeepSeek++ Codex-style automation feature in this repository.
zhu1090093659/deepseek-pp
Automates pre-development workflow for large-scale complex tasks.
mengxi-ream/read-frog
Build browser extensions with WXT - a next-gen framework with file-based entrypoints, Vite builds, auto-imports, typed storage with migrations, content script UIs, and multi-browser MV2/MV3 support.
AgenticMatrix/coderix
Control a real browser via CDP — navigate, click, type, screenshot, and extract web content.
samber/cc-skills
CRXJS Chrome extension development — true HMR for popup, options, content scripts, side panels, manifest-driven builds, dynamic content script imports (?script, ?script&module), and defineManifest…
adobe/skills
Scaffolds, implements, deploys and debugs Adobe Runtime actions in App Builder projects, with templates for webhooks, events, database CRUD, sequences and Asset Compute workers.
adobe/skills
Extracts icons, metadata, text, forms, videos and social links from any web page with playwright-cli, with SVG icon classification and cleanup.
adobe/skills
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…
adobe/skills
Prepare any webpage for clean interaction by detecting and removing disruptive overlays (cookie banners, GDPR consent, modals, popups, newsletter signups, paywalls, login walls).
adobe/skills
Reduce a webpage to a structural skeleton with semantic tokens.
adobe/skills
Use this when converting an AI-generated static HTML page (Stardust, Mobirise, Relume, Lovable, v0, Figma-derived, etc.) into an Edge Delivery Services page while preserving the original design and…
Works with
Categories
Launches Chrome with an unpacked extension over CDP, opens its sidepanel, popup or options page, and hands over to cdp-connect for clicks, typing and screenshots. mjs, drives the session. Its launch command starts Chrome with the extension folder and returns JSON containing the extensionId, port and Chrome variant, installing Chrome for Testing when no suitable Chrome is found.
CDP Extension Pilot fits situations like: testing a Chrome extension's sidepanel, popup or options page in a real browser; loading an unpacked extension build and checking it against a target page; automating clicks and typing inside an extension interface; debugging an extension that fails to load or whose React inputs ignore typed text.
Run `npx skills add adobe/skills --skill cdp-ext-pilot -a claude-code`. Or copy the skill folder (plugins/web/skills/cdp-ext-pilot in adobe/skills) into .claude/skills/cdp-ext-pilot in your project. Claude Code loads it when a task matches its description.
Run `npx skills add adobe/skills --skill cdp-ext-pilot -a codex`. Or copy the skill folder (plugins/web/skills/cdp-ext-pilot in adobe/skills) into .agents/skills/cdp-ext-pilot in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add adobe/skills --skill cdp-ext-pilot -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cdp-ext-pilot, .gemini/skills/cdp-ext-pilot, .github/skills/cdp-ext-pilot and .opencode/skills/cdp-ext-pilot in your project.
Going by SKILL.md and its folder, CDP Extension Pilot needs JavaScript for the scripts in its folder and the command-line tools its instructions call (node). Our summary lists: Node 22 or newer; The cdp-connect skill installed alongside; Chrome, or network access so Chrome for Testing can be installed. Compatibility (from SKILL.md): Requires Node 22+. Depends on the cdp-connect skill as a sibling skill..
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
CDP Extension Pilot is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 952 tokens (SKILL.md is roughly 3.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 553 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with CDP Extension Pilot: Identify Chrome Devices (hmislk/hmis, 236 stars), Deepseek Automation (zhu1090093659/deepseek-pp, 1.9k stars), Spec Driven Develop (zhu1090093659/deepseek-pp, 1.9k stars) and Wxt (mengxi-ream/read-frog, 10k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
adobe (a GitHub organization) maintains it in adobe/skills, which has 195 GitHub stars. The repository holds 105 skills in this directory. The repository was last updated on October 6, 2026.
Source: adobe/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.