Set up test-proxy-recorder for any Playwright project. An agent skill from asmyshlyaev177/test-proxy-recorder.

MITAuto-check passedTesting & QA

Install Proxy Setup

skills CLI
$ npx skills add asmyshlyaev177/test-proxy-recorder --skill proxy-setup -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install asmyshlyaev177/test-proxy-recorder proxy-setup --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/asmyshlyaev177/test-proxy-recorder.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/test-proxy-recorder/skills/proxy-setup .claude/skills/proxy-setup && rm -rf skills-src

Use ~/.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/

Facts

Skill name
proxy-setup
GitHub stars
112
Token cost
~4.3k tokens
SKILL.md length
1,041 words
Files
2 (incl. references)
Skills in repo
3
Repo updated
First seen
Licence
MIT

At a glance

Set up test-proxy-recorder for any Playwright project. An agent skill from asmyshlyaev177/test-proxy-recorder.

  • Tasks that involve Browser testing
  • SKILL.md covers Setup, Core Patterns, Common Mistakes and Getting help
  • Calls npx, git and curl
  • Tasks that involve Backend development

What it does

Proxy Setup is an agent skill from asmyshlyaev177/test-proxy-recorder. Set up test-proxy-recorder for any Playwright project. Covers the proxy CLI (test-proxy-recorder <target --port --dir), package.json scripts for the three-service architecture (UI app → proxy → backend API), playwright.config.ts webServer block pointing to /control, per-test fixtures using playwrightProxy.before(page, testInfo, mode, { url }), HAR browser-side recording via url pattern, .mock.json server-side recording, record/replay/ transparent modes, the record-once→commit→CI-replay lifecycle, automatic secret…

