Cross Origin Iframe Probe
jumodada/Drissionpage-MCP-Server
A skill your agent uses when a drissionpage-mcp task targets an iframe such as a payment widget, challenge, SSO flow, or embedded checkout.
Search and call websites through Unbrowse's hosted API or remote MCP, reuse indexed site tools, read pages, and learn missing routes in its cloud browser.
$ npx skills add unbrowse-ai/unbrowse --skill unbrowse -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install unbrowse-ai/unbrowse unbrowse --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/unbrowse-ai/unbrowse.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skill .claude/skills/unbrowse && 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 "unbrowse" agent skill from https://github.com/unbrowse-ai/unbrowse/tree/main/skill into .claude/skills/unbrowse/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "unbrowse", 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/unbrowse-ai/unbrowse/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 unbrowse-ai/unbrowse --skill unbrowse -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install unbrowse-ai/unbrowse unbrowse --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/unbrowse-ai/unbrowse.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skill .agents/skills/unbrowse && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "unbrowse" agent skill from https://github.com/unbrowse-ai/unbrowse/tree/main/skill into .agents/skills/unbrowse/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "unbrowse", 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 unbrowse-ai/unbrowse --skill unbrowse -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install unbrowse-ai/unbrowse unbrowse --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/unbrowse-ai/unbrowse.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skill .cursor/skills/unbrowse && 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 "unbrowse" agent skill from https://github.com/unbrowse-ai/unbrowse/tree/main/skill into .cursor/skills/unbrowse/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "unbrowse", 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/unbrowse-ai/unbrowse.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 unbrowse-ai/unbrowse --skill unbrowse -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install unbrowse-ai/unbrowse unbrowse --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/unbrowse-ai/unbrowse.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skill .gemini/skills/unbrowse && 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 "unbrowse" agent skill from https://github.com/unbrowse-ai/unbrowse/tree/main/skill into .gemini/skills/unbrowse/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "unbrowse", 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 unbrowse-ai/unbrowse unbrowseInstalls 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 unbrowse-ai/unbrowse --skill unbrowse -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/unbrowse-ai/unbrowse.git skills-src && mkdir -p .github/skills && cp -r skills-src/skill .github/skills/unbrowse && 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 "unbrowse" agent skill from https://github.com/unbrowse-ai/unbrowse/tree/main/skill into .github/skills/unbrowse/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "unbrowse", 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 unbrowse-ai/unbrowse --skill unbrowse -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install unbrowse-ai/unbrowse unbrowse --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/unbrowse-ai/unbrowse.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skill .opencode/skills/unbrowse && 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 "unbrowse" agent skill from https://github.com/unbrowse-ai/unbrowse/tree/main/skill into .opencode/skills/unbrowse/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "unbrowse", 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.
unbrowseSearch and call websites through Unbrowse's hosted API or remote MCP, reuse indexed site tools, read pages, and learn missing routes in its cloud browser.
Unbrowse is an agent skill from unbrowse-ai/unbrowse. Search and call websites through Unbrowse's hosted API or remote MCP, reuse indexed site tools, read pages, and learn missing routes in its cloud browser. Use for structured website tasks, and authenticated site access with Unbrowse.
Its SKILL.md is about 3.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/tools.json`).
It sits in Agent Workflows, covering Browser automation and MCP servers. It works with Model Context Protocol. The repository describes itself as: Unbrowse - Reverse engineer any website so that your agents can access its APIs directly. The licence is MIT.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit b335b96. 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:
npxclaudecodexFrom 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:
unbrowse.aiAlso links to:
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
UNBROWSE_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Unbrowse loads about 3.7k tokens when it runs, and up to ~11k if it reads all its reference files. Until then it costs about 61 tokens; SKILL.md has 2,056 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 unbrowse-ai/unbrowse at commit b335b96, republished under its MIT licence (© unbrowse-ai). 2,056 words, ~3,703 tokens.
.claude/skills/unbrowse/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Use the hosted service at https://unbrowse.ai. Execution, indexed routes and website sessions stay server-side. This skill supplies operating guidance; signing in is OAuth, below.
Sign-in is OAuth in the person's browser: an emailed sign-in link, then Allow. No password, and nothing to paste. Never ask the person for a token or key in chat.
Check first, then sign in only what is missing:
unbrowse_discover is in this session's tool list, the MCP is signed in.npx unbrowse whoami. Exit 0 means signed in. Exit 3 means not signed in.Sign in the MCP (agent hosts):
claude mcp add --transport http unbrowse https://unbrowse.ai/mcp{"mcpServers":{"unbrowse":{"url":"https://unbrowse.ai/mcp"}}}The host runs the OAuth sign-in itself (in Claude Code: /mcp, pick unbrowse, Authenticate). Do not put a bearer header in the config; with one set, hosts skip OAuth. A URL in a config is not a signed-in session: until the host finishes OAuth, the Unbrowse tools are not listed.
Sign in the CLI:
npx skills add unbrowse-ai/unbrowse && npx unbrowse loginunbrowse login opens the sign-in page in the browser on this machine. The person enters their email, opens the link, presses Allow; the CLI prints Signed in to https://unbrowse.ai (workspace ws_…) and stores the token at ~/.config/unbrowse/cli.json (mode 0600, refreshed automatically).
From an agent's shell (no terminal for the person): run npx unbrowse login --no-open in the background, give the person the https://unbrowse.ai/authorize?… link it prints, and wait for the Signed in line. The link returns to 127.0.0.1 on this machine, so the person must open it in a browser on the same machine. On a remote or headless box, use an API key instead (below). Any other command run with no sign-in starts the same browser sign-in when it has a terminal; without one it exits 3 and asks for unbrowse login.
Then the first call: npx unbrowse run 'top stories on hacker news'. The site requests go from the person's own IP by default; --from-unbrowse sends them from Unbrowse instead.
npx unbrowse mcp (a stdio MCP for hosts that need one) uses the CLI sign-in. A remote MCP in a host config uses only that host's own OAuth: one sign-in does not cover the other, and the CLI token does not go into an MCP config.
For automation and CI without a browser, set UNBROWSE_API_KEY from the caller's secret manager (create a key in the signed-in console at https://unbrowse.ai/app). Never put keys into committed config, prompts, command arguments or logs.
CLI and SDK: https://github.com/unbrowse-ai/unbrowse
Packaged installs that bundle this skill, connect Unbrowse and redirect the host's own browser to it (https://github.com/unbrowse-ai/unbrowse/tree/main/plugins):
claude plugin marketplace add unbrowse-ai/unbrowse, then claude plugin install unbrowse@unbrowse.codex plugin marketplace add unbrowse-ai/unbrowse, then codex plugin add unbrowse@unbrowse; set web_search = "disabled" to drop built-in search.grok plugin install unbrowse-ai/unbrowse#plugins/grok-build --trust.@unbrowse/openclaw), Hermes (plugins/hermes), elizaOS (@unbrowse/plugin-unbrowse): native tools or actions over the same MCP.Hosts that need a stdio server or reject dotted tool names can run npx unbrowse mcp: tool names there use _ (unbrowse_scrape). With a plugin installed, built-in web fetch, web search and browser navigation to non-local URLs are refused with a pointer to the matching Unbrowse tool; UNBROWSE_ALLOW_BUILTIN_BROWSER=1 lifts that for a session.
unbrowse discover, run, inspect, resume, scrape <url> (one page as markdown), index <url> (teach a site; index status), registry, site, whoami. scrape and index need CLI 12.2.0 or later. unbrowse run never drives a website in a browser (the only browser it opens is the first-use sign-in). There is no unbrowse browse and no unbrowse install. unbrowse help describes the installed version.Core MCP tools: unbrowse_discover, unbrowse_run, unbrowse_inspect, unbrowse_resume, unbrowse_cancel, unbrowse_scrape, unbrowse_map, unbrowse_sites, unbrowse_usage, unbrowse_credits, unbrowse_forget, unbrowse_learn, unbrowse_index, unbrowse_index_status, unbrowse_credentials_list, unbrowse_credentials_request, unbrowse_credentials_status, unbrowse_connect (connect an app's own MCP server, such as Linear, Notion or GitHub, so its tools run as the person: an app with sign-in returns a link the person opens), and the cloud browser unbrowse_browse_open, unbrowse_browse_snapshot, unbrowse_browse_act, unbrowse_browse_finish, unbrowse_browse_close.
references/tools.json contains the exported core MCP input schemas. The connected server's tools/list is authoritative: it also includes dynamic tools available to this user's workspace. Never invent a capability ID or input schema.
unbrowse_discover {query}. Inspect returned inputs, choices and hints. Prefer a healthy matching capability; warm means HTTP replay, rendered needs rendering. Check unbrowse_sites for saved session and login state when relevant. Public tools carry version, the Unbrowse version that generated them (YYYY.MM.DD); among equal matches the newest comes first, and minVersion leaves older ones out.unbrowse_run {capability, input}. A natural-language task can route when no ID was selected. Use a stable idempotencyKey for the same intended mutation. For a large answer pass select (MCP run tools, unbrowse_resume, unbrowse_inspect, POST /api/v1/runs): paths like ["results[].{id,title,price}", "total"]. It narrows only what comes back, after verification; billing is unchanged. Results over 40,000 characters are shortened (truncated: true); selectMissing lists paths that matched nothing.input_required means answer the open requirements on the same run: unbrowse_resume {runId, answers:{field:value}}. For a choice, pass the listed option's value. Preserve revision checks when supplied.no_capability means no reusable route matched. Follow result.next: tool is unbrowse_index (POST /api/v1/index, then GET /api/v1/index/{jobId}; CLI unbrowse index <url>). To answer now, read the page instead: unbrowse_scrape (CLI unbrowse scrape <url>). Call unbrowse_browse_open only when that name is in this session's tool list. Do not POST /api/v1/browse/open. It is not a route. Report unsupported or blocked sites honestly.outcome_unknown means a change may have occurred: inspect the effect receipt and destination before retrying. Cancellation stops future dispatches; it does not undo completed effects.Do not infer business success from HTTP 200, tool transport success, a screenshot, or a generated plan. Do not promise universal coverage or browserless execution on every first request. Obtain the user's authorization for posting, sending, purchasing or other external writes.
When the person names a site:
unbrowse_discover is not in this session's tool list, the MCP is not signed in. Stop. Name the configured MCP URL and say the CLI login does not cover it.unbrowse_sites, or CLI unbrowse site <host>). Tools already compiled: use one. Stop.unbrowse_index {url, focus} or POST /api/v1/index. Poll unbrowse_index_status or GET /api/v1/index/{jobId}.status: failed and error.code: model_unavailable: the indexing model is out of credit. Report the job id and the message. Do not browse instead, and do not start the same job again in a loop.status: done with indexed: 0 means nothing was learned. Say so. indexed > 0 means call one tool and check the result.A 202 from /api/v1/index is a job id, not a compiled tool.
Each compiled site is also a REST API, for code rather than an agent session:
GET https://unbrowse.ai/api/v1/sites/<host>/openapi.json: OpenAPI 3.1, one operation per tool, typed inputs, an example input it was verified with, every status and header. No key needed to read.POST https://unbrowse.ai/api/v1/sites/<host>/call/<tool> with the tool's inputs as the JSON body and Authorization: Bearer <key>. Options: x-unbrowse-deadline-ms, Idempotency-Key, select. 202 means input_required; 504 run_timeout gives a runId to poll; 409 tool_quarantined means use another tool.new Unbrowse().callTool(host, tool, input).Contract and examples: https://unbrowse.ai/docs/site-apis.md
Prefer unbrowse_discover and a matching tool or unbrowse_run for structured data and site tasks. unbrowse_scrape {url} is a last resort for static pages and documents, only when no suitable API or learned tool is available. A PDF, .docx, .xls or .xlsx URL comes back as extracted markdown text (metadata.pages for PDFs; spreadsheets preserve sheet names, rows and formatted values). metadata.truncated marks bounded extraction; formats: ["raw"] returns the exact document bytes as base64; unbrowse_map {url} finds same-site URLs. A known URL or scrape's rendering support does not make it the default. For dynamic content, search, pagination or interaction with no matching route, use unbrowse_index or the available cloud browser tools to learn and replay the site's API:
unbrowse_browse_open {url,task} returns the page and element refs.browse.act with the latest refs. For ordinary inputs, include a meaningful name such as date or query; exercise every filter the task needs. Refresh the snapshot after page changes.browse.finish {sessionId} to return the final page and compile observed routes. Two sessions with different inputs help identify reusable parameters. Check learnError and newTool; browsing success alone does not prove a reusable route exists.browse.close still indexes unless discard:true.To cover a whole site ahead of need, unbrowse_index {url, focus?, maxCapabilities?} starts a background job: Unbrowse's own agent performs the site's core read-only capabilities, proves each with a browserless replay and adds them to your tools. Follow it with unbrowse_index_status {jobId}. maxCapabilities caps every tool the job indexes (declared, sitemap page types and recorded flows together). A focus keeps only sitemap page types that match it, and none when it names flows such as paging, page size, filters or search. Query keys in the start URL (?page=0&pageSize=100) become the tool's inputs. stoppedReason says why a job ended. The time budget is extended once, by half, while tools are still being proven.
An existing HAR pair can be sent through unbrowse_learn. Only submit recordings the user authorized; HARs can contain private data. Private and loopback destinations are refused by the hosted service.
Unbrowse account sign-in and a website's saved login are separate. Never ask for passwords in chat or type credentials via ordinary tool arguments.
browse.act {sessionId,action:"autofill"}, or vault:"username"|"email"|"password"|"totp" on a fill action. Values go directly from the vault to the site.signIn.url or details.url save-login link. unbrowse_credentials_request can create one; credentials.status checks whether it was fulfilled. Resume only after it is ready.Read-only secretless learned routes may be scrubbed and shared to the public registry. The owner can opt out in the console. Logins, private session values and writes are not public tool definitions.
When the caller is an agent a builder runs for its own users, it uses an org key and names the user on every call: X-Unbrowse-End-User: <that user's id> (REST and MCP headers). Each user has their own logins and sessions.
signIn.url (a /connect/… link) is for that same user: deliver it to them, not to the builder or another user. They save the login there without an Unbrowse account; wait for unbrowse_credentials_status to be fulfilled, then call again.org__… tools are shared by the org's users (read-only, no logins); my__… tools are the current user's own.Guide: https://github.com/lekt9/unbrowse6/blob/master/docs/orgs.md
npx unbrowse login. Remote MCP 401: the host's own OAuth for that server (Claude Code: /mcp). One sign-in does not fix the other.model_unavailable on an index job: the indexing model is out of credit. Report the job id. No tools were compiled. This is not unbrowse_usage and not the site.unbrowse_credits shows free/paid balances and can return a checkout link for the user. Opening a billing link does not authorize payment.unbrowse_usage; this skill does not fix prices.© unbrowse-ai, 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 unbrowse-ai/unbrowse.
Open the folder on GitHubat commit b335b96
Unbrowse 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 |
|---|---|---|---|---|---|---|
| Unbrowse this skillunbrowse-ai/unbrowse | 783 | — | ~3.7k | Automated safety check: Pass | MIT | |
| Cross Origin Iframe Probejumodada/Drissionpage-MCP-Server | 487 | — | ~1.2k | Automated safety check: Pass | Custom licence | |
| Turnstile Testingjumodada/Drissionpage-MCP-Server | 487 | — | ~1.7k | Automated safety check: Pass | Custom licence | |
| Xiaohongshu Content Researchjumodada/Drissionpage-MCP-Server | 487 | — | ~768 | Automated safety check: Pass | Custom licence | |
| Lightpandalightpanda-io/agent-skill | 101 | — | ~6k | Automated safety check: Pass | Apache-2.0 | |
| Claude in Chrome MCP Troubleshootingtrailofbits/skills | 7.5k | 3 repos | ~2.6k | Automated safety check: Pass | CC-BY-SA-4.0 |
jumodada/Drissionpage-MCP-Server
A skill your agent uses when a drissionpage-mcp task targets an iframe such as a payment widget, challenge, SSO flow, or embedded checkout.
jumodada/Drissionpage-MCP-Server
A skill your agent uses when testing an authorized Cloudflare Turnstile integration or operating an authorized production challenge with drissionpage-mcp.
jumodada/Drissionpage-MCP-Server
A skill your agent uses for authorized, read-only research on public Xiaohongshu content or the local Xiaohongshu-like playground fixture.
lightpanda-io/agent-skill
Lightpanda browser, drop-in replacement for Chrome-based browsing in any AI agent - faster and lighter for tasks without graphical rendering like data retrieval.
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.
hodgef/apiker
Build AI agents on Cloudflare Workers using the Agents SDK. An agent skill from hodgef/apiker.
Works with
Search and call websites through Unbrowse's hosted API or remote MCP, reuse indexed site tools, read pages, and learn missing routes in its cloud browser. Unbrowse is an agent skill from unbrowse-ai/unbrowse. Search and call websites through Unbrowse's hosted API or remote MCP, reuse indexed site tools, read pages, and learn missing routes in its cloud browser.
Unbrowse fits situations like: structured website tasks; authenticated site access with Unbrowse.
Run `npx skills add unbrowse-ai/unbrowse --skill unbrowse -a claude-code`. Or copy the skill folder (skill in unbrowse-ai/unbrowse) into .claude/skills/unbrowse in your project. Claude Code loads it when a task matches its description.
Run `npx skills add unbrowse-ai/unbrowse --skill unbrowse -a codex`. Or copy the skill folder (skill in unbrowse-ai/unbrowse) into .agents/skills/unbrowse 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 unbrowse-ai/unbrowse --skill unbrowse -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/unbrowse, .gemini/skills/unbrowse, .github/skills/unbrowse and .opencode/skills/unbrowse in your project.
Going by SKILL.md and its folder, Unbrowse needs the command-line tools its instructions call (npx, claude and codex) and credentials named UNBROWSE_API_KEY. Our summary lists: Node.js; A credential in UNBROWSE_API_KEY.
SKILL.md names 2 domains. In commands or code: unbrowse.ai; the agent is likely to contact it when it follows the instructions. As links in the text: github.com. 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.
Unbrowse is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.7k tokens (SKILL.md is roughly 15k 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 7.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Unbrowse: Cross Origin Iframe Probe (jumodada/Drissionpage-MCP-Server, 487 stars), Turnstile Testing (jumodada/Drissionpage-MCP-Server, 487 stars), Xiaohongshu Content Research (jumodada/Drissionpage-MCP-Server, 487 stars) and Lightpanda (lightpanda-io/agent-skill, 101 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
unbrowse-ai (a GitHub organization) maintains it in unbrowse-ai/unbrowse, which has 783 GitHub stars. The repository was last updated on October 10, 2026.
Source: unbrowse-ai/unbrowse on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.