Liang Tavily Search 1.0.1

Web search using Tavily's LLM-optimized API. Returns relevant results with content snippets, scores, and metadata.

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 25 · 1 current installs · 1 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description, required binary (node), and required env var (TAVILY_API_KEY) align with a simple Node script that calls https://api.tavily.com/search. The script only talks to the Tavily API and formats results for display.
Instruction Scope
SKILL.md and the script are narrowly scoped to running the search script and using the Tavily API. Note: the script supports a --raw-content option which requests full page content from Tavily; that increases the amount of user data sent to the external API when used. Otherwise the instructions do not read unrelated files or other env vars.
Install Mechanism
No install spec — instruction-only plus a small included script. No downloads or archives; nothing is written to disk by an installer. The requirement that 'node' be present is appropriate for the .mjs script.
Credentials
Only TAVILY_API_KEY is required and declared as the primary credential. That is proportional for a service-backed search skill. No other secrets, config paths, or unrelated credentials are requested.
Persistence & Privilege
The skill does not request always:true and does not modify agent/system configs. It can be invoked by the agent (normal default), but there are no other privileged behaviors or persistent privileges requested.
Assessment
This skill appears coherent and limited to calling Tavily's search API. Before installing: 1) Be comfortable trusting Tavily with any full-page content you request (avoid --raw-content if you don't want large page contents sent to the service). 2) Store TAVILY_API_KEY securely (env var or the platform's secret store); the script uses a bearer token to call the API. 3) Ensure your runtime has a recent Node version that supports fetch (the script uses top-level await and fetch). 4) Note a minor metadata mismatch in owner IDs between registry metadata and _meta.json (likely benign but FYI). If you need stricter guarantees about data handling, review Tavily's privacy policy or avoid enabling --raw-content.
scripts/search.mjs:81
Environment variable access combined with network send.
Confirmed safe by external scanners
Static analysis detected API credential-access patterns, but both VirusTotal and OpenClaw confirmed this skill is safe. These patterns are common in legitimate API integration skills.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.0
Download zip
latestvk97b5eqvtxn87fsf6g8s6a0db9831t66

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

🔍 Clawdis
Binsnode
EnvTAVILY_API_KEY
Primary envTAVILY_API_KEY

SKILL.md

Tavily Search

Search the web and get relevant results optimized for LLM consumption.

Authentication

Get your API key at https://tavily.com and add to your OpenClaw config:

{
  "skills": {
    "entries": {
      "tavily-search": {
        "enabled": true,
        "apiKey": "tvly-YOUR_API_KEY_HERE"
      }
    }
  }
}

Or set the environment variable:

export TAVILY_API_KEY="tvly-YOUR_API_KEY_HERE"

Quick Start

Using the Script

node {baseDir}/scripts/search.mjs "query"
node {baseDir}/scripts/search.mjs "query" -n 10
node {baseDir}/scripts/search.mjs "query" --deep
node {baseDir}/scripts/search.mjs "query" --topic news

Examples

# Basic search
node {baseDir}/scripts/search.mjs "python async patterns"

# With more results
node {baseDir}/scripts/search.mjs "React hooks tutorial" -n 10

# Advanced search
node {baseDir}/scripts/search.mjs "machine learning" --deep

# News search
node {baseDir}/scripts/search.mjs "AI news" --topic news

# Domain-filtered search
node {baseDir}/scripts/search.mjs "Python docs" --include-domains docs.python.org

Options

OptionDescriptionDefault
-n <count>Number of results (1-20)10
--depth <mode>Search depth: ultra-fast, fast, basic, advancedbasic
--topic <topic>Topic: general or newsgeneral
--time-range <range>Time range: day, week, month, year-
--include-domains <domains>Comma-separated domains to include-
--exclude-domains <domains>Comma-separated domains to exclude-
--raw-contentInclude full page contentfalse
--jsonOutput raw JSONfalse

Search Depth

DepthLatencyRelevanceUse Case
ultra-fastLowestLowerReal-time chat, autocomplete
fastLowGoodNeed chunks but latency matters
basicMediumHighGeneral-purpose, balanced
advancedHigherHighestPrecision matters, research

Tips

  • Keep queries under 400 characters - Think search query, not prompt
  • Break complex queries into sub-queries - Better results than one massive query
  • Use --include-domains to focus on trusted sources
  • Use --time-range for recent information
  • Filter by score (0-1) to get highest relevance results

Files

3 total
Select a file
Select a file to preview.

Comments

Loading comments…