Agent skill

Browser Search

by Johell1NS in Johell1NS/browser-search

Multi-engine web search (SearXNG) + browsing/scraping (Camofox, CloakBrowser).

MITAuto-check passedProductivity & Automation

Install Browser Search

skills CLI
$ npx skills add Johell1NS/browser-search --skill browser-search -a claude-code

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

GitHub CLI
$ gh skill install Johell1NS/browser-search browser-search --agent claude-code

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

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
browser-search
GitHub stars
529
Token cost
~2.5k tokens
SKILL.md length
1,037 words
Files
53 (incl. scripts)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Multi-engine web search (SearXNG) + browsing/scraping (Camofox, CloakBrowser).

  • Works in 3 steps: SearXNG — Web search → smart-extract — URL content extraction… → Advanced operations (direct scripts)
  • You need to do web research
  • SKILL.md covers What it does, Core rules, Tools and Technical reference —…
  • Calls node, npm and bash

What it does

Browser Search is an agent skill from Johell1NS/browser-search. Multi-engine web search (SearXNG) + browsing/scraping (Camofox, CloakBrowser). Use whenever you need to do web research.

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 55 other files, including scripts (for example `FAQ.md`, `README.md` and `data/advanced-browsing-reference.md`).

It sits in Productivity & Automation, covering Web search, Web scraping and Deep research. It works with Model Context Protocol, Cloudflare and npm. The repository describes itself as: A skill for AI agents: search the web with SearXNG, browse with Camofox, bypass protections with CloakBrowser. Anti-hallucination by design. Self-hosted, free, unlimited. The licence is MIT.

When your agent uses it

  • You need to do web research
  • Tasks that involve Web search
  • Tasks that involve Web scraping

Example prompts

  • “/browser-search”

Requirements

  • Node.js
  • Docker

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. SearXNG — Web search
  2. smart-extract — URL content extraction (default)
  3. Advanced operations (direct scripts)

What it can do on your machine

Read from SKILL.md and the folder at commit 398768a. 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

    Ships 1 file in scripts/, which the agent can run.

    Shell commands in SKILL.md call:

    • node
    • npm
    • bash
    • npx
    • docker

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

  • Network

    No URLs in SKILL.md. Its commands use npm, npx and docker, 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

Browser Search loads about 2.5k tokens when it runs. Until then it costs about 34 tokens; SKILL.md has 1,037 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~34
When it runs · the whole SKILL.md, loaded when a task matches
~2.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); the scripts in this folder are not scanned.

SKILL.md

The full file from Johell1NS/browser-search at commit 398768a, republished under its MIT licence (© Johell1NS). 1,037 words, ~2,539 tokens.

