Competitor Monitor
hanzili/hanzi-browse
Monitor competitor websites for changes. An agent skill from hanzili/hanzi-browse.
Lets an agent drive Chrome through the AIPex extension and its MCP bridge: navigation, clicking, form filling, screenshots, tab management and downloads.
$ npx skills add AIPexStudio/AIPex --skill aipex-browser -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install AIPexStudio/AIPex aipex-browser --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/AIPexStudio/AIPex.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skill .claude/skills/aipex-browser && 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 "aipex-browser" agent skill from https://github.com/AIPexStudio/AIPex/tree/main/skill into .claude/skills/aipex-browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aipex-browser", 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/AIPexStudio/AIPex/tree/main/skillType 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 AIPexStudio/AIPex --skill aipex-browser -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install AIPexStudio/AIPex aipex-browser --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AIPexStudio/AIPex.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skill .agents/skills/aipex-browser && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "aipex-browser" agent skill from https://github.com/AIPexStudio/AIPex/tree/main/skill into .agents/skills/aipex-browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aipex-browser", 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 AIPexStudio/AIPex --skill aipex-browser -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install AIPexStudio/AIPex aipex-browser --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AIPexStudio/AIPex.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skill .cursor/skills/aipex-browser && 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 "aipex-browser" agent skill from https://github.com/AIPexStudio/AIPex/tree/main/skill into .cursor/skills/aipex-browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aipex-browser", 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/AIPexStudio/AIPex.git --path skill--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 AIPexStudio/AIPex --skill aipex-browser -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install AIPexStudio/AIPex aipex-browser --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AIPexStudio/AIPex.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skill .gemini/skills/aipex-browser && 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 "aipex-browser" agent skill from https://github.com/AIPexStudio/AIPex/tree/main/skill into .gemini/skills/aipex-browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aipex-browser", 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 AIPexStudio/AIPex aipex-browserInstalls 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 AIPexStudio/AIPex --skill aipex-browser -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/AIPexStudio/AIPex.git skills-src && mkdir -p .github/skills && cp -r skills-src/skill .github/skills/aipex-browser && 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 "aipex-browser" agent skill from https://github.com/AIPexStudio/AIPex/tree/main/skill into .github/skills/aipex-browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aipex-browser", 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 AIPexStudio/AIPex --skill aipex-browser -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install AIPexStudio/AIPex aipex-browser --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AIPexStudio/AIPex.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skill .opencode/skills/aipex-browser && 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 "aipex-browser" agent skill from https://github.com/AIPexStudio/AIPex/tree/main/skill into .opencode/skills/aipex-browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aipex-browser", 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.
aipex-browserLets an agent drive Chrome through the AIPex extension and its MCP bridge: navigation, clicking, form filling, screenshots, tab management and downloads.
AIPex is a Chrome extension that exposes 30+ browser automation tools over the Model Context Protocol. The agent, as an MCP client, talks over stdio to aipex-mcp-bridge, which connects by WebSocket to the extension and on to the browser APIs, so Chrome tabs can be controlled in natural language: clicking, typing, navigating, capturing screenshots and downloading content.
Setup has two steps. First register the MCP server, with npx running aipex-mcp-bridge automatically, using the config shown for Cursor, Claude Desktop, Claude Code, VS Code Copilot or Windsurf. Then open the extension options in Chrome, enter ws://localhost:9223 in the WebSocket Connection section and connect, or use a custom port instead. It suits multi-step workflows, data extraction, tab management across windows and browser-assisted accessibility, UX and regression testing, and a tools reference file lists the available tools.
2 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 4173fa8. 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.
Shell commands in SKILL.md call:
claudeFrom 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.
AIPex Browser Control loads about 1.8k tokens when it runs, and up to ~5k if it reads all its reference files. Until then it costs about 78 tokens; SKILL.md has 610 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); files beside SKILL.md are not scanned.
The full file from AIPexStudio/AIPex at commit 4173fa8, republished under its MIT licence (© AIPexStudio). 610 words, ~1,793 tokens.
.claude/skills/aipex-browser/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.AIPex is a Chrome extension that exposes 30+ browser automation tools over the Model Context Protocol (MCP). Once connected, the agent can control any Chrome tab using natural language — clicking, typing, navigating, capturing screenshots, downloading content, and more.
Architecture:
Agent (MCP client) ──stdio──▶ aipex-mcp-bridge ──WebSocket──▶ AIPex Chrome Extension ──▶ Browser APIsUse this skill when the user wants to:
The user is assumed to have AIPex installed. The agent only needs to complete the two connection steps below.
Add the following to the agent's MCP configuration. No manual installation is needed — npx downloads and runs aipex-mcp-bridge automatically.
.cursor/mcp.json){
"mcpServers": {
"aipex-browser": {
"command": "npx",
"args": ["-y", "aipex-mcp-bridge"]
}
}
}claude_desktop_config.json){
"mcpServers": {
"aipex-browser": {
"command": "npx",
"args": ["-y", "aipex-mcp-bridge"]
}
}
}claude mcp add aipex-browser -- npx -y aipex-mcp-bridge.vscode/mcp.json){
"servers": {
"aipex-browser": {
"command": "npx",
"args": ["-y", "aipex-mcp-bridge"]
}
}
}mcp_config.json){
"mcpServers": {
"aipex-browser": {
"command": "npx",
"args": ["-y", "aipex-mcp-bridge"]
}
}
}The bridge listens on localhost:9223 by default. To use a different port:
{
"mcpServers": {
"aipex-browser": {
"command": "npx",
"args": ["-y", "aipex-mcp-bridge", "--port", "9224"]
}
}
}Then use ws://localhost:9224 in Step 2.
After the MCP server is registered and running:
ws://localhost:9223The bridge and extension will handshake, and all browser tools will become available to the agent.
Verifying the connection: If only a single tool called check_aipex_connection is visible, the extension has not yet connected. Follow Step 2 again, then reload the MCP server in agent settings.
Always follow this priority order to minimize token cost and latency:
search_elements (always try first)Query the page's accessibility tree to find elements and get their UIDs. Fast, cheap, requires no screenshot.
search_elements(tabId, "{button,input,textarea,select,a}*")Use UIDs returned by search_elements to interact directly:
click(tabId, uid) — click any elementfill_element_by_uid(tabId, uid, value) — type into inputshover_element_by_uid(tabId, uid) — reveal menus or tooltipscapture_screenshot + computer (high-cost fallback only)Use only when search_elements fails after two different query attempts, or when pixel-level interaction is required (canvas, drag-and-drop, sliders).
capture_screenshot(sendToLLM=true) — see the pagecomputer(action, coordinate) — click/type at pixel coordinatesget_all_tabs()
→ search_elements(tabId, "<pattern>")
→ click(tabId, uid) OR fill_element_by_uid(tabId, uid, value)
→ [capture_screenshot(sendToLLM=true) to verify if needed]| Category | Tools | Description |
|---|---|---|
| Tab Management | 8 tools | Open, close, switch, pin, group tabs |
| UI Interaction | 7 tools | Click, fill, hover, keyboard, coordinate-based |
| Page Content | 4 tools | Metadata, scroll, highlight elements/text |
| Screenshots | 2 tools | Capture visible tab or specific tab |
| Downloads | 3 tools | Save text as markdown, download images |
| Human Intervention | 4 tools | Request user input mid-automation |
Key tools by category:
| Category | Key Tools |
|---|---|
| Tab | get_all_tabs, switch_to_tab, create_new_tab, close_tab |
| UI | search_elements, click, fill_element_by_uid, computer |
| Page | get_page_metadata, scroll_to_element, highlight_element |
| Screenshot | capture_screenshot, capture_tab_screenshot |
| Download | download_text_as_markdown, download_image |
| Intervention | request_intervention, list_interventions |
To load complete parameter schemas and examples for every tool:
read_skill_reference("aipex-browser", "references/tools-reference.md")create_new_tab("https://example.com")
→ search_elements(tabId, "*[Ss]ubmit*")
→ click(tabId, uid)get_all_tabs()
→ search_elements(tabId, "{input,textbox}*")
→ fill_element_by_uid(tabId, emailUid, "user@example.com")
→ fill_element_by_uid(tabId, passwordUid, "secret")
→ search_elements(tabId, "*[Ll]ogin*")
→ click(tabId, uid)get_page_metadata()
→ download_text_as_markdown(content, "page-extract")capture_screenshot(sendToLLM=true)| Symptom | Likely Cause | Fix |
|---|---|---|
Only check_aipex_connection visible | Extension not connected to bridge | Open AIPex Options → set WebSocket URL → Connect |
| Port 9223 already in use | Port conflict on machine | Use --port 9224 in MCP config and ws://localhost:9224 in extension |
search_elements returns 0 results | Page uses canvas or non-semantic HTML | Fall back to capture_screenshot(sendToLLM=true) + computer tool |
| Connection drops frequently | Service worker sleep cycle | AIPex uses keepalive pings; reconnect extension from Options if needed |
| Tools appear but calls time out | Bridge not receiving WebSocket messages | Restart bridge: reload MCP server in agent settings |
© AIPexStudio, MIT. 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 1 other file (references) in skill of AIPexStudio/AIPex.
Open the folder on GitHubat commit 4173fa8
AIPex Browser Control 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 |
|---|---|---|---|---|---|---|
| AIPex Browser Control this skillAIPexStudio/AIPex | 1.3k | — | ~1.8k | Automated safety check: Pass | MIT | |
| Competitor Monitorhanzili/hanzi-browse | 177 | — | ~2.8k | Automated safety check: Pass | Custom licence | |
| Job Applierhanzili/hanzi-browse | 177 | — | ~2.4k | Automated safety check: Pass | Custom licence | |
| Linkedin Prospectorhanzili/hanzi-browse | 177 | — | ~1.5k | Automated safety check: Pass | Custom licence | |
| Open Supermarketsabracadabra50/open-supermarkets | 117 | 1 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Claude in Chrome MCP Troubleshootingtrailofbits/skills | 7.4k | 4 repos | ~2.6k | Automated safety check: Pass | CC-BY-SA-4.0 |
hanzili/hanzi-browse
Monitor competitor websites for changes. An agent skill from hanzili/hanzi-browse.
hanzili/hanzi-browse
Apply to jobs from your real browser. An agent skill from hanzili/hanzi-browse.
hanzili/hanzi-browse
Find people on LinkedIn and send personalized connection requests.
abracadabra50/open-supermarkets
Searches, compares and fills baskets across supermarkets in several countries, with delivery slots, checkout and nutrition data, as a CLI, MCP server or skill.
trailofbits/skills
Diagnoses why the Claude in Chrome MCP tools report the browser extension as not connected, with macOS-specific checks and a fix for the Claude.app native host conflict.
hanzili/hanzi-browse
Professional X/Twitter growth skill. An agent skill from hanzili/hanzi-browse.
AIPexStudio/AIPex
Walks a Figma prototype or live webpage screen by screen and scores it against four minimalist usability principles.
AIPexStudio/AIPex
Audits a live webpage against eight core WCAG 2.2 success criteria, combining accessibility-tree inspection, visual screenshots and keyboard navigation tests, with evidence in the report.
Categories
Lets an agent drive Chrome through the AIPex extension and its MCP bridge: navigation, clicking, form filling, screenshots, tab management and downloads. AIPex is a Chrome extension that exposes 30+ browser automation tools over the Model Context Protocol. The agent, as an MCP client, talks over stdio to aipex-mcp-bridge, which connects by WebSocket to the extension and on to the browser APIs, so Chrome tabs can be controlled in natural language: clicking, typing, navigating, capturing screenshots and downloading content.
AIPex Browser Control fits situations like: automating a multi-step workflow in Chrome; filling forms or clicking through a web page; capturing screenshots of browser tabs; managing tabs across browser windows.
Run `npx skills add AIPexStudio/AIPex --skill aipex-browser -a claude-code`. Or copy the skill folder (skill in AIPexStudio/AIPex) into .claude/skills/aipex-browser in your project. Claude Code loads it when a task matches its description.
Run `npx skills add AIPexStudio/AIPex --skill aipex-browser -a codex`. Or copy the skill folder (skill in AIPexStudio/AIPex) into .agents/skills/aipex-browser 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 AIPexStudio/AIPex --skill aipex-browser -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/aipex-browser, .gemini/skills/aipex-browser, .github/skills/aipex-browser and .opencode/skills/aipex-browser in your project.
Going by SKILL.md and its folder, AIPex Browser Control needs the command-line tools its instructions call (claude). Our summary lists: The AIPex Chrome extension installed; Node.js 18 or newer; The aipex-mcp-bridge MCP server registered, run through npx.
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. Review the folder before installing.
AIPex Browser Control is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.2k 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 3.2k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with AIPex Browser Control: Competitor Monitor (hanzili/hanzi-browse, 177 stars), Job Applier (hanzili/hanzi-browse, 177 stars), Linkedin Prospector (hanzili/hanzi-browse, 177 stars) and Open Supermarkets (abracadabra50/open-supermarkets, 117 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
AIPexStudio (a GitHub organization) maintains it in AIPexStudio/AIPex, which has 1,260 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on August 26, 2026.
Source: AIPexStudio/AIPex on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.