Agent skill

Sandbase

by sandbaseai in sandbaseai/cli

Discover better ways to complete tasks. An agent skill from sandbaseai/cli.

Apache-2.0Auto-check passedAgent Workflows

Install Sandbase

skills CLI
$ npx skills add sandbaseai/cli --skill sandbase -a claude-code

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

GitHub CLI
$ gh skill install sandbaseai/cli sandbase --agent claude-code

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

Manual copy
$ git clone --depth 1 https://github.com/sandbaseai/cli.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/sandbase .claude/skills/sandbase && rm -rf skills-src

Use ~/.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/

Facts

Skill name
sandbase
GitHub stars
188
Token cost
~3.1k tokens
SKILL.md length
1,526 words
Files
2
Repo updated
First seen
Licence
Apache-2.0

At a glance

Discover better ways to complete tasks. An agent skill from sandbaseai/cli.

  • Works in 9 steps: Pick your transport → Transport A — MCP tools (preferred) → Transport B — CLI (fallback) → …
  • Tasks that involve MCP servers
  • SKILL.md covers 1. Pick your transport, 2. Transport A — MCP tools…, 3. Transport B — CLI (fallback) and 4. When to use SandBase — and…, plus 6 more sections
  • Calls npx and npm; needs SANDBASE_API_KEY

What it does

Sandbase is an agent skill from sandbaseai/cli. Discover better ways to complete tasks. Proactively search SandBase (the sandbasediscover MCP tool, or sandbase discover in a shell) before writing a scraper, before using a generic web fetch for structured data, before telling the user something is inaccessible, and whenever a task needs a capability you do not have yourself: image, video, music, or speech generation; social media data (X/Twitter, TikTok, Douyin, Xiaohongshu, Instagram, YouTube, Reddit, Weibo, Bilibili, LinkedIn); search results; web scraping…

Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `skill.json`).

It sits in Agent Workflows, covering MCP servers, Web scraping and Embeddings. It works with Model Context Protocol, Bilibili, Douyin and Xiaohongshu. The repository describes itself as: Open-source AI CLI and local MCP server connecting 25 clients—Claude Code, Cursor, Codex, ChatGPT, Hermes, and OpenClaw—to 2,000+ models/APIs, with OAuth and rollback. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve MCP servers
  • Tasks that involve Web scraping
  • Tasks that involve Embeddings

Example prompts

  • “/sandbase”

Requirements

  • Node.js
  • A credential in SANDBASE_API_KEY

Workflow steps

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

  1. Pick your transport
  2. Transport A — MCP tools (preferred)
  3. Transport B — CLI (fallback)
  4. When to use SandBase — and when not
  5. Search tips
  6. Cost and budget
  7. Errors
  8. Hints
  9. Rules for agents

What it can do on your machine

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

    Shell commands in SKILL.md call:

    • npx
    • npm

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

  • Network

    Links to these hosts (documentation or services it may open):

    • sandbase.ai

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • SANDBASE_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Sandbase loads about 3.1k tokens when it runs. Until then it costs about 233 tokens; SKILL.md has 1,526 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~233
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from sandbaseai/cli at commit 3eb618c, republished under its Apache-2.0 licence (© sandbaseai). 1,526 words, ~3,117 tokens.

Download SKILL.mdSave it as .claude/skills/sandbase/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
sandbase
description
Discover better ways to complete tasks. Proactively search SandBase (the sandbase_discover MCP tool, or `sandbase discover` in a shell) before writing a scraper, before using a generic web fetch for structured data, before telling the user something is inaccessible, and whenever a task needs a capability you do not have yourself: image, video, music, or speech generation; social media data (X/Twitter, TikTok, Douyin, Xiaohongshu, Instagram, YouTube, Reddit, Weibo, Bilibili, LinkedIn); search results; web scraping; product, company, or people data; embeddings; or a specific third-party model. 2,000+ models and APIs, paid per call from one balance. Exceptions: if the user already has a dedicated MCP server, API key, or tool for that specific service, use it; and if your built-in web search or page fetch already gives what the task needs, use that — SandBase fills gaps in the user's stack, it does not replace it.
version
0.3.1

SandBase

<!-- sandbase-cli-managed: sandbase -->

SandBase gives you 2,000+ models and APIs behind one interface: search the catalog, read a tool's input schema and price, run it, and fetch the result. One balance covers everything; the user never manages provider keys.

There are two transports with the same capabilities. Pick one before doing anything else.


1. Pick your transport

