Skip to main content
skill CX Codex

proxy-manager — Claude Code skill: what it does, how to install

Operates Webshare proxies using the official CLI. It exports proxy lists, manages IP allowlists, tracks errors, and builds endpoints with sticky sessions.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add webshare-proxy/skills --skill proxy-manager -a claude-code
Open on GitHub

What proxy-manager does

This skill connects your agent to the official webshare CLI. It checks subscription plans, exports proxy lists to text or JSON files, and generates connection URLs with country targeting or sticky sessions for background workers.

Pool maintenance relies on CLI commands. The agent can inspect recent request failures via webshare activity or trigger a complete pool refresh. Individual blocked IPs cannot be replaced on their own because the refresh command always swaps the whole list at once. When you need extra capacity, the included scripts/express_checkout.py helper generates a pre-filled checkout link and launches your default browser.

Operations fail without the webshare binary in your system path and a valid WEBSHARE_API_KEY environment variable. The skill never prints your secret key or performs silent background purchases.

What it helps with

  • export active proxy endpoints to a file for external tools
  • authorize the current machine IP for passwordless proxy access
  • generate rotating or sticky-session proxy URLs
  • inspect failed proxy requests from recent traffic logs

Example prompts for the agent

  • List my Webshare proxies and save them to proxies.txt
  • Authorize this machine's IP so my tools can use proxies without credentials
  • Give me five sticky-session US proxy URLs for a worker pool

How to install proxy-manager

1Skills CLI (Vercel)

npx skills add webshare-proxy/skills --skill proxy-manager -a claude-code

2Manually: put the files in place

~/.claude/skills/proxy-manager/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/proxy-manager/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about proxy-manager

How do I install proxy-manager in Claude Code?

Run npx skills add webshare-proxy/skills --skill proxy-manager -a claude-code. The skill definition installs to ~/.claude/skills/proxy-manager/SKILL.md.

What is required before running this skill?

Install the CLI via brew install webshare-proxy/tap/webshare or grab a release binary from GitHub. Then create a Webshare account and export your token as WEBSHARE_API_KEY.

Can this skill replace a single blocked IP address?

No, the underlying webshare proxies refresh command replaces every proxy in the target plan. To swap individual addresses, use the Webshare web dashboard instead.

Source text

SKILL.md · MIT
---
name: proxy-manager
version: "2.0"
description: >
  Manage Webshare proxies with the webshare CLI: list active proxies, dump the
  proxy list to a file, refresh rotating pools, read and update proxy config,
  manage IP allowlists, build proxy URLs, inspect subscription plans and usage,
  and kick off an express-checkout flow to buy more proxies. Use when the user
  wants to work with webshare.io proxies — not scraping, just provisioning and
  ops.
license: MIT
allowed-tools: Read, Write, Edit, Bash(webshare *), Bash(python *), Bash(python3 *), Bash(open *), Bash(xdg-open *)
argument-hint: "[action]"
metadata:
  category: proxy-management
  long-description: >
    Day-to-day Webshare account operations from your agent, built on the
    official webshare CLI. Identify the right plan, list or download proxies in
    the format your tools expect, build ready-to-use proxy URLs with country
    targeting and sticky sessions, manage the IP allowlist for credential-less
    use, watch usage and failures, refresh a burned pool, and open a
    pre-filled express-checkout page when you need more capacity.
  tags: [proxies, provisioning, plans, ip-auth, proxy-urls, cli]
  install: npx skills add webshare-proxy/skills --skill proxy-manager
  example-prompts:
    - "List my Webshare proxies and save them to proxies.txt"
    - "Authorize this machine's IP so my tools can use proxies without credentials"
    - "Give me five sticky-session US proxy URLs for a worker pool"
    - "What failed in my proxy traffic over the last hour?"
    - "Refresh my proxy list — too many IPs are getting blocked"
    - "Buy 100 more dedicated datacenter proxies"
  related: [proxy-optimizer, spend-audit, scraper]
---

# Webshare Proxy Manager

You help the user manage their Webshare proxy account through the `webshare`
CLI: list proxies, refresh the pool, configure auth, build proxy URLs, watch
usage, and purchase more capacity via the express-checkout flow.

## What this skill does / needs / will not do

**Does:** everything in the workflow below, through `webshare` CLI commands.

**Needs:**

1. The `webshare` CLI — install with `brew install webshare-proxy/tap/webshare`,
   or download a binary from
   <https://github.com/webshare-proxy/webshare-cli/releases>.