Its SKILL.md is about 4.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/common-mistakes.md`).

It sits in Testing & QA, covering Browser testing, Backend development and Test data and fixtures. It works with Playwright, npm and Next.js. The repository describes itself as: Record & replay API responses for Playwright E2E tests — SSR proxy + browser HAR + WebSockets. Deterministic CI, no backend, no manual mocks. The licence is MIT.

When your agent uses it

  • Tasks that involve Browser testing
  • Tasks that involve Backend development
  • Tasks that involve Test data and fixtures

Example prompts

  • “/proxy-setup”

Requirements

  • Node.js

What it can do on your machine

Read from SKILL.md and the folder at commit 0a7169e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • npx
    • git
    • curl
    • pnpm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx, git, curl and pnpm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Proxy Setup loads about 4.3k tokens when it runs, and up to ~5.5k if it reads all its reference files. Until then it costs about 229 tokens; SKILL.md has 1,041 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~229
When it runs · the whole SKILL.md, loaded when a task matches
~4.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.5k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from asmyshlyaev177/test-proxy-recorder at commit 0a7169e, republished under its MIT licence (© asmyshlyaev177). 1,041 words, ~4,261 tokens.

Download SKILL.mdSave it as .claude/skills/proxy-setup/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
proxy-setup
description
Set up test-proxy-recorder for any Playwright project. Covers the proxy CLI (test-proxy-recorder <target> --port --dir), package.json scripts for the three-service architecture (UI app → proxy → backend API), playwright.config.ts webServer block pointing to /__control, per-test fixtures using playwrightProxy.before(page, testInfo, mode, { url }), HAR browser-side recording via url pattern, .mock.json server-side recording, record/replay/ transparent modes, the record-once→commit→CI-replay lifecycle, automatic secret redaction of Authorization/Cookie/Set-Cookie headers (--no-redact, --redact-headers, --redact-body), an optional config file (test-proxy-recorder.config.ts via defineConfig, --config) with CLI-overrides- config precedence, and parallel test execution with fullyParallel. Load this skill when installing test-proxy-recorder, writing Playwright fixtures, or configuring record/replay.
sources
asmyshlyaev177/test-proxy-recorder:README.md, asmyshlyaev177/test-proxy-recorder:packages/test-proxy-recorder/src/playwright/index.ts…
metadata.type
core
metadata.library
test-proxy-recorder
metadata.library_version
1.3.1

test-proxy-recorder — Proxy Setup

test-proxy-recorder runs an HTTP proxy that records real API responses to disk (.mock.json for server-side, .har for browser-side) and replays them in Playwright tests without a live backend.

Two recording mechanisms work independently or together:

MechanismFileRecords
Proxy.mock.jsonServer-side (SSR) fetches from Node.js
HAR.harBrowser-side fetch calls, Chrome extension traffic

Setup

Browser-only / SPA / Chrome extension

No backend proxy needed for recording — only the proxy process for session management via /__control.

typescript
// playwright.config.ts
import { defineConfig } from '@playwright/test';

export default defineConfig({
  webServer: {
    command: 'test-proxy-recorder https://api.example.com --port 8100 --dir ./e2e/recordings',
    url: 'http://localhost:8100/__control',
    reuseExistingServer: true,
    timeout: 15_000,
  },
});
typescript
// e2e/fixtures.ts
import { test as base, type Page } from '@playwright/test';
import { playwrightProxy } from 'test-proxy-recorder';

const CLIENT_SIDE_URL = /api\.example\.com/;

// Change to 'record' to hit the real API and update recordings.
const MODE = 'replay' as const;

export const test = base.extend<{ page: Page }>({
  page: async ({ context }, use, testInfo) => {
    const page = await context.newPage();
    await playwrightProxy.before(page, testInfo, MODE, { url: CLIENT_SIDE_URL });
    await use(page);
  },
});
export { expect } from '@playwright/test';
Full-stack (SSR + browser)

The app's API base URL must be pointed at the proxy, not the real backend.

json
// package.json
{
  "scripts": {
    "proxy": "test-proxy-recorder http://localhost:3002 --port 8100 --dir ./e2e/recordings",
    "start:all": "concurrently \"pnpm proxy\" \"INTERNAL_API_URL=http://localhost:8100 pnpm start\"",
    "test:e2e": "pnpm build && concurrently --kill-others --success first --names services,tests \"pnpm start:all\" \"wait-on http://127.0.0.1:3000 http://127.0.0.1:8100/__control && playwright test --retries 1\"",
    "test:e2e:record": "pnpm build && playwright test --workers 1 --ui"
  }
}

INTERNAL_API_URL stands in for whatever env var your app reads its API base URL from — it must point at the proxy (see Common Mistakes). For Next.js apps running a production build, also set TEST_PROXY_RECORDER_ENABLED=true (see test-proxy-recorder/nextjs-ssr).

typescript
// e2e/my.test.ts
import { test, expect } from '@playwright/test';
import { playwrightProxy } from 'test-proxy-recorder';

// Change to 'record' to hit the real API and update recordings.
const MODE = 'replay' as const;

// External services the browser calls directly (auth, CDN, analytics, etc.).
// Server-side fetches through the proxy are recorded automatically via .mock.json.
const CLIENT_SIDE_URL = /cognito-.*\.amazonaws\.com|\.s3\..*\.amazonaws\.com/;

test.beforeEach(async ({ page }, testInfo) => {
  await playwrightProxy.before(page, testInfo, MODE, {
    url: CLIENT_SIDE_URL,
  });
});

test('creates a todo', async ({ page }) => {
  await page.goto('/');
  await page.getByTestId('new-todo-input').fill('Buy groceries');
  await page.getByTestId('add-btn').click();
  await expect(page.getByTestId('todo-text').first()).toHaveText('Buy groceries');
});

Core Patterns

Record/replay lifecycle

Recording is manual, done once per test with a single worker. Replay runs on CI with multiple workers, headlessly.

bash
# 1. In fixtures.ts (or test file): set MODE = 'record'
# 2. Run once against the real backend, headed, one worker
npx playwright test --workers 1 --ui

# 3. Set MODE back to 'replay', commit recordings
git add e2e/recordings/
git commit -m "add e2e recordings"

# 4. Replay on CI — headless, parallel workers, no backend needed
npx playwright test

Recording files must be committed — do not add e2e/recordings/ to .gitignore. Optionally collapse diffs with:

text
# .gitattributes
/e2e/recordings/** linguist-generated=true
Config file

Anything passed on the CLI can instead live in a config file, auto-discovered as test-proxy-recorder.config.{ts,js,mjs,cjs} in the proxy process's working directory (or --config <path>). Prefer it over a long proxy script once you need body-redaction regexes — they go in as real RegExp literals instead of shell-escaped strings.

typescript
// test-proxy-recorder.config.ts
import { defineConfig } from 'test-proxy-recorder';

export default defineConfig({
  target: 'http://localhost:3002',
  port: 8100,
  recordingsDir: './e2e/recordings',
  redaction: {
    headers: ['x-api-key'],         // merged with the Authorization/Cookie defaults
    bodyPatterns: [/sk_live_\w+/g],
    allowCookies: ['theme'],
  },
});
json
// package.json — with a config file, the proxy script needs no flags
{ "scripts": { "proxy": "test-proxy-recorder" } }

Precedence is CLI flag → config file → built-in default: a flag always overrides the file, and target may come from either (the CLI argument wins). List flags (--redact-headers, --redact-body, --allow-headers, --allow-cookies) replace the corresponding config list rather than merging, so pass them only when you intend to override the file. Redaction is on by default; --no-redact turns it off, overriding a redaction object in the config (and redaction: false in the config disables it without the flag).

Secret redaction

Recordings are committed to git, so secrets are stripped automatically before anything is written to disk. By default the proxy replaces the values of the Authorization, Cookie, and Set-Cookie headers with [REDACTED] in both .mock.json and WebSocket recordings. This is safe — replay matching ignores these headers, so redaction never breaks playback. No setup required.

Tweak it via CLI flags on the test-proxy-recorder command:

bash
# Redact an extra API-key header and any "sk_live_..." token in bodies,
# but keep the harmless theme cookie unredacted
test-proxy-recorder http://localhost:3002 --port 8100 --dir ./e2e/recordings \
  --redact-headers x-api-key,x-auth \
  --redact-body "sk_live_[a-zA-Z0-9]+" \
  --allow-cookies theme,locale

# Disable redaction (commit raw secrets — not recommended)
test-proxy-recorder http://localhost:3002 --no-redact
  • --redact-headers <names> — comma-separated extra header names, merged with the defaults.
  • --redact-body <patterns> — comma-separated regex patterns replaced in request/response bodies.
  • --allow-headers <names> — comma-separated header names to exempt from redaction (e.g. set-cookie).
  • --allow-cookies <names> — comma-separated cookie names kept unredacted inside Cookie/Set-Cookie; every other cookie in those headers is still redacted. Use when only some cookies are sensitive (session vs. theme/A-B-test).
  • --no-redact — turn redaction off.

.har files are written by Playwright's routeFromHAR, not the proxy, so they are redacted in a separate pass: playwrightProxy.teardown() rewrites every .har in the recordings dir using the same redaction config as the proxy. This requires a globalTeardown that calls teardown() (see below) and the proxy still running (it fetches the config from /__control). For defense in depth, still record with short-lived test credentials and use the Auth setup pattern below (login runs in transparent mode against the real provider, with storageState saved to a gitignored file).

Auth setup

Auth always runs against the real auth provider — never recorded or replayed. Use setProxyMode('transparent') so auth requests bypass the proxy entirely. Skip the auth step in replay mode (the recorded session is already embedded in the HAR / storage state file from the previous record run).

typescript
// e2e/auth.setup.ts
import { test as setup } from '@playwright/test';
import { setProxyMode } from 'test-proxy-recorder';

const AUTH_FILE = 'e2e/.auth/state.json';

const TEST_USER = {
  email: 'testuser@example.com',
  password: 'TestPassword123',
};

setup('authenticate', async ({ page }) => {
  // Bypass the proxy — auth must always hit the real provider.
  await setProxyMode('transparent');

  await page.goto('/users/sign-in');
  await page.getByTestId('email').fill(TEST_USER.email);
  await page.getByTestId('password').fill(TEST_USER.password);
  await page.getByTestId('signinButton').click();
  await page.waitForURL('/', { timeout: 15_000 });

  await page.context().storageState({ path: AUTH_FILE });
});

Add the auth state file to .gitignore — it contains session tokens and must not be committed:

gitignore
# .gitignore
e2e/.auth/
typescript
// playwright.config.ts
export default defineConfig({
  projects: [
    { name: 'setup', testMatch: /auth\.setup\.ts/ },
    {
      name: 'e2e',
      testIgnore: /auth\.setup\.ts/,
      dependencies: ['setup'],
      use: { storageState: 'e2e/.auth/state.json' },
    },
  ],
});

Include the auth provider domain in CLIENT_SIDE_URL when the browser makes direct calls to it (e.g. Cognito token refresh, OAuth redirects):

typescript
// These browser-to-Cognito calls are recorded in the HAR, not via the proxy.
const CLIENT_SIDE_URL = /cognito-.*\.amazonaws\.com/;
Show full SKILL.md (450 more words)Show less
Replaying without the backend (external-auth apps)

When login goes to an external provider (Cognito, Auth0, Clerk, …), the protected API responses come from recordings, so replay needs no backend — CI runs only the app + proxy. Recording stays a manual, local step (you, on a dev machine, with the real backend up); CI only replays from the committed recordings:

jsonc
{
  "scripts": {
    "start:all":        "concurrently \"pnpm mock\" \"pnpm proxy\" \"pnpm start\"",
    "start:no-backend": "concurrently \"pnpm proxy\" \"pnpm start\"",
    // LOCAL: run on a dev machine to (re)record, then COMMIT e2e/recordings/
    "record":   "pnpm build && concurrently --kill-others --success first \"pnpm start:all\" \"wait-on $APP $PROXY/__control && RECORD_MODE=1 playwright test --workers 1\"",
    // CI: replay from committed recordings — app + proxy only, no backend
    "test:e2e": "pnpm build && concurrently --kill-others --success first \"pnpm start:no-backend\" \"wait-on $APP $PROXY/__control && playwright test --retries 1\""
  }
}

So the lifecycle is: pnpm record locally → commit e2e/recordings/ → CI runs pnpm test:e2e with no backend. (Re-record only when the API changes.)

If your auth setup re-authenticates during replay (instead of reusing a committed storageState), snapshot storageState as soon as the session token exists — don't wait for a protected data fetch, which runs in transparent mode and would hang with no backend:

typescript
await page.waitForURL('/dashboard');
// the token is written to storage before the redirect — snapshot now, do NOT
// wait for the protected data to load (that request would hang without a backend)
await page.waitForFunction(() => !!localStorage.getItem('auth-token'));
await page.context().storageState({ path: AUTH_FILE });

See apps/example-auth-cognito (real Cognito) and apps/example-auth-mock (self-contained, no cloud account). Those apps additionally re-record on every CI run to test the recorder itself — your app should record locally and only replay in CI.

Global teardown
typescript
// e2e/global-teardown.ts
import { playwrightProxy } from 'test-proxy-recorder';

export default async function globalTeardown() {
  await playwrightProxy.teardown().catch((err) => console.warn('teardown', err));
}
typescript
// playwright.config.ts
export default defineConfig({
  globalTeardown: './e2e/global-teardown.ts',
});
playwrightProxy.before() signature
typescript
await playwrightProxy.before(
  page,       // Playwright Page
  testInfo,   // TestInfo from test function argument
  mode,       // 'record' | 'replay' | 'transparent'
  {
    url,      // RegExp | string — browser-side requests to intercept via HAR
    timeout,  // ms — auto-reset timeout (default: 120000)
  }
);

url is optional. Omit it for proxy-only (SSR) recording with no browser-side HAR interception.

Session file naming

Session IDs are derived from the test file path and title:

jobs/Create.spec.ts + 'create a job'  →  jobs/Create__create-a-job
location.test.ts   + 'homepage loads' →  location__homepage-loads

Files on disk:

e2e/recordings/
  jobs/Create__create-a-job.mock.json   # server-side
  jobs__Create__create-a-job.har        # browser-side (/ replaced with __)
Control endpoint
bash
# Check current proxy state
curl http://localhost:8100/__control

# Programmatically switch mode
curl -X POST http://localhost:8100/__control \
  -H 'Content-Type: application/json' \
  -d '{"mode": "record", "id": "my-test"}'

Override the default port (8100) with TEST_PROXY_RECORDER_PORT env var.

Resetting a stuck proxy

The proxy auto-reverts to transparent after each session times out, and globalTeardown resets it at the end of a clean run. But an interrupted run (Ctrl+C), a UI/debug session, or a setup without globalTeardown can leave the shared proxy stuck in record/replay, so the app keeps serving recorded responses. Reset it on demand:

bash
test-proxy-recorder reset          # or: pnpm proxy:reset

This POSTs { "mode": "transparent" } to /__control — the supported, parallel-safe replacement for resetting by hand with curl. It is safe to run anytime: an unreachable proxy is a no-op. The port is resolved with --port flag → TEST_PROXY_RECORDER_PORT env → config file → 8000, so it targets the same port the proxy was started on. proxy:reset is scaffolded by test-proxy-recorder init.

Do not wire this into a per-test afterEach under fullyParallel — like teardown(), it flips the global mode and would disrupt other workers mid-session. It is a manual recovery tool, not a per-test hook.

Common Mistakes

Common failure modes — each with the wrong vs. correct pattern — are in references/common-mistakes.md: app env var not pointed at the proxy, wrong CLIENT_SIDE_URL (matching the proxy instead of external domains), teardown() per-test breaking parallel replay, webServer.url not on /__control, gitignored recordings, and recording against the Next.js dev server or with multiple workers.

Getting help

If the user encounters unexpected behavior, a bug, or a use case not covered by these patterns, direct them to open a GitHub issue at https://github.com/asmyshlyaev177/test-proxy-recorder/issues/new. A minimal reproduction helps the maintainer resolve it quickly.

See also: test-proxy-recorder/nextjs-ssr — for tagging Next.js SSR fetches (registerProxyFetch / registerProxyAxios; the middleware is optional)

© asmyshlyaev177, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in packages/test-proxy-recorder/skills/proxy-setup of asmyshlyaev177/test-proxy-recorder.

  • SKILL.md
  • references/common-mistakes.md

Open the folder on GitHubat commit 0a7169e

Compare with similar skills

Proxy Setup 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.

Proxy Setup compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Proxy Setup this skillasmyshlyaev177/test-proxy-recorder112—~4.3kAutomated safety check: PassMIT
Next Cache Components Optimizersanity-io/ui1766 repos~6.3kAutomated safety check: PassMIT
PlaywrightKiln-AI/Kiln5.2k—~1.3kAutomated safety check: PassCustom licence
Dev Webtestclassmethod/tsumiki974—~4.2kAutomated safety check: PassMIT
Next Cache Components Optimizervercel/next.js143k—~5.8kAutomated safety check: PassMIT
Nix Playwrightsrid/emanote963—~557Automated safety check: PassCustom licence

Similar skills

  • Official

    Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation).

    176 GitHub starsUsed in 6 repos~6.3k tokens
    Testing & QAAuto-check passed
  • Playwright

    Kiln-AI/Kiln

    Look at Kiln's UI in a real browser, and run its end-to-end tests.

    5.2k GitHub stars~1.3k tokensUpdated today
    Testing & QAAuto-check passed
  • Dev Webtest

    classmethod/tsumiki

    This skill should be used when the user asks to "dev-webtest", "Webテスト", "画面の動作確認", "E2Eテスト", "web test", "visual check", "モンキーテスト", "アクセシビリティチェック", "レスポンシブテスト", "フォームテスト".

    974 GitHub stars~4.2k tokensUpdated 2 mo ago
    Testing & QAAuto-check passed
  • Official

    Optimize the meaningful UI available immediately from a Next.js route on an initial load (hard navigation) or named client-side navigation (soft navigation).

    143k GitHub stars~5.8k tokensUpdated today
    Testing & QAAuto-check passed
  • Nix Playwright

    srid/emanote

    Use this when adding Nix-based local runs for an existing Playwright e2e suite.

    963 GitHub stars~557 tokensUpdated 2 mo ago
    Testing & QAAuto-check passed
  • Senior QA

    alirezarezvani/claude-skills

    Generates unit tests, integration tests, and E2E tests for React/Next.js applications.

    28k GitHub starsUsed in 1 repo~2.1k tokens
    Testing & QAAuto-check passed

More from asmyshlyaev177/test-proxy-recorder

  • Nextjs Ssr

    asmyshlyaev177/test-proxy-recorder

    Tag server-side fetches with the x-test-rcrd-id session header so SSR is recorded under the correct Playwright test session.

    112 GitHub stars~4.4k tokensUpdated 4 days ago
    Auto-check passed
  • Tanstack Start

    asmyshlyaev177/test-proxy-recorder

    Record and replay TanStack Start SSR with test-proxy-recorder.

    112 GitHub stars~2.9k tokensUpdated 4 days ago
    Auto-check: notes

Categories

Questions about Proxy Setup

What does Proxy Setup do?

Set up test-proxy-recorder for any Playwright project. An agent skill from asmyshlyaev177/test-proxy-recorder. Proxy Setup is an agent skill from asmyshlyaev177/test-proxy-recorder. Set up test-proxy-recorder for any Playwright project.

When should I use Proxy Setup?

Proxy Setup fits situations like: tasks that involve Browser testing; tasks that involve Backend development; tasks that involve Test data and fixtures.

How do I install Proxy Setup in Claude Code?

Run `npx skills add asmyshlyaev177/test-proxy-recorder --skill proxy-setup -a claude-code`. Or copy the skill folder (packages/test-proxy-recorder/skills/proxy-setup in asmyshlyaev177/test-proxy-recorder) into .claude/skills/proxy-setup in your project. Claude Code loads it when a task matches its description.

How do I install Proxy Setup in Codex?

Run `npx skills add asmyshlyaev177/test-proxy-recorder --skill proxy-setup -a codex`. Or copy the skill folder (packages/test-proxy-recorder/skills/proxy-setup in asmyshlyaev177/test-proxy-recorder) into .agents/skills/proxy-setup in your project. Codex loads it when a task matches its description.

Can I use Proxy Setup in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add asmyshlyaev177/test-proxy-recorder --skill proxy-setup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/proxy-setup, .gemini/skills/proxy-setup, .github/skills/proxy-setup and .opencode/skills/proxy-setup in your project.

What does Proxy Setup need to run?

Going by SKILL.md and its folder, Proxy Setup needs the command-line tools its instructions call (npx, git, curl and pnpm). Our summary lists: Node.js.

Does Proxy Setup access the network?

SKILL.md contains no URLs. Its commands use npx, git and curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Proxy Setup safe to install?

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.

What licence does Proxy Setup use?

Proxy Setup is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Proxy Setup use?

About 4.3k tokens (SKILL.md is roughly 17k 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 1.3k tokens, read only when the agent opens those files.

What are the alternatives to Proxy Setup?

Skills that share tags, products or a category with Proxy Setup: Next Cache Components Optimizer (sanity-io/ui, 176 stars), Playwright (Kiln-AI/Kiln, 5.2k stars), Dev Webtest (classmethod/tsumiki, 974 stars) and Next Cache Components Optimizer (vercel/next.js, 143k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Proxy Setup?

asmyshlyaev177 (a GitHub user) maintains it in asmyshlyaev177/test-proxy-recorder, which has 112 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 3, 2026.

Source: asmyshlyaev177/test-proxy-recorder on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.