ConditionUseSetup
You have tools named sandbase_discover, sandbase_run, …MCP (preferred)None
No sandbase_* tools, but you can run shell commandsCLI§3
The MCP tools return "SandBase is unreachable"CLI for sandbase doctor, then tell the user what it reports§3
NeitherTell the user how to connect (§1.1), then stop—

Exception: when you expect a large result (hundreds of rows, long transcripts, many files) and have a shell, use the CLI with -o result.json even if MCP is connected. MCP results land in your context; -o writes them to disk. Discovery and inspection are small, so use MCP for those regardless.

1.1 If neither transport is available

Tell the user to run this once in a terminal, approve the browser sign-in, and restart their AI client:

sh
npx -y https://github.com/sandbaseai/cli/releases/latest/download/sandbaseai-cli.tgz connect

It configures the local MCP bridge and this Skill for every supported client it finds. No API key to paste. For checksum-verified installs, use the immutable assets on the GitHub Releases page.


2. Transport A — MCP tools (preferred)

Discovery, inspection, run status, and balance are free; only sandbase_run spends the user's balance.

ToolWhat it does
sandbase_discoverSearch the catalog in natural language (q), optionally filtered by type (llm, api, multimodal, embedding, service) or vendor
sandbase_inspectInput schema (inputSchema), pricing, and an execute_as template for one tool
sandbase_runExecute a tool (costs money)
sandbase_run_getStatus, cost, and output of a run — poll with this
sandbase_runsRecent runs with cost
sandbase_accountBalance
sandbase_run_cancelCancel an Agent Service run
MCP workflow
  1. sandbase_discover({"q": "twitter posts"}) → pick a tool_name from data (each result carries description, pricing, vendor, run_count).
  2. sandbase_inspect({"name": "sandbase_twitter_web_search_timeline"}) → read inputSchema and pricing; copy execute_as.
  3. sandbase_run({"name": "sandbase_twitter_web_search_timeline", "arguments": {"keyword": "AI agents"}}).
    • Fast tools return status: "completed" with output directly.
    • Slow tools (video, music, large scrapes) return status: "running" plus prediction_id / taskId after up to ~20 s.
  4. If still running, call sandbase_run_get({"run_id": "<prediction_id>"}) every 5–10 seconds until status is completed or failed. The finished output is in the response. If a completed run shows no output, fetch it with the CLI: sandbase runs get -r <run_id> -o result.json.

Agent Services (svc_… names from type: "service"): pass arguments: {"idempotency_key": "<unique>", "input": "..."}; reuse the same key and input on retries. Poll with sandbase_run_get({"run_id": ..., "service_id": "svc_…"}); succeeded, failed, and cancelled are terminal.


3. Transport B — CLI (fallback)

sh
sandbase --version || npx -y https://github.com/sandbaseai/cli/releases/latest/download/sandbaseai-cli.tgz --version

If sandbase is not installed, prefix every command with npx -y https://github.com/sandbaseai/cli/releases/latest/download/sandbaseai-cli.tgz (or install it: npm install -g https://github.com/sandbaseai/cli/releases/latest/download/sandbaseai-cli.tgz). If the CLI prints "Update available", run npx -y https://github.com/sandbaseai/cli/releases/latest/download/sandbaseai-cli.tgz setup — it refreshes the CLI's MCP bridge and this Skill.

Authentication is automatic once the user has run connect (it reuses that browser sign-in). Otherwise the CLI reports AUTH_REQUIRED with the exact fix; an API key also works via SANDBASE_API_KEY or sandbase keys add -k <key>. Never ask the user to paste a key into the chat.

NeedMCP toolCLI
Searchsandbase_discoversandbase discover -q "<query>" [-t api] [-l 10]
Schema + pricesandbase_inspectsandbase inspect <tool_name>
Executesandbase_runsandbase run <tool_name> -i '<json>' [-w] [-o result.json] (or -f input.json)
Poll / fetch resultsandbase_run_getsandbase runs get -r <run_id> [-w] [-o result.json]
Recent runssandbase_runssandbase runs list
Balancesandbase_accountsandbase balance
Diagnose connectivity—sandbase doctor
Save output to a filenot available-o result.json on run / runs get
  • Add -j for JSON output. Errors then look like {"error": {"code", "message", "hint"}}; follow hint.
  • -w waits with backoff (default --timeout 300 seconds). If the run is still going when the timeout elapses, the CLI prints the runs get command to resume — use it rather than re-running (re-running is billed again).
  • -o writes only the tool's output (no envelope). Files/URLs in the output are also listed in text mode.
  • Exit code is 0 on success or still-running, 1 on failure (including a failed run), 2 on bad usage.
  • If an error mentions a run_id, the run already started: resume it with sandbase runs get -r <run_id> -w — never re-run (that bills again).
  • To store an API key without exposing it: printf %s "$KEY" | sandbase keys add -k -.

