Install
openclaw skills install @jwestburg/tavily-search-pro-native-nodeResearch-grade Tavily web search for OpenClaw using native Node.js with zero dependencies. Use for deep web research, multi-URL content extraction, estimated Tavily credit tracking, response caching, usage-log review, and 429 backoff. Includes search, extract, stats, and cache subcommands. Requires TAVILY_API_KEY in the process environment. For minimal search-only use, prefer tavily-search-native-node.
openclaw skills install @jwestburg/tavily-search-pro-native-nodeVersion: 1.0.20 / public ClawHub utility candidate with external API, cache, and usage-log behavior.
Research-grade Tavily web search helper: one dependency-free Node script with search, extract, stats, and cache subcommands.
Risk class: external research API / credit usage / plaintext query logging.
Use deliberately. This skill sends search queries or URLs to Tavily over HTTPS and may append plaintext queries/URLs to a local usage log unless --no-log is used.
Required:
task: search, extract, usage stats, or cache inspection.query_or_urls: search query or URL list when applicable.privacy_sensitivity: normal, sensitive, client/private, or unknown.freshness_need: normal cache ok, fresh/no-cache, or news/freshness-critical.depth: basic unless advanced is justified.Optional:
trusted_domains: include/exclude domains.max_results: default 5; avoid broad high-result searches unless needed.logging_preference: normal log, --no-log, or unknown.output_format: human summary or --json.Stop or switch tools if the query is privacy-sensitive and sending it to Tavily is not appropriate. For one known URL, prefer web_fetch unless extraction quality matters.
Return compactly:
TAVILY_API_KEY from the process environment only.~/.openclaw/.env.https://api.tavily.com/searchhttps://api.tavily.com/extract~/.openclaw/cache/tavily-search-pro-native-node/.--no-cache when account isolation matters.--no-log for sensitive calls.TAVILY_API_KEY only to Tavily for authentication.potential_exfiltration warnings are expected because this tool combines env credentials, local cache/log file access, and Tavily network calls.Use this Pro skill when:
Prefer tavily-search-native-node when:
Prefer web_fetch for a one-off known URL read.
Do not use when:
--no-cache is used.Script: scripts/tavily-pro.mjs
node "<skill-dir>\scripts\tavily-pro.mjs" search "OpenClaw skills ecosystem"
node "<skill-dir>\scripts\tavily-pro.mjs" extract https://example.com/ https://www.iana.org/help/example-domains
node "<skill-dir>\scripts\tavily-pro.mjs" stats
node "<skill-dir>\scripts\tavily-pro.mjs" cache info
node "<skill-dir>\scripts\tavily-pro.mjs" cache # defaults to cache info
node "<skill-dir>\scripts\tavily-pro.mjs" cache clear # local deletion; use only after explicit approval
node "<skill-dir>\scripts\tavily-pro.mjs" help
For full flags, cache/log behavior, troubleshooting, and publish/update checks, load references/tavily-pro-contract.md.
basic depth unless advanced is justified; advanced costs more.--include/--exclude to scope sources when appropriate.--no-cache when freshness matters. --ttl 0 disables cache reads for that command but still writes the fresh response to cache unless --no-cache is also set.--no-log --no-cache for sensitive but approved external queries so plaintext query/URL logs are skipped and sensitive research context is not cached.stats when research runs get large.cache clear as local destructive cleanup; agents should ask before running it.Minimum no-spend checks:
node --check skills\tavily-search-pro-native-node\scripts\tavily-pro.mjs
node skills\tavily-search-pro-native-node\scripts\tavily-pro.mjs help
node skills\tavily-search-pro-native-node\scripts\tavily-pro.mjs stats --json
node skills\tavily-search-pro-native-node\scripts\self-test.mjs
Also run a no-key smoke test in a temporary home/profile context when feasible to confirm credential errors without spending credits.
Classification: public ClawHub utility candidate with external API + local cache/log writes.
Before public update, run sanitizer/static checks and make sure docs clearly disclose:
Do not include private/internal/client strategy or operator-specific operational notes in a public release.
1.0.20: Add ClawHub/OpenClaw runtime metadata for required TAVILY_API_KEY, including requires.env, primaryEnv, and envVars, so declared requirements match the script's env-key behavior. No runtime behavior change. No categories, topics, topic tags, tags, keywords, or ClawHub catalog metadata added to source.1.0.19: Neutralize approval/process wording in header, classification, and changelog notes. No runtime behavior change. No categories, topics, topic tags, tags, keywords, or ClawHub catalog metadata added to source.1.0.18: Normalize prior changelog wording. No runtime behavior change. No categories, topics, topic tags, tags, keywords, or ClawHub catalog metadata added to source.1.0.17: Remove person-specific wording from prior changelog notes. No runtime behavior change. No categories, topics, topic tags, tags, keywords, or ClawHub catalog metadata added to source.1.0.16: Clarify ClawHub candidate posture in the header and document that local/private URL refusal is a best-effort guardrail for obvious mistaken extract targets, not a complete SSRF boundary. No runtime behavior change. No categories, topics, topic tags, tags, keywords, or ClawHub catalog metadata added to source.1.0.15: Input-validation polish: restrict IPv6 ULA fc00::/7 refusal to actual IPv6 literals so public DNS names beginning with fc/fd are not overblocked, while retaining ULA and link-local refusal before API key load/Tavily transmission. Adds self-test coverage for ULA and public fc*/fd* hostnames. No categories, topics, topic tags, tags, keywords, or ClawHub catalog metadata added to source.1.0.14: Input-validation polish: correctly block the full IPv6 link-local fe80::/10 range (fe80 through febf) before API key load/Tavily transmission and add self-test coverage for boundary examples. No categories, topics, topic tags, tags, keywords, or ClawHub catalog metadata added to source.1.0.13: Input-validation polish: block IPv6 link-local fe80::/10 extract URLs before API key load/Tavily transmission, add self-test coverage, and align frontmatter description with source wording. No categories, topics, topic tags, tags, keywords, or ClawHub catalog metadata added to source.1.0.12: Polish source wording from “toolkit” to web search, clarify estimated credit labels/docs, document --ttl 0 cache-read semantics and default cache behavior, reject local/private extract URLs before Tavily transmission, and avoid standing publishability wording. No categories, topics, topic tags, tags, keywords, or ClawHub catalog metadata added to source.1.0.11: Version refresh; no runtime behavior change.1.0.10: Gate TAVILY_PRO_MOCK_JSON behind TAVILY_PRO_SELFTEST=1, add inert-hook regression, and reject unexpected cache clear arguments.1.0.9: Add request timeout support, strict stats/cache info argument rejection, and no-spend self-tests.1.0.8: Tighten public docs for cache-key precision and retry-attempt wording.1.0.7: Document that cache entries are request-scoped, not API-account-scoped, so shared OS profiles may share cached results.1.0.6: Add frontmatter version metadata and align reference docs so cache clear is consistently marked as local deletion requiring explicit approval.1.0.5: Public package wording/metadata cleanup; cache/log/security behavior unchanged.