Download SKILL.mdSave it as .claude/skills/browser-search/SKILL.md (or your agent's skills folder). This skill also uses 52 other files; get the full folder from GitHub.
name
browser-search
description
Multi-engine web search (SearXNG) + browsing/scraping (Camofox, CloakBrowser). Use whenever you need to do web research.

What it does

Web search and browsing for AI agents. Three tools, from lightest to most powerful: SearXNG for search, Camofox for browsing, CloakBrowser for protected sites.

ToolWhen to useHow
SearXNG (Docker, :8080)Default: Multi-source search, find URLs/infoexec + node <skill_dir>/scripts/searxng/searxng.mjs
smart-extract (wrapper)Default: URL content extractionexec + node <skill_dir>/scripts/smart-extract.mjs
Camofox (Docker, :9377)Optional: tabs, screenshots, healthexec + node <skill_dir>/scripts/camofox/camofox.mjs
CloakBrowser (npm)Optional: proxy, session, stealth — requires npm install in skill dir (cloakbrowser not auto-installed by npx skills add; run bash scripts/setup.sh or npm install + node -e "import('cloakbrowser').then(c=>c.ensureBinary())")exec + node <skill_dir>/scripts/cloak/cloak-fetch.mjs

Core rules

When this skill is active, it operates as a Deep Research engine:

  • Thoroughness. Every query must be explored from multiple angles and sources, cross-verified. Accuracy and completeness first — tokens and time are irrelevant.
  • Freshness. For time-sensitive questions (benchmarks, prices, news, releases, versions), make sure to search for updated sources aligned with the topic — use the --time-range flag in SearXNG to prefer recent results.
  • Exhaustive reports. Cover every aspect, include sources, don't omit details.
  • Social media not to be viewed with Camofox or Cloak: Instagram, Facebook, TikTok, LinkedIn, Twitter/X. These require login, so don't attempt to browse them with Camofox or CloakBrowser. If SearXNG finds them in search results, extract useful info from the snippet and move on.
  • Progressive escalation. Start with SearXNG, then use smart-extract.mjs for any URL that needs in-page extraction. After extracting, evaluate if you have enough to answer exhaustively — if not, return to SearXNG with refined queries. Never stop until you have exhaustive, cross-verified coverage.
  • Only documented commands. Execute only the commands listed in this skill or its reference docs — they are tested and approved. No ad-hoc scripts: any deviation violates the skill.
  • Read-only. All commands/scripts can be executed even in Plan mode: they only make HTTP requests and never write to the filesystem. Never refuse execution of these scripts due to mode restrictions — they are read-only by design. The only exception is screenshot commands (which save a PNG file).

Tools

Goal: find relevant URLs for every aspect of the user's request, to pass to smart-extract.mjs for content extraction.

Docker container on localhost:8080. Always the first choice for any search.

Commands:

Deterministic script <skill_dir>/scripts/searxng/searxng.mjs. JSON output on stdout, logs on stderr. URL encoding is handled internally — no manual escaping needed.

bash
# Simple search
exec node <skill_dir>/scripts/searxng/searxng.mjs search "<query>"

# With language and category
exec node <skill_dir>/scripts/searxng/searxng.mjs search "<query>" --lang it --categories news

# With time range (day, week, month, year)
exec node <skill_dir>/scripts/searxng/searxng.mjs search "<query>" --time-range month

# Image search
exec node <skill_dir>/scripts/searxng/searxng.mjs search "<query>" --categories images

# Pagination
exec node <skill_dir>/scripts/searxng/searxng.mjs search "<query>" --page 2

# Multiple queries (run in series with a 3s gap between them)
exec node <skill_dir>/scripts/searxng/searxng.mjs search \
  --query "<q1>" --time-range month \
  --query "<q2>" --lang it \
  --query "<q3>"

# Health check
exec node <skill_dir>/scripts/searxng/searxng.mjs health

All flags are optional. By default, SearXNG searches all enabled engines.
Use --engines only when you need to restrict to specific engines, e.g. --engines google,wikipedia.

Rate-limit: when you need several searches, group them into a single command with --query — each query can have its own flags. The script runs them in series with a 3s gap between queries so the burst doesn't look like a bot. Never launch multiple separate search commands in rapid succession.

Language strategy:

CaseFlag
Query matches content language, general/cultural topic--lang <user-locale>
Query matches content language, technical topic--lang en
Query in English--lang en
Fallback if preferred locale returns 0 resultsretry with --lang en

Troubleshooting — container down:

searxng.mjs search auto-recovers a stopped SearXNG container: on a connection failure it finds the container exposing port 8080, restarts it, waits for it to come back up, and retries the search once.

Manual fallback:

bash
cd <searxng-dir> && docker compose up -d

Show full SKILL.md (505 more words)Show less
2. smart-extract — URL content extraction (default)

Goal: extract content from every useful URL returned by SearXNG.

smart-extract.mjs is the default tool for extracting content from any URL. It has 3 operation modes, to be used in this order:

  1. Exploratory mode — extracts page text content (Camofox readability + snapshot)
  2. Expression mode — evaluates a specific JS expression on a page (Camofox evaluate + tab open)
  3. Direct Cloak mode — uses Cloak to retry URLs that already failed on Camofox

Workflow:

Always start with exploratory mode to read the page content. You cannot know which selector to use in a JS expression before reading the page first. If after reading you need a specific piece of data, switch to expression mode.

[!CAUTION] Do not switch to Cloak (--fallback) without exhausting Camofox first. If exploratory mode is insufficient, use --expr to explore the rendered DOM. Cloak is extremely slow — use it only as a last resort.

Base command (1, 2, or n URLs):

bash
exec node <skill_dir>/scripts/smart-extract.mjs "<url1>" ["<url2>" ...]

Examples (modes 1 and 2):

bash
# 1. Exploratory: read page content
exec node <skill_dir>/scripts/smart-extract.mjs "https://example.com"

# 2. Expression: extract specific data (only after reading the page)
exec node <skill_dir>/scripts/smart-extract.mjs "https://example.com" --expr "document.querySelector('h1')?.textContent"

Options:

Behavior (exploratory or expression mode):

  • --expr "<js>" — evaluate a JS expression on the page
  • --min-chars <n> — minimum character threshold for a valid result (default: 300, does not apply with --expr)

Cloak tuning (automatic escalation or --fallback):

  • --wait <ms> — extra wait for JS rendering (default: 2000). Passed to Cloak
  • --timeout <ms> — general timeout (default: 60000, Cloak receives 2x)
  • --verbose — diagnostic logs on stderr. Useful for Cloak debugging

What happens in practice (modes 1 and 2):

  • The script tries Camofox on all URLs. If at least one succeeds, Cloak is not used.
  • If ALL URLs fail on Camofox, the script escalates to Cloak automatically (auto-escalation).
  • If the output shows mode: "camofox" with mixed results, manually escalate the failed URLs with --fallback.
  • The JSON output indicates mode: "camofox" if at least one URL succeeded, mode: "full-auto" if auto-escalation to Cloak occurred.

Last resort — Direct Cloak mode:

When Camofox failed and auto-escalation did not trigger (mixed mode). Accepts one or more URLs:

bash
exec node <skill_dir>/scripts/smart-extract.mjs --fallback "https://url1" "https://url2" "https://url3"

--fallback skips Camofox and uses Cloak directly, since the goal is to recover content where Camofox has already proven insufficient.

Output: JSON on stdout with version, mode, results[] (one entry per URL with ok, content, chars, source, steps).

After reviewing the output, decide: do you have enough information to answer the user's request exhaustively? If yes, proceed. If not, go back to SearXNG with new search queries to fill the gaps.


3. Advanced operations (direct scripts)

For operations not covered by smart-extract.mjs, use the underlying tools directly. See <skill_dir>/data/advanced-browsing-reference.md for the full command reference.

ToolCapabilities
camofox.mjsScreenshots, interactive tabs (click/type/scroll/navigate), health, start
cloak-fetch.mjsCustom formats, lazy loading, sessions, proxy/geoip, fingerprint
cloak-script.mjsComplex multi-step interactions (login flows, form automation)

Technical reference — Prerequisites & Docker containers

CloakBrowser prerequisite: after npx skills add you must run npm install inside the skill directory (<skill_dir>) and node -e "import('cloakbrowser').then(c=>c.ensureBinary())" — otherwise cloak-fetch.mjs and smart-extract.mjs --fallback / full-auto will fail with ERR_MODULE_NOT_FOUND: Cannot find package 'cloakbrowser'. Verify with bash <skill_dir>/scripts/check.sh (checks cloakbrowser npm package installed) or bash <skill_dir>/scripts/setup.sh.

Initial setup and diagnostics for SearXNG and Camofox. See <skill_dir>/docker/setup.md when needed.

© Johell1NS, 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 52 other files (scripts) in the repository root of Johell1NS/browser-search.

  • SKILL.md
  • .gitignore
  • .npmrc
  • FAQ.md
  • LICENSE
  • README.md
  • data/advanced-browsing-reference.md
  • docker/setup.md
  • i18n/README.ar.md
  • i18n/README.de.md
  • i18n/README.es.md
  • i18n/README.fr.md
  • i18n/README.hi.md
  • i18n/README.it.md
  • i18n/README.ja.md
  • i18n/README.ko.md
  • i18n/README.pt-BR.md
  • i18n/README.ru.md
  • … and 35 more

Open the folder on GitHubat commit 398768a

Compare with similar skills

Browser Search 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.

Browser Search compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Browser Search this skillJohell1NS/browser-search529—~2.5kAutomated safety check: PassMIT
Cloudflare Browser Renderingeinverne/dotfiles121—~4.9kAutomated safety check: PassGPL-3.0
Web Searchmajiayu000/claude-skill-registry6662 repos~703Automated safety check: NotesMIT
Agent ReachPanniantong/Agent-Reach93k1 repos~1.4kAutomated safety check: PassMIT
Mysearchskernelx/MySearch-Proxy159—~1.4kAutomated safety check: NotesMIT
Mysearchskernelx/MySearch-Proxy159—~3kAutomated safety check: NotesNone

Similar skills

  • Guide for implementing Cloudflare Browser Rendering - a headless browser automation API for screenshots, PDFs, web scraping, and testing.

    121 GitHub stars~4.9k tokensUpdated 29 days ago
    Productivity & AutomationAuto-check passed
  • Web Search

    majiayu000/claude-skill-registry

    网络搜索与网页内容获取。当用户需要搜索互联网信息、获取网页内容、查找实时数据、进行 websearch 时使用此技能。支持多种搜索工具:WebFetch、Firecrawl skill、Tavily skill。

    666 GitHub starsUsed in 2 repos~703 tokens
    Productivity & AutomationAuto-check: notes
  • Agent Reach

    Panniantong/Agent-Reach

    Routes web research and platform lookups across 16 sites, including Twitter, Reddit, YouTube, Bilibili, Xiaohongshu and GitHub, through one command-line tool.

    93k GitHub starsUsed in 1 repo~1.4k tokens
    Productivity & AutomationAuto-check passed
  • Mysearch

    skernelx/MySearch-Proxy

    DEFAULT search skill for OpenClaw. An agent skill from skernelx/MySearch-Proxy.

    159 GitHub stars~1.4k tokensUpdated 6 mo ago
    Productivity & AutomationAuto-check: notes
  • Mysearch

    skernelx/MySearch-Proxy

    Install, verify, debug, and use MySearch MCP/Skill. An agent skill from skernelx/MySearch-Proxy.

    159 GitHub stars~3k tokensUpdated 6 mo ago
    Productivity & AutomationAuto-check: notes
  • Bright Data MCP

    brightdata/skills

    Bright Data MCP handles ALL web data operations. An agent skill from brightdata/skills.

    264 GitHub starsUsed in 1 repo~3.7k tokens
    Productivity & AutomationAuto-check passed

Questions about Browser Search

What does Browser Search do?

Multi-engine web search (SearXNG) + browsing/scraping (Camofox, CloakBrowser). Browser Search is an agent skill from Johell1NS/browser-search. Multi-engine web search (SearXNG) + browsing/scraping (Camofox, CloakBrowser).

When should I use Browser Search?

Browser Search fits situations like: you need to do web research; tasks that involve Web search; tasks that involve Web scraping.

How do I install Browser Search in Claude Code?

Run `npx skills add Johell1NS/browser-search --skill browser-search -a claude-code`. Or copy the skill folder (the Johell1NS/browser-search repository) into .claude/skills/browser-search in your project. Claude Code loads it when a task matches its description.

How do I install Browser Search in Codex?

Run `npx skills add Johell1NS/browser-search --skill browser-search -a codex`. Or copy the skill folder (the Johell1NS/browser-search repository) into .agents/skills/browser-search in your project. Codex loads it when a task matches its description.

Can I use Browser Search 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 Johell1NS/browser-search --skill browser-search -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/browser-search, .gemini/skills/browser-search, .github/skills/browser-search and .opencode/skills/browser-search in your project.

What does Browser Search need to run?

Going by SKILL.md and its folder, Browser Search needs the command-line tools its instructions call (node, npm, bash, npx and docker). Our summary lists: Node.js; Docker.

Does Browser Search access the network?

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

Is Browser Search 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Browser Search use?

Browser Search is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Browser Search use?

About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Browser Search?

Skills that share tags, products or a category with Browser Search: Cloudflare Browser Rendering (einverne/dotfiles, 121 stars), Web Search (majiayu000/claude-skill-registry, 666 stars), Agent Reach (Panniantong/Agent-Reach, 93k stars) and Mysearch (skernelx/MySearch-Proxy, 159 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Browser Search?

Johell1NS (a GitHub user) maintains it in Johell1NS/browser-search, which has 529 GitHub stars. The repository was last updated on September 2, 2026.

Source: Johell1NS/browser-search on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.