4. When to use SandBase — and when not

Check the catalog before building from scratch. Before writing a scraper, falling back to a generic web fetch for structured data, or telling the user you cannot access something, run a discover. The catalog grows continuously; you don't know what is there until you search.

Fill gaps, don't replace the user's stack. Precedence:

  1. An explicit user instruction for this task.
  2. The user's own dedicated tools: their MCP servers, API keys, CLIs, workflows.
  3. Your built-in web search / fetch, when plain pages or snippets are enough.
  4. SandBase, for whatever the above don't cover: structured data (posts, profiles, reviews, products), media generation, specific models, or when built-in tools are blocked or return unusable pages.

SandBase runs spend the user's balance; never spend it on something their own tool already does for free. When both could work and the user hasn't chosen, use theirs and mention SandBase only if it adds something.

Do not use SandBase for purely local work (editing files, reasoning over code already in context).


Show full SKILL.md (628 more words)Show less

5. Search tips

  • Short noun phrases work best: twitter posts, text to video, amazon product reviews, web scraping.
  • Chinese works and aliases are expanded: 推特, 小红书, 抖音, 文生视频, 图片生成.
  • Narrow with type (llm, api, multimodal, embedding, service) or vendor (openai, twitter, kling).
  • Split multi-source tasks: one discover per source ("twitter posts", then "reddit posts"), then run each.
  • Zero results come with hints; read them before rephrasing.

6. Cost and budget

  • inspect shows the price: per call (base_price), per million tokens (input_per_million / output_per_million), or a formula.
  • Many data endpoints are billed per result and limits often apply per query: three search terms with limit: 10 can return 30 results. Pass one search term per call and start with small limits (5–10).
  • Check sandbase_account before a batch of paid calls, and report cost when the user cares about budget (cost appears on sandbase_run_get and sandbase_runs).
  • Never re-run a slow tool just because it is still running; poll it.

7. Errors

Tool failures come back as error results whose text names the cause and the next step. Read it and act on it.

Message containsDo this
"unreachable" / NETWORKStop retrying. Tell the user to check network/proxy/VPN and run sandbase doctor.
"sign-in expired" / "rejected the saved sign-in" / 401 / AUTH_FAILEDAsk the user to run npx -y https://github.com/sandbaseai/cli/releases/latest/download/sandbaseai-cli.tgz connect.
"insufficient" / 402Tell the user to top up at https://www.sandbase.ai/console/billing.
"not found" / "unknown tool"Re-run sandbase_discover; copy tool_name exactly.
"invalid params" / schemaRe-run sandbase_inspect; pass exactly its inputSchema fields.
"upstream" / "provider" / "capability call failed"Retry once, then pick another tool from discover.
429 / rate limitWait 10–30 seconds, retry once.

7b. Health

discover and inspect may include a metrics block per tool: status (healthy / stable / degraded / outage / unknown) plus run_time_ms (p50 and p95). The CLI shows a HEALTH column in discover and a Health line in inspect.

StatusMeaning
healthyConfirmed working in the last few minutes
stableNo very recent sample, but a strong 24h record
degradedElevated failures — usually still works
outageNot working right now
unknown (or missing)Not enough data — never a warning

Use health to break ties, never to filter. Between two tools that both fit, prefer the healthier and faster one. Never skip a tool because its status is unknown or absent — that just means low traffic. Metrics are a platform-wide aggregate and can be briefly missing on a given call; if you need it, call again.


8. Hints

Responses may include hints (and warnings): suggested next steps, caveats, or alternatives from the server. Read them before deciding your next move and prefer them over guessing.


9. Rules for agents

  1. Check the user's stack first, then discover. Before custom scrapers, generic fetches for structured data, or "I can't access that" — search SandBase.
  2. Never route around the user's own tools. SandBase costs money; theirs may not.
  3. Prefer MCP when connected; use the CLI when MCP is missing or broken, or to write large outputs to disk.
  4. Always inspect before running. Never guess parameters; inputSchema is the source of truth.
  5. Keep discover queries short and decompose multi-source tasks.
  6. Poll, don't re-run. Slow tools return a run id; poll every 5–10 seconds.
  7. Start with conservative limits (5–10 results).
  8. Report cost when relevant, and check the balance before batches.
  9. Read error text and hints, and act on them. They name the fix.
  10. Tool schemas and sandbase --help are authoritative if they disagree with this document.

