Skip to content
Automation
Skill

/pinchtab-stealth-score

Run the PinchTab stealth-score sweep against 15 bot-detection / fingerprint sites (sannysoft, rebrowser, deviceandbrowserinfo, iphey, whoer, browserscan, pixelscan, fingerprint-scan, incolumitas, fvision, amiunique, browserleaks, creepjs, coveryourtracks, fingerprint-demo).

From plugin
pinchtab
11k5 skills1 MCP

Claude Code

$ npx -y skills add pinchtab/pinchtab --skill pinchtab-stealth-score --agent claude-code

SKILL.md

pinchtab-stealth-score.SKILL.md
name: pinchtab-stealth-score
description: "Run the PinchTab stealth-score sweep against 15 bot-detection / fingerprint sites (sannysoft, rebrowser, deviceandbrowserinfo, iphey, whoer, browserscan, pixelscan, fingerprint-scan, incolumitas, fvision, amiunique, browserleaks, creepjs, coveryourtracks, fingerprint-demo). Starts a Docker PinchTab container per browser (chrome / cloak / both), spawns a blind agent that drives PinchTab through plain-English per-site playbooks, captures structured metrics, prints a side-by-side comparison highlighting divergent metrics, and appends to history.jsonl for cross-session tracking. Use when asked to 'run stealth score', 'compare cloak vs chrome detection', 'measure stealth', or '/pinchtab-stealth-score'."

PinchTab Stealth Score

Drive PinchTab through a list of public bot-detection sites under each browser (`chrome`, `cloak`, or `both`), and collect the metrics that matter most for analyst comparison. `up.sh` reuses cached images, so pass `REBUILD=1` when you need to benchmark the current working tree.

The shape is the same as `/pinchtab-opt`: one container per run, one blind agent that reads English playbooks and drives PinchTab through `./scripts/pt`, records per-site metrics, and the orchestrator summarizes.

Argument Parsing

  • `/pinchtab-stealth-score` → default to `both`
  • `/pinchtab-stealth-score chrome` → chrome only
  • `/pinchtab-stealth-score cloak` → cloak only
  • `/pinchtab-stealth-score both` → run both sequentially

Anything else → print this section and abort.

Site Catalogue

The agent processes the sites listed in `tests/stealth-score/sites/index.md` (currently 15). The list is dynamic — to add or remove sites you only edit that index and the matching `<id>.md` playbook. The skill itself doesn't hard- code site names.

Current sites (15) — `sannysoft`, `rebrowser`, `deviceandbrowserinfo`, `iphey`, `whoer`, `browserscan`, `pixelscan`, `fingerprint-scan`, `incolumitas`, `fvision`, `amiunique`, `browserleaks` (multi-page: canvas+webgl+fonts+tls), `creepjs`, `coveryourtracks`, `fingerprint-demo`.

Expected duration: ~12-15 min per browser once images are cached, so a `both` run takes ~25-30 min plus first-time image build (~10 min for cloak).

Path Resolution

PROJECT_ROOT=$(git rev-parse --show-toplevel)
SCORE_DIR="$PROJECT_ROOT/tests/stealth-score"
RESULTS_DIR="$SCORE_DIR/results"
TIMESTAMP=$(date -u +%Y%m%dT%H%M%SZ)
mkdir -p "$RESULTS_DIR"

Prerequisites

Docker must be running.

docker info >/dev/null 2>&1 || { echo "Docker not running"; exit 1; }

If port 9867 on the host is already taken (e.g. a native PinchTab server), free it first — both the chrome and cloak containers bind 9867:

pinchtab daemon stop 2>&1 || true
sleep 2
pkill -9 -f "pinchtab " 2>/dev/null || true

Execution

For each requested browser, run the same loop:

1. Bring up the container

"$SCORE_DIR/up.sh" "$PROVIDER"

`up.sh` builds the appropriate image if absent (`pinchtab-local:test` + `pinchtab-chrome-smoke:test`, or `pinchtab-cloakbrowser:test`), writes a browser config with open `allowedDomains`, and starts a container named `stealth-score-pinchtab` on host port 9867. It exits non-zero if the container fails to become healthy.

To force a rebuild: `REBUILD=1 "$SCORE_DIR/up.sh" "$PROVIDER"`.

2. Seed the report JSON

REPORT_FILE="$RESULTS_DIR/${PROVIDER}_${TIMESTAMP}.json"
cat > "$REPORT_FILE" <<JSON
{
  "provider": "${PROVIDER}",
  "timestamp": "${TIMESTAMP}",
  "started_at": "$(date -u +%Y-%m-%dT%H:%M:%SZ)",
  "completed_at": null,
  "sites_processed": 0,
  "sites": []
}
JSON

3. Spawn the agent

Use the **Agent** tool. Prompt template — replace `{PROVIDER}`, `{REPORT_FILE}`, `{PROJECT_ROOT}`:

You are running a PinchTab stealth-score sweep against a Docker container.

PROVIDER: {PROVIDER}
REPORT_FILE: {REPORT_FILE}
PROJECT_ROOT: {PROJECT_ROOT}

Read these files first (do NOT read anything under tests/stealth-score/results/):
1. {PROJECT_ROOT}/tests/stealth-score/subagent-context.md — environment, wrapper, recording format.
2. {PROJECT_ROOT}/tests/stealth-score/sites/index.md — list of sites to process and in what order.
3. {PROJECT_ROOT}/skills/pinchtab/SKILL.md — PinchTab command reference.

The site list currently has ~15 entries. Work through them in the order index.md gives. For each site:
- Read its playbook (sites/<id>.md). It describes what to navigate to, what to wait for, any clicks needed, and which metrics to capture.
- Drive PinchTab through the {PROJECT_ROOT}/tests/tools/scripts/pt wrapper. Before any pt call: cd {PROJECT_ROOT}/tests/tools and export PINCHTAB_CONTAINER=stealth-score-pinchtab and PINCHTAB_TOKEN=stealth-score-token.
- Extract the listed metrics from what you actually observe on the page. Capture as many of the listed metrics as you can find — partial captures are fine; record "unavailable" plus a brief reason when a metric isn't present.
- Append a JSON record to REPORT_FILE per the recording format in subagent-context.md.

Time-box each site to ~2 minutes. If a site is slow, hangs, or shows a Cloudflare challenge, record what you have, set notes accordingly, and move on.

Finalize the report (set completed_at + sites_processed) and print STEALTH_SCORE_RUN_COMPLETE on stdout as your final line.

The container is already running and healthy. Do NOT touch Docker, do NOT switch browsers, do NOT run `pinchtab server` or `daemon` — the wrapper talks to the container directly.

4. Tear down

"$SCORE_DIR/down.sh"

When both browsers are requested, run **sequentially**: up → agent → down for chrome, then up → agent → down for cloak. They share port 9867.

Summarize

After all per-browser JSON reports exist, build the side-by-side comparison using the Go runner:

"$PROJECT_ROOT/tests/tools/scripts/runner" stealth compare \
  "$RESULTS_DIR"/*_${TIMESTAMP}.json

`tests/tools/scripts/runner` is a tracked self-

Read more
@pinchtab
Ships withpinchtab

High-performance browser automation bridge and multi-instance orchestrator with advanced stealth injection and real-time dashboard.

11k5 skills1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
10.6k
Star history of pinchtab/pinchtab on GitHub, a chart by star-history.com

Other skills on pinchtab.

pinchtab-mcp

pinchtab-mcp

Use this skill when a task requires browser automation through PinchTab's MCP server connected to a remote browser instance.…

@pinchtab@pinchtabInstall Skill
pinchtab

pinchtab

Use this skill when a task needs browser automation through PinchTab: open a website, inspect interactive elements, click through…

@pinchtab@pinchtabInstall Skill
pinchtab-dev

pinchtab-dev

Develop and contribute to the PinchTab project. Use when working on PinchTab source code, adding features, fixing bugs, running…

@pinchtab@pinchtabInstall Skill
pinchtab-opt

pinchtab-opt

Run the PinchTab optimization loop (Docker, 3 blind subagents on the runner's HIGH model, 108 steps across 47 groups) against…

@pinchtab@pinchtabInstall Skill

More skills from other plugins.

agent-builder

agent-builder

Load immediately after an Agent intent, before the first agent_builder_* call. Governs how you create, configure, test, and…

n8n12d209k
@n8n-io@n8n-ioInstall Skill
browser-use

browser-use

Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…

@browser-use@browser-useInstall Skill
agent-browser

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…

@vercel-labs-2@vercel-labs-2Install Skill
add-anydoc

add-anydoc

Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when…

@nanocoai@nanocoaiInstall Skill

Questions about pinchtab-stealth-score.

Which coding agents can use pinchtab-stealth-score?
pinchtab-stealth-score installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.