web-search-brave
Search the web using Brave Search API for fast, privacy-respecting results with localization, freshness filtering, and extra snippets. Use when you need web search results with country/language targeting or time-based filtering. Requires BRAVE_API_KEY. Keywords: brave, web search, localized search, privacy search, freshness filtering.
What this skill does
# Web Search (Brave Search API)
Search the web using Brave's Search API. Returns web results with descriptions, optional extra snippets, and support for country/language targeting.
**Note:** This skill requires a Brave Search API key. For basic web search using the agent's built-in capability, see `web-search`. For AI-optimized results with relevance scores, see `web-search-tavily`.
## When to Use This Skill
Use this skill when:
- You need to find current information not in your training data
- The user asks about recent events, news, or updates
- You need localized search results for a specific country or language
- You want a privacy-respecting search alternative
- Research requires real-time web data
- Keywords mentioned: search, look up, find online, current, latest, news
Do NOT use this skill when:
- Information is already in your knowledge base and doesn't need verification
- The user asks about historical facts that don't change
- You're working with local files or code (use other tools)
- A more specific skill exists for the task (e.g., documentation lookup)
- You need AI-generated answer summaries (use `web-search-tavily` instead)
## Prerequisites
Before using this skill, ensure:
- **BRAVE_API_KEY** environment variable is set with a valid API key
- **Deno** is installed (for running the search script)
- **Internet access** is available
Get a Brave Search API key at: https://brave.com/search/api/
## Quick Start
Run a simple search:
```bash
deno run --allow-env --allow-net=api.search.brave.com scripts/search.ts "your search query"
```
Example with freshness filter:
```bash
deno run --allow-env --allow-net=api.search.brave.com scripts/search.ts "React 19 new features" --freshness pw
```
## Script Usage
```bash
deno run --allow-env --allow-net=api.search.brave.com scripts/search.ts [options] "query"
```
### Options
| Option | Description | Default |
|--------|-------------|---------|
| `--results <n>` | Number of results to return (max 20) | 5 |
| `--freshness <range>` | Time filter: `pd`, `pw`, `pm`, or `py` | none |
| `--country <code>` | Country code for localized results (e.g., US, GB, DE) | none |
| `--lang <code>` | Search language (e.g., en, fr, de) | none |
| `--safesearch <level>` | Safe search: `off`, `moderate`, or `strict` | moderate |
| `--extra-snippets` | Include additional content snippets | false |
| `--offset <n>` | Pagination offset | 0 |
| `--json` | Output as JSON (for programmatic use) | false |
| `--help` | Show help message | - |
## Search Parameters
### Freshness Values
Filter results by recency:
- **pd**: Past day (last 24 hours)
- **pw**: Past week (last 7 days)
- **pm**: Past month (last 30 days)
- **py**: Past year (last 365 days)
### Country Codes
Use standard 2-character country codes to get localized results:
- `US` (United States), `GB` (United Kingdom), `DE` (Germany), `FR` (France), `JP` (Japan), etc.
### Safe Search Levels
- **off**: No filtering
- **moderate** (default): Filters explicit content
- **strict**: Strictest filtering
## Output Format
### Human-Readable Output (default)
```
Search: "React 19 new features"
Found 5 results in 189ms
1. React 19 Release Notes
https://react.dev/blog/2024/04/25/react-19
React 19 is now available on npm! This release includes...
Age: 2 months ago
2. What's New in React 19
https://example.com/react-19-features
A comprehensive overview of React 19's new features...
```
### JSON Output (--json)
```json
{
"query": "React 19 new features",
"results": [
{
"title": "React 19 Release Notes",
"url": "https://react.dev/blog/2024/04/25/react-19",
"description": "React 19 is now available on npm...",
"age": "2 months ago",
"language": "en",
"family_friendly": true
}
],
"response_time": 189,
"total_results": 1250000
}
```
### Result Fields
| Field | Type | Description |
|-------|------|-------------|
| `title` | string | Page title |
| `url` | string | Source URL |
| `description` | string | Relevant excerpt from the page |
| `extra_snippets` | string[] | Additional content snippets (only with --extra-snippets) |
| `age` | string | How old the result is (e.g., "2 hours ago") |
| `language` | string | Language of the result |
| `family_friendly` | boolean | Whether the result is family-friendly |
## Examples
### Example 1: Current Events Search
**Scenario**: Find recent news about a technology topic
```bash
scripts/search.ts "OpenAI GPT-5 announcement" --freshness pw --results 10
```
**Expected output**: Recent web results about GPT-5 from the past week
### Example 2: Documentation Lookup
**Scenario**: Find specific technical documentation
```bash
scripts/search.ts "Deno deploy edge functions tutorial" --results 10 --extra-snippets
```
**Expected output**: Comprehensive results with extra snippets from documentation and tutorial sites
### Example 3: Localized Search
**Scenario**: Find results targeted to a specific country and language
```bash
scripts/search.ts "aktuelle Nachrichten" --country DE --lang de --freshness pd
```
**Expected output**: German-language results from Germany from the past day
### Example 4: Filtered Search with JSON Output
**Scenario**: Get structured results with strict safe search
```bash
scripts/search.ts "machine learning tutorials" --safesearch strict --extra-snippets --json
```
**Expected output**: JSON results with extra snippets, filtered for safe content
## Common Issues and Solutions
### Issue: "BRAVE_API_KEY environment variable is not set"
**Symptoms**: Script exits immediately with API key error
**Solution**:
1. Get an API key from https://brave.com/search/api/
2. Set the environment variable:
```bash
export BRAVE_API_KEY="your-api-key-here"
```
3. Or run with the variable inline:
```bash
BRAVE_API_KEY="your-key" deno run --allow-env --allow-net=api.search.brave.com scripts/search.ts "query"
```
### Issue: "Invalid Brave Search API key"
**Symptoms**: 401 authentication error
**Solution**:
1. Verify your API key is correct (no extra spaces)
2. Check if your API key has expired
3. Verify your Brave Search API subscription is active
### Issue: "Brave Search API rate limit exceeded"
**Symptoms**: 429 error response
**Solution**:
1. Wait a moment and retry
2. Reduce request frequency
3. Consider upgrading your Brave Search API plan for higher limits
### Issue: No results returned
**Symptoms**: Empty results array
**Solution**:
1. Try broader search terms
2. Remove country or language filters that might be too restrictive
3. Remove or widen the freshness filter
4. Check if the topic exists online
## Limitations
This skill has the following limitations:
- Requires active internet connection
- API rate limits apply based on your Brave Search API plan
- Results depend on Brave's index coverage
- Cannot access paywalled or login-required content
- No built-in AI-generated answer summaries (use `web-search-tavily` for that)
- Maximum 20 results per request
- Extra snippets require a paid API plan
## Related Skills
- **web-search**: Basic web search using the agent's built-in capability
- **web-search-tavily**: AI-optimized search with relevance scores and answer summaries
- **research-workflow**: For comprehensive research projects that use multiple searches with planning and synthesis
Related in Backend & APIs
jfrog
IncludedInteract with the JFrog Platform via the JFrog CLI and REST/GraphQL APIs. Use this skill when the user wants to manage Artifactory repositories, upload or download artifacts, manage builds, configure permissions, manage users and groups, work with access tokens, configure JFrog CLI servers, search artifacts, manage properties, set up replication, manage JFrog Projects, run security audits or scans, look up CVE details, query exposures scan results from JFrog Advanced Security, manage release bundles and lifecycle operations, aggregate or export platform data, or perform any JFrog Platform administration task. Also use when the user mentions jf, jfrog, artifactory, xray, distribution, evidence, apptrust, onemodel, graphql, workers, mission control, curation, advanced security, exposures, or any JFrog product name.
cupynumeric-migration-readiness
IncludedPre-migration readiness assessor for porting NumPy to cuPyNumeric. Use BEFORE substantial porting work begins when the user asks whether code will scale on GPU, whether they should migrate to cuPyNumeric, which NumPy patterns transfer cleanly, what must be refactored before porting, or mentions pre-port assessment, scaling analysis, or refactor planning. Inspect the user's source code, look up NumPy usage, cross-reference the cuPyNumeric API support manifest, and distinguish distributed-scaling-friendly patterns from blockers such as unsupported APIs, scalar synchronization, host round-trips, Python/object-heavy control flow, shape/data-dependent branching, and in-place mutation hazards. Produce a verdict of READY, LIGHT REFACTOR, SIGNIFICANT REFACTOR, or NOT RECOMMENDED, with concrete refactor pointers.
alibabacloud-data-agent-skill
IncludedInvoke Alibaba Cloud Apsara Data Agent for Analytics via CLI to perform natural language-driven data analysis on enterprise databases. Data Agent for Analytics is an intelligent data analysis agent developed by Alibaba Cloud Database team for enterprise users. It automatically completes requirement analysis, data understanding, analysis insights, and report generation based on natural language descriptions. This tool supports: discovering data resources (instances/databases/tables) managed in DMS, initiating query or deep analysis sessions, real-time progress tracking, and retrieving analysis conclusions and generated reports. Use this Skill when users need to query databases, analyze data trends, generate data reports, ask questions in natural language, or mention "Data Agent", "data analysis", "database query", "SQL analysis", "data insights".
token-optimizer
IncludedReduce OpenClaw token usage and API costs through smart model routing, heartbeat optimization, budget tracking, and native 2026.2.15 features (session pruning, bootstrap size limits, cache TTL alignment). Use when token costs are high, API rate limits are being hit, or hosting multiple agents at scale. The 4 executable scripts (context_optimizer, model_router, heartbeat_optimizer, token_tracker) are local-only — no network requests, no subprocess calls, no system modifications. Reference files (PROVIDERS.md, config-patches.json) document optional multi-provider strategies that require external API keys and network access if you choose to use them. See SECURITY.md for full breakdown.
resend-cli
IncludedUse this skill when the task is specifically about operating Resend from an AI agent, terminal session, or CI job via the official resend CLI: installing/authenticating the CLI, sending/listing/updating/cancelling emails, batch sends, domains and DNS, webhooks and local listeners, inbound receiving, contacts, topics, segments, broadcasts, templates, API keys, profiles, or debugging Resend CLI/API failures. Trigger on mentions of Resend CLI, `resend`, `resend doctor`, `resend emails send`, `resend domains`, `resend webhooks listen`, `resend emails receiving`, or agent-friendly terminal automation.
alibabacloud-odps-maxframe-coding
IncludedUse this skill for MaxFrame SDK development and documentation navigation on Alibaba Cloud MaxCompute (ODPS). Helps answer MaxFrame API, concept, official example, and supported pandas API questions; create data processing programs; read/write MaxCompute tables; debug jobs (remote or local); and build custom DPE runtime images. Trigger when users mention MaxFrame, MaxCompute with MaxFrame, ODPS table processing, DPE runtime, MaxFrame docs/examples, DataFrame/Tensor operations, or GPU runtime setup. Works for both English and Chinese queries about Alibaba Cloud data processing with MaxFrame.