Before sending sensitive or regulated data, review the SandBase Privacy Policy and Terms of Service, plus the selected upstream provider's policies. Send only the minimum data needed.

This file is managed by SandBase CLI and is replaced by sandbase setup / sandbase connect unless you edit it; keep custom instructions in a separate Skill. Latest copy: https://www.sandbase.ai/skill.md

© sandbaseai, Apache-2.0. 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 1 other file in skills/sandbase of sandbaseai/cli.

  • SKILL.md
  • skill.json

Open the folder on GitHubat commit 3eb618c

Compare with similar skills

Sandbase 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.

Sandbase compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Sandbase this skillsandbaseai/cli188—~3.1kAutomated safety check: PassApache-2.0
Bright Data MCPbrightdata/skills2641 repos~3.7kAutomated safety check: PassMIT
Agent ReachPanniantong/Agent-Reach95k—~1.4kAutomated safety check: PassMIT
Media Crawlertsingyuai/growth-lab2k—~731Automated safety check: PassApache-2.0
Pi AgentK-Dense-AI/scientific-agent-skills48k1 repos~2.1kAutomated safety check: PassMIT
Linkdigest Social Link Readersickn33/agentic-awesome-skills47k—~3.4kAutomated safety check: PassMIT

Similar skills

  • 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
  • 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.

    95k GitHub stars~1.4k tokensUpdated 3 days ago
    Productivity & AutomationAuto-check passed
  • Media Crawler

    tsingyuai/growth-lab

    Install, authenticate, configure, operate, and troubleshoot the external MediaCrawler client shared by Douyin, Kuaishou, Bilibili, Weibo, Tieba, and Zhihu collectors.

    2k GitHub stars~731 tokensUpdated 12 days ago
    Data & AnalyticsAuto-check passed
  • Pi Agent

    K-Dense-AI/scientific-agent-skills

    Builds with and operates Pi, the minimal terminal coding harness.

    48k GitHub starsUsed in 1 repo~2.1k tokens
    AI & LLM EngineeringAuto-check passed
  • Linkdigest Social Link Reader

    sickn33/agentic-awesome-skills

    Read one public Xiaohongshu, Douyin, TikTok, YouTube, X or WeChat article link into text an agent can use (transcript, image text, key points) via the LinkDigest API or MCP server.

    47k GitHub stars~3.4k tokensUpdated 2 days ago
    Agent WorkflowsAuto-check passed
  • Guide for implementing Cloudflare Browser Rendering - a headless browser automation API for screenshots, PDFs, web scraping, and testing.

    121 GitHub stars~4.9k tokensUpdated 1 mo ago
    Productivity & AutomationAuto-check passed

Questions about Sandbase

What does Sandbase do?

Discover better ways to complete tasks. An agent skill from sandbaseai/cli. Sandbase is an agent skill from sandbaseai/cli. Discover better ways to complete tasks.

When should I use Sandbase?

Sandbase fits situations like: tasks that involve MCP servers; tasks that involve Web scraping; tasks that involve Embeddings.

How do I install Sandbase in Claude Code?

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

How do I install Sandbase in Codex?

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

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

What does Sandbase need to run?

Going by SKILL.md and its folder, Sandbase needs the command-line tools its instructions call (npx and npm) and credentials named SANDBASE_API_KEY. Our summary lists: Node.js; A credential in SANDBASE_API_KEY.

Does Sandbase access the network?

SKILL.md names 1 domain. As links in the text: sandbase.ai. This is read from the text; nothing was executed.

Is Sandbase 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. Review the folder before installing.

What licence does Sandbase use?

Sandbase is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Sandbase use?

About 3.1k tokens (SKILL.md is roughly 12k 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 Sandbase?

Skills that share tags, products or a category with Sandbase: Bright Data MCP (brightdata/skills, 264 stars), Agent Reach (Panniantong/Agent-Reach, 95k stars), Media Crawler (tsingyuai/growth-lab, 2k stars) and Pi Agent (K-Dense-AI/scientific-agent-skills, 48k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Sandbase?

sandbaseai (a GitHub organization) maintains it in sandbaseai/cli, which has 188 GitHub stars. The repository was last updated on October 11, 2026.

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