2. A Webshare account — sign up at <https://www.webshare.io/> (10 free
   proxies, no card required).
3. An API key from <https://dashboard.webshare.io/userapi/keys>, exported as
   `WEBSHARE_API_KEY`. Verify with `webshare whoami`.

**Will not do:**

- **Targeted replacement of individual proxies** — the CLI has no
  per-proxy replacement command. `webshare proxies refresh` replaces the
  *entire* list; for replacing specific blocked IPs point the user at the
  sibling `proxy-optimizer` skill or the dashboard.
- **Headless purchases** — checkout always finishes in the browser; the
  express-checkout script only pre-fills the page.
- Scraping. That's the `scraper` skill.

## Workflow

### Step 1: Identify the target plan

Webshare accounts can own multiple plans simultaneously. Before any action
that touches proxies, config, or IP allowlists, run:

```bash
webshare plans list
```

If there is more than one active plan, show the list (id, type, proxy count,
status) and ask which plan to operate on (use AskUserQuestion), then pass
`--plan <id>` on every subsequent command. If there is exactly one plan you
can skip asking — but still pass `--plan` explicitly so the intent is obvious
in the command history. `webshare plans show <plan-id>` gives full detail.

### Step 2: Run the action

Ask which action the user wants (use AskUserQuestion if unclear):

- **plans** — `webshare plans list` / `webshare plans show <plan-id>`
- **list** — `webshare proxies list --plan <id>` (filters: `--country us,fr`,
  `--limit N`, `--mode direct|backbone`; formats: `--format txt|csv|json`)
- **download** — `webshare proxies list --plan <id> > proxies.txt` writes the
  standard `address:port:username:password` lines most tools accept.
  `webshare proxies download` fetches the server-rendered list instead
  (`--auth sourceip` for IP-auth setups).
- **proxy-url** — `webshare proxy-url` builds ready-to-use connection URLs:
  `--country us --rotate` for per-request rotation, `--sessions 5` for a
  sticky-session worker pool, `--session <id>` to pin one.
- **config** — `webshare config show` / `webshare config set` (`--username`,
  `--password`, `--request-timeout`, `--idle-timeout`)
- **ipauth** — `webshare ipauth list` / `webshare ipauth add --current` (or an
  explicit IP) / `webshare ipauth remove <id-or-ip>`
- **stats** — `webshare stats --since 24h` (or `--hourly`);
  `webshare activity list --error '*'` shows recent failed requests
- **refresh** — `webshare proxies refresh` replaces the whole list;
  `webshare proxies replaced` shows past replacements and successors
- **buy** — open an express-checkout URL in the browser (see below)

Read `references/CLI.md` for the full flag reference and JSON output notes.

### Buying proxies (express-checkout)

Use `scripts/express_checkout.py`. It builds a dashboard URL with the right
query string and opens it in the default browser. Six presets are supported:

- `datacenter-shared` / `datacenter-semidedicated` / `datacenter-dedicated`
- `isp-shared` / `isp-semidedicated` / `isp-dedicated`  (static residential)
- `residential`  (rotating residential, shared only)

Ask the user for preset, proxy count, bandwidth (GB, datacenter/ISP only), and
countries (dict of ISO codes → count, or `ZZ` for any). Example:

```
python scripts/express_checkout.py datacenter-dedicated \
  --count 75 --bandwidth 5000 --countries ZZ=75
```

The script prints the URL and opens the browser. The user completes checkout
manually in the dashboard — there is no headless purchase path.

## Key principles

- **Never print the API key.** The CLI reads `WEBSHARE_API_KEY` from the
  environment; never echo it or paste it into commands.
- **Confirm before mutations.** `webshare proxies refresh` consumes an
  on-demand refresh and replaces every proxy — always confirm with the user
  first and let the CLI's own confirmation prompt stand (never pass `--yes`
  unless the user explicitly asked). Same care for `config set`,
  `ipauth remove` and `subusers delete`.
- **Prefer `--json` when you need to parse.** Every command supports it, and
  piped output is machine-readable automatically.
- **Country codes are ISO 3166-1 alpha-2.** `ZZ` means "any country".
- **Residential plans are backbone-only.** If `proxies list` returns nothing,
  try `--mode backbone` or `webshare proxy-url`.

© webshare-proxy · MIT · webshare-proxy/skills

Similar skills

All skills for DevOps and infrastructure →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor