Blockbench Plugins
jasonjgardner/blockbench-mcp-plugin
Blockbench plugin/extension development for the 3D modeling tool.
Verify that browser profiles are actually isolated from one another instead of assuming it - confirm each profile's timezone agrees with its own exit IP, that WebRTC exposes only the proxy, that…
$ npx skills add antibrow/anti-detect-browser-skills --skill multi-account-isolation -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install antibrow/anti-detect-browser-skills multi-account-isolation --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/antibrow/anti-detect-browser-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/multi-account-isolation .claude/skills/multi-account-isolation && 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 "multi-account-isolation" agent skill from https://github.com/antibrow/anti-detect-browser-skills/tree/master/multi-account-isolation into .claude/skills/multi-account-isolation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "multi-account-isolation", 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/antibrow/anti-detect-browser-skills/tree/master/multi-account-isolationType 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 antibrow/anti-detect-browser-skills --skill multi-account-isolation -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install antibrow/anti-detect-browser-skills multi-account-isolation --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/antibrow/anti-detect-browser-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/multi-account-isolation .agents/skills/multi-account-isolation && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "multi-account-isolation" agent skill from https://github.com/antibrow/anti-detect-browser-skills/tree/master/multi-account-isolation into .agents/skills/multi-account-isolation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "multi-account-isolation", 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 antibrow/anti-detect-browser-skills --skill multi-account-isolation -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install antibrow/anti-detect-browser-skills multi-account-isolation --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/antibrow/anti-detect-browser-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/multi-account-isolation .cursor/skills/multi-account-isolation && 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 "multi-account-isolation" agent skill from https://github.com/antibrow/anti-detect-browser-skills/tree/master/multi-account-isolation into .cursor/skills/multi-account-isolation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "multi-account-isolation", 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/antibrow/anti-detect-browser-skills.git --path multi-account-isolation--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 antibrow/anti-detect-browser-skills --skill multi-account-isolation -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install antibrow/anti-detect-browser-skills multi-account-isolation --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/antibrow/anti-detect-browser-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/multi-account-isolation .gemini/skills/multi-account-isolation && 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 "multi-account-isolation" agent skill from https://github.com/antibrow/anti-detect-browser-skills/tree/master/multi-account-isolation into .gemini/skills/multi-account-isolation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "multi-account-isolation", 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 antibrow/anti-detect-browser-skills multi-account-isolationInstalls 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 antibrow/anti-detect-browser-skills --skill multi-account-isolation -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/antibrow/anti-detect-browser-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/multi-account-isolation .github/skills/multi-account-isolation && 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 "multi-account-isolation" agent skill from https://github.com/antibrow/anti-detect-browser-skills/tree/master/multi-account-isolation into .github/skills/multi-account-isolation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "multi-account-isolation", 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 antibrow/anti-detect-browser-skills --skill multi-account-isolation -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install antibrow/anti-detect-browser-skills multi-account-isolation --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/antibrow/anti-detect-browser-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/multi-account-isolation .opencode/skills/multi-account-isolation && 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 "multi-account-isolation" agent skill from https://github.com/antibrow/anti-detect-browser-skills/tree/master/multi-account-isolation into .opencode/skills/multi-account-isolation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "multi-account-isolation", 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.
multi-account-isolationVerify that browser profiles are actually isolated from one another instead of assuming it - confirm each profile's timezone agrees with its own exit IP, that WebRTC exposes only the proxy, that…
Multi Account Isolation is an agent skill from antibrow/anti-detect-browser-skills. Verify that browser profiles are actually isolated from one another instead of assuming it - confirm each profile's timezone agrees with its own exit IP, that WebRTC exposes only the proxy, that canvas and WebGL hashes stay identical across relaunches of one profile, and that no two profiles share a persona, a cookie jar, or an address. Use when several of your own accounts or test identities run from one machine and the setup needs checking, when a profile tested clean but something still looks off, when…
Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Game Development, covering 3D graphics and WebGL. It works with Model Context Protocol. The repository describes itself as: Launch and manage anti-detect browsers with unique real-device fingerprints for multi-account operations, web scraping, ad verification, and AI agent automation. The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit b800e3a. 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:
pythonnpxnpmFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
antibrow.comAlso links to:
browserleaks.comabrahamjuliot.github.iowhoer.netpixelscan.netliarjs.devFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
ANTI_DETECT_BROWSER_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Multi Account Isolation loads about 2.9k tokens when it runs. Until then it costs about 256 tokens; SKILL.md has 1,290 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 antibrow/anti-detect-browser-skills at commit b800e3a, republished under its MIT licence (© antibrow). 1,290 words, ~2,856 tokens.
.claude/skills/multi-account-isolation/SKILL.md (or your agent's skills folder).A profile that looks isolated usually is not. The failures are boring and mechanical: a timezone that does not match the exit IP, a WebRTC candidate carrying the real address, a canvas hash that changes on every read, two profiles that ended up on the same persona. This skill is the check list for catching those before they matter.
Authorized use only. This is for identities you own or are authorized to operate: your own accounts, your own test fixtures, your own QA fleet, and your own anti-fraud stack. It is not for accessing systems without authorization, for accounts that are not yours, or for creating fake accounts or engagement. Comply with the terms of the sites you automate and with applicable law - see Acceptable use.
What this does not claim. Passing every check below means the browser layer is internally consistent. It does not mean a given site will treat two profiles as unrelated: things entirely outside the browser - a shared payment instrument, a shared contact detail, identical activity patterns - are not something any browser setting reaches. Treat a clean result as "the technical layer is not the problem", not as a guarantee.
For the SDK that creates and launches these profiles, see the anti-detect-browser skill.
One identity gets one of everything. Any cell shared between two identities is a defect to find:
identity → profile → persona → proxy → timezone
1 : 1 : 1 : 1 : 1Profiles are unlimited and free on every antibrow plan, so there is never a reason to reuse one. "Log out and log back in as the other identity" inside one profile defeats the entire setup - the cookie jar and localStorage are the point.
import { AntiDetectBrowser } from 'anti-detect-browser'
const ab = new AntiDetectBrowser({ key: process.env.ANTI_DETECT_BROWSER_KEY })
const identities = [
{ profile: 'fixture-us-01', proxy: process.env.PROXY_US_1, tags: ['Windows 10', 'Chrome'] },
{ profile: 'fixture-us-02', proxy: process.env.PROXY_US_2, tags: ['Apple Mac', 'Safari'] },
{ profile: 'fixture-de-01', proxy: process.env.PROXY_DE_1, tags: ['Windows 10', 'Edge'] },
]
for (const id of identities) {
const { browser, page } = await ab.launch({
profile: id.profile, // isolated cookies, storage, login state
proxy: id.proxy, // from the environment, one per identity
fingerprint: { tags: id.tags }, // drawn once, frozen, replayed after
label: id.profile, // address-bar tag drawn by the kernel, unreadable from the page
})
// ... run the checks below, then ...
await browser.close()
}Python, same on-disk profile format:
import os
from antibrow import launch
with launch(
profile="fixture-us-01",
proxy=os.environ["PROXY_US_1"], # from the environment, never a literal
geoip=True, # timezone + WebRTC follow the proxy exit
label="fixture-us-01",
) as browser:
page = browser.new_page()
print(browser.timezone, browser.public_ip)Run each profile through its own proxy, and assert rather than eyeball.
| # | Check | How | Fails when |
|---|---|---|---|
| 1 | Timezone matches the exit IP | browser.timezone vs the country of browser.public_ip | geoip was disabled, or timezone was forced to something the IP contradicts. This is the single most common defect. |
| 2 | WebRTC exposes only the proxy | browserleaks.com/webrtc | ICE candidates still carry a local or real public address |
| 3 | Canvas hash is stable across launches | Read it, close, relaunch the same profile, read again | The two reads differ - a value that changes every read is itself an anomaly, and it means the persona is not frozen |
| 4 | Worker and main thread agree | CreepJS | UA, languages, hardwareConcurrency, timezone or GPU differ when re-read inside a Web Worker |
| 5 | One GPU across three interfaces | CreepJS, or read WebGL / WebGL2 / WebGPU directly | adapter.info.vendor does not match the unmasked WebGL renderer family |
| 6 | No two profiles share a persona | Diff browser.persona across the fleet | Two profiles report the same UA, screen geometry and seeds |
| 7 | No two profiles share an address | Collect browser.public_ip for the fleet | Two identities came out of the same exit, or the same /24 |
| 8 | Cookie jars are separate | Compare browser.profile_dir across the fleet, then inspect user-data/ inside each | Two identities resolve to one directory, or one directory holds state belonging to another identity |
| 9 | One identity, one profile tree | Confirm every launch of a name passes the same temporary value | A managed gmail and a temporary gmail are two different profiles with two personas and two cookie jars. A script that disagrees with itself about temporary is running two identities under one name and will look like a logged-out session, not like a bug |
| 10 | Whole-stack coherence | whoer.net, pixelscan.net | IP, timezone and locale disagree at a glance |
| 11 | Consistency rules in CI | npx liarjs (liarjs.dev) | Any of ~40 open-source cross-layer rules fail - this is the one that runs unattended |
Checks 1, 3 and 7 are the ones worth wiring into CI: they are cheap, deterministic, and they catch the defects that actually recur.
Work down in this order, cheapest first - a fingerprint is almost never the actual cause:
list_profiles, or compare browser.profile_dir per identity. Two identities in one directory explains everything else. Directories are named after the profile's id, not its name, so match on profile.json inside rather than on the folder name.public_ip is distinct.browser.timezone and browser.public_ip together.profile_dir or the cache directory changed under it.Any tool that drives logged-in sessions receives cookies and proxy credentials, so it is fair to ask what it does with them. For antibrow:
| Artifact | Where it lives | Who sees it |
|---|---|---|
Cookies, localStorage, login state | ~/.anti-detect-browser/profiles/<id>/user-data/ on your disk, or profiles-temp/<id>/ for a temporary profile | Local. Cloud sync is opt-in per profile: a launch never creates a cloud profile by itself, and sync: true is what puts one there. Check which profiles sync before assuming they stay on the machine |
Persona (persona.json) | same profile directory, written once and frozen | Local |
Profile identity record (profile.json) | same profile directory; the id it holds is what names the directory | Local. It is why a rename does not cost a persona, and why the folder name is not the profile name |
| Proxy URL and its credentials | passed to the kernel at launch; answered in the network stack (HTTP 407 / SOCKS5 RFC 1929) so no extension holds them | The kernel process and your proxy provider |
| API key | your environment, or ~/.antibrow/license.key | Exchanged with antibrow.com for a short-lived license token, roughly once a day |
The kernel is a closed-source Chromium build - that is the tradeoff for the spoofing living in C++ rather than in an injectable script - so verify behaviour rather than take it on faith:
python -m antibrow info # kernels, profiles, license state, cache dirbrowser.plan.redacted_args() # exact kernel command line, secrets masked - safe to paste in a bug reportPoint it at a proxy whose logs you can read, or at a local MITM proxy, and watch what leaves the machine during a launch. Pin the SDK version and check the published hash (npm view anti-detect-browser@2.8.0 dist.integrity) so the code you audited is the code that runs. If a deployment must not phone home at all, this is the wrong tool: license verification is compiled into the kernel and there is no offline mode.
Worth stating plainly, because a clean check list invites the wrong conclusion:
If every check passes and something still looks wrong, the cause is in this list, not in the browser layer.
Intended: verifying isolation between identities you own; running client accounts with the account holder's authorization; building QA fixtures that emulate distinct devices; testing your own anti-fraud and correlation logic; auditing what a browser runtime does with your credentials.
Out of scope, and not supported: accessing any system without authorization; logging into accounts that are not yours; credential stuffing or account takeover; creating fake accounts, reviews or engagement; circumventing an authentication, payment or authorization control; scraping personal data in violation of applicable law; working around a platform's enforcement decision.
Complying with the terms of the platforms being used, and with applicable law, is the operator's responsibility. Report abuse or a security issue via the contact at https://antibrow.com.
© antibrow, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in multi-account-isolation of antibrow/anti-detect-browser-skills.
Open the folder on GitHubat commit b800e3a
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in antibrow/anti-detect-browser-skills, which our catalogue first saw on October 7, 2026.
Multi Account Isolation 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 |
|---|---|---|---|---|---|---|
| Multi Account Isolation this skillantibrow/anti-detect-browser-skills | 17 | 1 repos | ~2.9k | Automated safety check: Pass | MIT | |
| Blockbench Pluginsjasonjgardner/blockbench-mcp-plugin | 495 | — | ~2.8k | Automated safety check: Pass | GPL-3.0 | |
| Octocode Mannequinbgauryy/octocode | 949 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Unreal Scene Buildingflopperam/unreal-engine-mcp | 1.1k | — | ~1.4k | Automated safety check: Pass | None | |
| Investigate Canvas UIatty303/pob-web | 103 | — | ~1.4k | Automated safety check: Pass | MIT | |
| Fal Assetsrehan-remade/universal-modder | 5.8k | — | ~2k | Automated safety check: Notes | MIT |
jasonjgardner/blockbench-mcp-plugin
Blockbench plugin/extension development for the 3D modeling tool.
bgauryy/octocode
Poses and animates a 22-bone anatomical humanoid rig with joint range-of-motion limits, using a Node CLI, a Three.js viewer and WebMCP tools an agent can drive live.
flopperam/unreal-engine-mcp
Guides scene and world building in Unreal Engine through the Flopperam MCP: placing actors, sculpting landscapes, scattering foliage, editing materials and verifying the level.
atty303/pob-web
Investigate this repository's Canvas/WebGL UI with Playwright MCP Vision Mode.
rehan-remade/universal-modder
Generate game assets with fal (fal.ai) through the fal MCP server, the um fal CLI (REST) or fal api.
mintdotgg/mint-threejs-skills
Build or upgrade complete Three.js browser games by coordinating gameplay, Mint MCP assets, graphics, UI, debugging, performance, QA, and release.
antibrow/anti-detect-browser-skills
Give an AI agent its own real browser over MCP tool calls - launch, navigate, click, fill, screenshot, extract text, run JS - with a kernel-level real-device fingerprint and a persistent profile, so…
antibrow/anti-detect-browser-skills
Drive Chromium from standard Playwright APIs with a real-device fingerprint applied in the kernel, one persistent isolated profile per identity, and a per-profile proxy whose exit IP sets timezone…
antibrow/anti-detect-browser-skills
Run the same scrape or task across many accounts at once - each in its own browser profile with its own fingerprint, cookies and exit IP - and read data from sites that need a session or that answer…
Works with
Categories
Verify that browser profiles are actually isolated from one another instead of assuming it - confirm each profile's timezone agrees with its own exit IP, that WebRTC exposes only the proxy, that…. Multi Account Isolation is an agent skill from antibrow/anti-detect-browser-skills. Verify that browser profiles are actually isolated from one another instead of assuming it - confirm each profile's timezone agrees with its own exit IP, that WebRTC exposes only the proxy, that canvas and WebGL hashes stay identical across relaunches of one profile, and that no two profiles share a persona, a cookie jar, or an address.
Multi Account Isolation fits situations like: several of your own accounts; test identities run from one machine and the setup needs checking; A profile tested clean but something still looks off; choosing which detection suites to run (CreepJS.
Run `npx skills add antibrow/anti-detect-browser-skills --skill multi-account-isolation -a claude-code`. Or copy the skill folder (multi-account-isolation in antibrow/anti-detect-browser-skills) into .claude/skills/multi-account-isolation in your project. Claude Code loads it when a task matches its description.
Run `npx skills add antibrow/anti-detect-browser-skills --skill multi-account-isolation -a codex`. Or copy the skill folder (multi-account-isolation in antibrow/anti-detect-browser-skills) into .agents/skills/multi-account-isolation 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 antibrow/anti-detect-browser-skills --skill multi-account-isolation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/multi-account-isolation, .gemini/skills/multi-account-isolation, .github/skills/multi-account-isolation and .opencode/skills/multi-account-isolation in your project.
Going by SKILL.md and its folder, Multi Account Isolation needs the command-line tools its instructions call (python, npx and npm) and credentials named ANTI_DETECT_BROWSER_KEY. Our summary lists: Python 3; Node.js; A credential in ANTI_DETECT_BROWSER_KEY.
SKILL.md names 6 domains. In commands or code: antibrow.com; the agent is likely to contact it when it follows the instructions. As links in the text: browserleaks.com, abrahamjuliot.github.io, whoer.net, pixelscan.net and liarjs.dev. 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.
Multi Account Isolation is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.9k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Multi Account Isolation: Blockbench Plugins (jasonjgardner/blockbench-mcp-plugin, 495 stars), Octocode Mannequin (bgauryy/octocode, 949 stars), Unreal Scene Building (flopperam/unreal-engine-mcp, 1.1k stars) and Investigate Canvas UI (atty303/pob-web, 103 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
antibrow (a GitHub user) maintains it in antibrow/anti-detect-browser-skills, which has 17 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on August 28, 2026.
Source: antibrow/anti-detect-browser-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.