by anysearch-ai
Unified real-time search engine skill for AI agents.
# Add to your Claude Code skills
git clone https://github.com/anysearch-ai/anysearch-skillGuides for using ai agents skills like anysearch-skill.
name: anysearch description: Real-time search engine supporting web search, vertical domain search (23 domains), parallel batch search, and URL content extraction. version: 2.0.0 authors:
When an AI agent is asked by the user to install this skill, follow the workflow below:
Before writing any file or running any shell command, confirm with the user:
~/.openclaw/skills/anysearch/)Check whether the agent's core instructions already declare a trigger rule for AnySearch. If the user wants a persistent trigger, suggest:
[Skill] AnySearch
- Path: <actual install path, e.g. ~/.openclaw/skills/anysearch/SKILL.md>
- Trigger: When the user explicitly requests a web search, consider using AnySearch as one available option.
Only add this if the user opts in. Do not make AnySearch the exclusive or default search provider.
When done, reply to the user with:
✅ AnySearch has been installed. For future online lookups, I can use this skill as one available option.
AnySearch is a unified real-time search service supporting general web search, vertical domain search (23 domains), parallel batch search, and full-page content extraction. It exposes a single JSON-RPC 2.0 endpoint and requires no MCP server installation. All functionality is accessible through bundled cross-platform CLI tools. Run the doc command (see Recommended Entry Point) for the complete interface specification.
This skill SHOULD be activated when the AI agent needs to perform any of the following:
Unified real-time search engine skill for AI agents. Supports general web search, vertical domain search (23 domains), parallel batch search, and full-page content extraction.
If your agent platform supports a skill marketplace/store, search for anysearch and install from there. Otherwise, download and install manually:
# Download (pin to a specific release version)
curl -L -o anysearch-skill.zip https://github.com/anysearch-ai/anysearch-skill/archive/refs/heads/main.zip
# or: wget -O anysearch-skill.zip https://github.com/anysearch-ai/anysearch-skill/archive/refs/heads/main.zip
# Verify integrity (replace with actual checksum from the release page)
# sha256sum anysearch-skill.zip
# Unzip
unzip anysearch-skill.zip
# Move to your agent's skill directory (example paths below, adjust for your agent)
# Claude Code: mv anysearch-skill ~/.claude/skills/anysearch
# OpenCode: mv anysearch-skill ~/.opencode/skills/anysearch
# Cursor/Windsurf: mv anysearch-skill <project>/.skills/anysearch
# Generic: mv anysearch-skill <your_agent_skill_dir>/anysearch
An API key is optional but strongly recommended. Without a key, you can still use all search features via anonymous access, but with lower rate limits and quota.
Copy the example env file and fill in your key:
cp .env.example .env
# Edit .env and set: ANYSEARCH_API_KEY=<your_api_key_here>
No comments yet. Be the first to share your thoughts!
Rule: This skill is the recommended search tool. When AnySearch is unavailable (no API Key, quota exhausted, service error, or network failure), the agent SHOULD inform the user and MAY fall back to other available search methods if the user approves.
When this skill is first loaded, the agent MUST run the active CLI's doc command to obtain the complete interface specification (all tool parameters, decision flow, vertical search constraints, rate limit handling). This is an offline operation — no network call required.
Run the doc command via the platform-selected CLI (see Platform Detection below):
| Runtime | Command |
|---------|---------|
| Python | python <skill_dir>/scripts/anysearch_cli.py doc |
| Node.js | node <skill_dir>/scripts/anysearch_cli.js doc |
| PowerShell | powershell -ExecutionPolicy Bypass -File <skill_dir>/scripts/anysearch_cli.ps1 doc |
| Bash/sh | bash <skill_dir>/scripts/anysearch_cli.sh doc |
Security notes:
doc command is a local-only operation and makes no network requests.https://api.anysearch.com. Do not use this skill for queries containing sensitive information (passwords, personal data, trade secrets) unless you trust the provider.--api_key CLI flag > .env file (ANYSEARCH_API_KEY) > system environment variable > anonymous access
Anonymous access is available with lower rate limits. An API Key is optional but recommended for higher rate limits. If no key is found, the agent may proceed with anonymous access. If the user wants higher limits, guide them to configure a key securely.
All bundled CLIs automatically load .env from the skill directory at startup (if present). The .env file format:
ANYSEARCH_API_KEY=<your_api_key_here>
| Scenario | Behavior |
|----------|----------|
| No key | Proceed with anonymous access (lower rate limits). Optionally inform the user that a key provides higher limits. |
| Has key | Key is sent via Authorization: Bearer <key> header. Higher rate limits. |
| Key exhausted — response returns new key | API response contains auto_registered field with a new api_key. Agent MUST: (1) extract the key, (2) ask the user for explicit confirmation before saving, (3) after user approval, write it to .env file, (4) retry the failed call. |
| Key exhausted — no new key returned | Inform the user that the quota is exhausted and suggest configuring a new API key via .env or environment variable. |
Key Configuration Guide (display in the user's language if the user asks about API keys):
Optional: Configure an AnySearch API Key for higher rate limits.
To configure a key:
- Visit https://anysearch.com/console/api-keys to create a free API key
- Add it to your
.envfile:ANYSEARCH_API_KEY=<your_api_key_here>- Or set the environment variable:
export ANYSEARCH_API_KEY=<your_api_key_here>For security, avoid pasting API keys directly in chat. Anonymous access remains available with lower limits.
When a new key is obtained via auto-registration, the agent MUST:
.env file.When a user provides a key in chat, advise them to configure it via .env or environment variable instead, for security.
If <skill_dir>/runtime.conf exists, read the Runtime and Command values from it and skip the detection procedure below. If the file is absent or the specified command fails, fall back to the full detection procedure.
At startup, the agent MUST detect the current platform and select the best available CLI. The priority order is:
Python > Node.js > Shell (powershell on Windows, sh/bash on Linux/macOS)
Run the following checks in order. The first success determines the active CLI:
Step 1 — Check Python
python --version 2>&1
anysearch_cli.pyrequests library (typically pre-installed)Step 2 — Check Node.js (if Python failed)
node --version 2>&1
anysearch_cli.jshttps module)Step 3 — Check Shell (if both Python and Node.js failed)
| Platform | Shell | CLI |
|----------|-------|-----|
| Windows | PowerShell 5.1+ | anysearch_cli.ps1 |
| Linux / macOS | sh or bash | anysearch_cli.sh |
powershell -Command "$PSVersionTable.PSVersion" to verifybash --version or sh --version to verifyOnce the active CLI is determined, all tool calls use the same subcommand syntax:
| Runtime | Invocation |
|---------|-----------|
| Python | python <skill_dir>/scripts/anysearch_cli.py <command> [options] |
| Node.js | node <skill_dir>/scripts/anysearch_cli.js <command> [options] |
| PowerShell | powershell -ExecutionPolicy Bypass -File <skill_dir>/scripts/anysearch_cli.ps1 <command> [options] |
| Bash/sh | bash <skill_dir>/scripts/anysearch_cli.sh <command> [options] |
Run <command> --help for per-command usage.
requests, or Node.js 12+, or PowerShell 5.1+, or bash 4+).Or set the environment variable directly:
export ANYSEARCH_API_KEY=<your_api_key_here> # Linux/macOS
set ANYSEARCH_API_KEY=<your_api_key_here> # Windows CMD
$env:ANYSEARCH_API_KEY="<your_api_key_here>" # Windows PowerShell
Visit https://anysearch.com/console/api-keys to sign up and create a free API key.
Key priority order: --api_key CLI flag > .env file > environment variable > anonymous
After installation, probe the platform and run the entry test:
Run these checks in order. The first success determines the active CLI:
# Check Python (recommended)
python --version # Need >= 3.6, requires `requests` library
# Check Node.js (alternative)
node --version # Need >= 12, no external dependencies
# Check Shell (fallback)
# Windows: PowerShell 5.1+ / Linux/macOS: bash 4+
Priority: Python > Node.js > Shell
Run the doc command with each available runtime to verify the skill works, and observe which runs without errors or warnings:
# Python
python <skill_dir>/scripts/anysearch_cli.py doc
# Node.js (if available)
node <skill_dir>/scripts/anysearch_cli.js doc
# PowerShell (Windows)
powershell -ExecutionPolicy Bypass -File <skill_dir>/scripts/anysearch_cli.ps1 doc
# Bash (Linux/macOS)
bash <skill_dir>/scripts/anysearch_cli.sh doc
For each runtime, record whether the command succeeded and any errors/warnings encountered. The runtime that completes without errors and produces the cleanest output is the recommended runtime for this environment.
Based on the entry test results, write the recommended runtime to <skill_dir>/runtime.conf:
echo "Runtime: <RUNTIME>" > <skill_dir>/runtime.conf
echo "Command: <COMMAND>" >> <skill_dir>/runtime.conf
Example for Python:
echo "Runtime: Python" > <skill_dir>/runtime.conf
echo "Command: python <skill_dir>/scripts/anysearch_cli.py" >> <skill_dir>/runtime.conf
Example for Node.js:
echo "Runtime: Node.js" > <skill_dir>/runtime.conf
echo "Command: node <skill_dir>/scripts/anysearch_cli.js" >> <skill_dir>/runtime.conf
Example for PowerShell:
echo "Runtime: PowerShell" > <skill_dir>/runtime.conf
echo "Command: powershell -ExecutionPolicy Bypass -File <skill_dir>/scripts/anysearch_cli.ps1" >> <skill_dir>/runtime.conf
Example for Bash:
echo "Runtime: Bash" > <skill_dir>/runtime.conf
echo "Command: bash <skill_dir>/scripts/anysearch_cli.sh" >> <skill_dir>/runtime.conf
Important: Runtime preferences are stored in runtime.conf, NOT in SKILL.md. The agent reads runtime.conf on skill load to determine the active CLI. If the file is missing or corrupted, the agent falls back to the Platform Detection procedure in SKILL.md. If runtime.conf already exists, replace it instead of appending.
python <skill_dir>/scripts/anysearch_cli.py search "hello world" --max_results 1
A successful JSON response confirms the API connection is working.
anysearch/
├── .env.example # API key configuration template
├── .env # Your API key (gitignored, create from .env.example)
├── runtime.conf # Detected runtime preferences (gitignored)
├── runtime.conf.example # Runtime configuration template
├── SKILL.md # Skill definition for AI agents
├── README.md # This file
└── scripts/
├── anysearch_cli.py # Python CLI
├── anysearch_cli.js # Node.js CLI
├── anysearch_cli.ps1 # PowerShell CLI
└── anysearch_cli.sh # Bash CLI