# Send Nimble Web Search to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "nimble-web-search",
    "name": "Nimble Web Search",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/ilchemla/nimble-web-search",
    "canonicalUrl": "https://clawhub.ai/ilchemla/nimble-web-search",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/nimble-web-search",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=nimble-web-search",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "scripts/validate-query.sh",
      "scripts/search.sh",
      "examples/basic-search.md",
      "examples/competitive-analysis.md",
      "examples/deep-research.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/nimble-web-search"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/nimble-web-search",
    "downloadUrl": "https://openagent3.xyz/downloads/nimble-web-search",
    "agentUrl": "https://openagent3.xyz/skills/nimble-web-search/agent",
    "manifestUrl": "https://openagent3.xyz/skills/nimble-web-search/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/nimble-web-search/agent.md"
  }
}
```
## Documentation

### Nimble Web Search

Real-time web intelligence using Nimble Search API with specialized focus modes and AI-powered result synthesis.

### Prerequisites

Nimble API Key Required - Get your key at https://www.nimbleway.com/

### Configuration

Set the NIMBLE_API_KEY environment variable using your platform's method:

Claude Code:

// ~/.claude/settings.json
{
  "env": {
    "NIMBLE_API_KEY": "your-api-key-here"
  }
}

VS Code/GitHub Copilot:

Add to .github/skills/ directory in your repository
Or use GitHub Actions secrets for the copilot environment

Shell/Terminal:

export NIMBLE_API_KEY="your-api-key-here"

Any Platform:
The skill checks for the NIMBLE_API_KEY environment variable regardless of how you set it.

### API Key Validation

IMPORTANT: Before making any search request, verify the API key is configured:

# Check if API key is set
if [ -z "$NIMBLE_API_KEY" ]; then
  echo "❌ Error: NIMBLE_API_KEY not configured"
  echo ""
  echo "Get your API key: https://www.nimbleway.com/"
  echo ""
  echo "Configure using your platform's method:"
  echo "- Claude Code: Add to ~/.claude/settings.json"
  echo "- GitHub Copilot: Use GitHub Actions secrets"
  echo "- Shell: export NIMBLE_API_KEY=\\"your-key\\""
  echo ""
  echo "Do NOT fall back to other search tools - guide the user to configure first."
  exit 1
fi

### Overview

Nimble Search provides real-time web intelligence with 8 specialized focus modes optimized for different types of queries. Get instant access to current web data with AI-powered answer generation, deep content extraction, URL discovery, and smart filtering by domain and date.

IMPORTANT: Always Specify These Parameters

When using this skill, always explicitly set the following parameters in your requests:

deep_search: Default to false for 5-10x faster responses

Use false (FAST MODE - 1-3 seconds): For 95% of use cases - URL discovery, research, comparisons, answer generation
Use true (DEEP MODE - 5-15 seconds): Only when you specifically need full page content extracted for archiving or detailed analysis



focus: Default to "general" for broad searches

Change to specific mode (coding, news, academic, shopping, social, geo, location) for targeted results



max_results: Default to 10 - Balanced speed and coverage

Performance Awareness: By explicitly setting deep_search: false, you're choosing fast mode and should expect results in 1-3 seconds. If you set deep_search: true, expect 5-15 seconds response time.

### Quick Start

Use the wrapper script for the simplest experience:

# ALWAYS specify deep_search explicitly
./scripts/search.sh '{
  "query": "React hooks",
  "deep_search": false
}'

The script automatically handles authentication, tracking headers, and output formatting.

### When to Use Each Mode

Use deep_search: false (FAST MODE - 1-3 seconds) - Default for 95% of cases:

✅ Finding URLs and discovering resources
✅ Research and topic exploration
✅ Answer generation and summaries
✅ Product comparisons
✅ News monitoring
✅ Any time you DON'T need full article text

Use deep_search: true (DEEP MODE - 5-15 seconds) - Only when specifically needed:

📄 Archiving full article content
📄 Extracting complete documentation
📄 Building text datasets
📄 Processing full page content for analysis

Decision Rule: If you're not sure, use deep_search: false. You can always re-run with true if needed.

### Focus Modes

Choose the appropriate focus mode based on your query type:

general - Default mode for broad web searches
coding - Real-time access to technical documentation, code examples, programming resources
news - Real-time news articles, current events, breaking stories
academic - Research papers, scholarly articles, academic resources
shopping - Real-time product searches, e-commerce results, price comparisons
social - Real-time social media posts, discussions, trending community content
geo - Location-based searches, geographic information
location - Local business searches, place-specific queries

### Search Features

LLM Answer Generation

Request AI-generated answers synthesized from search results
Powered by Claude for high-quality summaries
Include citations to source URLs
Best for: Research questions, topic overviews, comparative analysis

URL Discovery

Extract 1-20 most relevant URLs for a query
Useful for building reading lists and reference collections
Returns URLs with titles and descriptions
Best for: Resource gathering, link building, research preparation

Deep Content Extraction

Default (Recommended): deep_search=false - Fastest response, returns titles, descriptions, and URLs
Optional: deep_search=true - Slower, extracts full page content
Important: Most use cases work perfectly with deep_search=false (the default)
Available formats when deep_search=true: markdown, plain_text, simplified_html
Only enable deep search for: Detailed content analysis, archiving, or comprehensive text extraction needs

Domain Filtering

Include specific domains (e.g., github.com, stackoverflow.com)
Exclude domains to remove unwanted sources
Combine multiple domains for focused searches
Best for: Targeted research, brand monitoring, competitive analysis

Time Filtering

Recommended: Use time_range for real-time recency filtering (hour, day, week, month, year)
Alternative: Use start_date/end_date for precise date ranges (YYYY-MM-DD)
Note: time_range and date filters are mutually exclusive
Best for: Real-time news monitoring, recent developments, temporal analysis

### Usage Patterns

All examples below use the ./scripts/search.sh wrapper for simplicity. For raw API usage, see the API Integration section.

### Basic Search

Quick search in fast mode (ALWAYS specify deep_search explicitly):

./scripts/search.sh '{
  "query": "React Server Components tutorial",
  "deep_search": false
}'

For technical content, specify coding focus (still fast mode):

./scripts/search.sh '{
  "query": "React Server Components tutorial",
  "focus": "coding",
  "deep_search": false
}'

### Research with AI Summary

Get synthesized insights from multiple sources (fast mode works great with answer generation):

./scripts/search.sh '{
  "query": "impact of AI on software development 2026",
  "deep_search": false,
  "include_answer": true
}'

### Domain-Specific Search

Target specific authoritative sources (fast mode):

./scripts/search.sh '{
  "query": "async await patterns",
  "focus": "coding",
  "deep_search": false,
  "include_domains": ["github.com", "stackoverflow.com", "dev.to"],
  "max_results": 8
}'

### Real-Time News Monitoring

Track current events and breaking news as they happen (fast mode):

./scripts/search.sh '{
  "query": "latest developments in quantum computing",
  "focus": "news",
  "deep_search": false,
  "time_range": "week",
  "max_results": 15,
  "include_answer": true
}'

### Academic Research - Fast Mode (Recommended)

Find and synthesize scholarly content using fast mode:

./scripts/search.sh '{
  "query": "machine learning interpretability methods",
  "focus": "academic",
  "deep_search": false,
  "max_results": 20,
  "include_answer": true
}'

When to use deep mode: Only use "deep_search": true if you need full paper content extracted for archiving:

./scripts/search.sh '{
  "query": "machine learning interpretability methods",
  "focus": "academic",
  "deep_search": true,
  "max_results": 5,
  "output_format": "markdown"
}'

Note: Deep mode is 5-15x slower. Use only when specifically needed.

### Real-Time Shopping Research

Compare products and current prices (fast mode):

./scripts/search.sh '{
  "query": "best mechanical keyboards for programming",
  "focus": "shopping",
  "deep_search": false,
  "max_results": 10,
  "include_answer": true
}'

### When to Use Parallel Searches

Run multiple real-time searches in parallel when:

Comparing perspectives: Search the same topic across different focus modes
Multi-faceted research: Investigate different aspects of a topic simultaneously
Competitive analysis: Search multiple domains or competitors at once
Real-time monitoring: Track multiple topics or keywords concurrently
Cross-validation: Verify information across different source types in real-time

### Implementation Methods

Method 1: Background Processes (Recommended)

Run multiple searches concurrently using the wrapper script:

# Start multiple searches in parallel
./scripts/search.sh '{"query": "React", "focus": "coding"}' > react_coding.json &
./scripts/search.sh '{"query": "React", "focus": "news"}' > react_news.json &
./scripts/search.sh '{"query": "React", "focus": "academic"}' > react_academic.json &

# Wait for all to complete
wait

# Combine results
jq -s '.' react_*.json > combined_results.json

Method 2: Loop with xargs (Controlled Parallelism)

Process multiple queries with rate limiting:

# Create queries file
cat > queries.txt <<EOF
{"query": "AI frameworks", "focus": "coding"}
{"query": "AI regulation", "focus": "news"}
{"query": "AI research", "focus": "academic"}
EOF

# Run with max 3 parallel processes
cat queries.txt | xargs -n1 -P3 -I{} ./scripts/search.sh '{}'

Method 3: Focus Mode Comparison

Search the same query across different focus modes:

QUERY="artificial intelligence trends"

for focus in "general" "coding" "news" "academic"; do
  (
    ./scripts/search.sh "{\\"query\\": \\"$QUERY\\", \\"focus\\": \\"$focus\\"}" \\
      > "${focus}_results.json"
  ) &
done

wait
echo "All searches complete!"

### Best Practices for Parallel Execution

Rate Limiting: Limit parallel requests to 3-5 to avoid overwhelming the API

Use xargs -P3 to set maximum concurrent requests
Check your API tier limits before increasing parallelism



Error Handling: Capture and handle failures gracefully
./scripts/search.sh '{"query": "test"}' || echo "Search failed" >> errors.log



Result Aggregation: Combine results after all searches complete
# Wait for all searches
wait

# Merge JSON results
jq -s 'map(.results) | flatten' result*.json > combined.json



Progress Tracking: Monitor completion status
echo "Running 5 parallel searches..."

for i in {1..5}; do
  ./scripts/search.sh "{\\"query\\": \\"query$i\\"}" > "result$i.json" &
done

wait
echo "All searches complete!"

### Example: Multi-Perspective Research

#!/bin/bash
# Research a topic across multiple focus modes simultaneously

QUERY="artificial intelligence code generation"
OUTPUT_DIR="./search_results"
mkdir -p "$OUTPUT_DIR"

# Run searches in parallel across different focus modes
for focus in "general" "coding" "news" "academic"; do
  (
    ./scripts/search.sh "{
      \\"query\\": \\"$QUERY\\",
      \\"focus\\": \\"$focus\\",
      \\"max_results\\": 10
    }" > "$OUTPUT_DIR/${focus}_results.json"
  ) &
done

# Wait for all searches to complete
wait

# Aggregate and analyze results
jq -s '{
  general: .[0].results,
  coding: .[1].results,
  news: .[2].results,
  academic: .[3].results
}' "$OUTPUT_DIR"/*.json > "$OUTPUT_DIR/combined_analysis.json"

echo "✓ Multi-perspective search complete"

### Performance Considerations

Optimal Parallelism: 3-5 concurrent requests balances speed and API limits
Memory Usage: Each parallel request consumes memory; monitor for large result sets
Network Bandwidth: Parallel requests can saturate bandwidth on slow connections
API Costs: More parallel requests = faster API quota consumption

### When NOT to Use Parallel Searches

Single, focused query with one clear answer
Sequential research where each search informs the next
API quota is limited or expensive
Results need to be processed before next search
Simple URL collection that doesn't require multiple perspectives

### API Integration

Note: For most use cases, use the ./scripts/search.sh wrapper script shown in Usage Patterns. The raw API examples below are for advanced users who need direct API access or custom integration.

### Required Configuration

Before making any API request, always validate the API key is configured:

# Validate API key is set
if [ -z "$NIMBLE_API_KEY" ]; then
  echo "❌ Nimble API key not configured."
  echo "Get your key at https://www.nimbleway.com/"
  echo ""
  echo "Set NIMBLE_API_KEY environment variable using your platform's method."
  exit 1
fi

The skill requires the NIMBLE_API_KEY environment variable. See Prerequisites for platform-specific setup instructions.

Get your API key at: https://www.nimbleway.com/

### API Endpoint

POST https://nimble-retriever.webit.live/search

### Request Format

{
  "query": "search query string",  // REQUIRED
  "focus": "general",  // OPTIONAL: default "general" | coding|news|academic|shopping|social|geo|location
  "max_results": 10,  // OPTIONAL: default 10 (range: 1-100)
  "include_answer": false,  // OPTIONAL: default false
  "deep_search": false,  // OPTIONAL: default false (RECOMMENDED: keep false for speed)
  "output_format": "markdown",  // OPTIONAL: default "markdown" | plain_text|simplified_html
  "include_domains": ["domain1.com"],  // OPTIONAL: default [] (no filter)
  "exclude_domains": ["domain3.com"],  // OPTIONAL: default [] (no filter)
  "time_range": "week",  // OPTIONAL: hour|day|week|month|year
  "start_date": "2026-01-01",  // OPTIONAL: Use time_range OR start_date/end_date (not both)
  "end_date": "2026-12-31"  // OPTIONAL
}

Key Defaults:

focus: "general" - Change to specific mode for targeted results
deep_search: false - Keep false unless you need full page content
max_results: 10 - Balanced speed and coverage

### Response Format

{
  "results": [
    {
      "url": "https://example.com/page",
      "title": "Page Title",
      "description": "Page description",
      "content": "Full page content (if deep_search=true)",
      "published_date": "2026-01-15"
    }
  ],
  "include_answer": "AI-generated summary (if include_answer=true)",
  "urls": ["url1", "url2", "url3"],
  "total_results": 10
}

### Focus Mode Selection

Use coding for:

Programming questions
Technical documentation
Code examples and tutorials
API references
Framework guides

Use news for:

Real-time current events
Breaking stories as they happen
Recent announcements
Trending topics
Time-sensitive information

Use academic for:

Research papers
Scholarly articles
Scientific studies
Academic journals
Citations and references

Use shopping for:

Product searches
Price comparisons
E-commerce research
Product reviews
Buying guides

Use social for:

Real-time social media monitoring
Live community discussions
Current user-generated content
Trending hashtags and topics
Real-time public sentiment

Use geo for:

Geographic information
Regional data
Maps and locations
Area-specific queries

Use location for:

Local business searches
Place-specific information
Nearby services
Regional recommendations

### Result Limits

Quick searches: 5-10 results for fast overview
Comprehensive research: 15-20 results for depth
Answer generation: 10-15 results for balanced synthesis
URL collection: 20 results for comprehensive resource list

### When to Use LLM Answers

✅ Use LLM answers when:

You need a synthesized overview of a topic
Comparing multiple sources or approaches
Summarizing recent developments
Answering specific questions
Creating research summaries

❌ Skip LLM answers when:

You just need a list of URLs
Building a reference collection
Speed is critical
You want to analyze sources manually
Original source text is needed

### Content Extraction

Default (Recommended): deep_search=false

The default setting works for 95% of use cases:

✅ Fastest response times
✅ Returns titles, descriptions, URLs
✅ Works perfectly with include_answer=true
✅ Sufficient for research, comparisons, and URL discovery

Only use deep_search=true when you specifically need:

Full page content extraction
Archiving complete articles
Processing full text for analysis
Building comprehensive datasets

Performance impact:

deep_search=false: ~1-3 seconds
deep_search=true: ~5-15 seconds (significantly slower)

### Common Issues

Authentication Failed

Verify NIMBLE_API_KEY is set correctly
Check API key is active at nimbleway.com
Ensure key has search API access

Rate Limiting

Reduce max_results
Add delays between requests
Check your plan limits
Consider upgrading API tier

No Results

Try different focus mode
Broaden search query
Remove domain filters
Adjust date filters

Timeout Errors

Reduce max_results
Disable deep content extraction
Simplify query
Try again after brief delay

### Performance Tips

Use Defaults: Keep deep_search=false (default) for 5-10x faster responses
Start Simple: Begin with just {"query": "..."} - defaults work great
Choose Right Focus: Proper focus mode dramatically improves relevance (default: "general")
Optimize Result Count: Default of 10 results balances speed and coverage
Domain Filtering: Pre-filter sources for faster, more relevant results
Avoid Deep Search: Only enable deep_search=true when you truly need full content
Batch Queries: Group related searches to minimize API calls
Cache Results: Store results locally when appropriate

### Integration Examples

See the examples/ directory for detailed integration patterns:

basic-search.md - Simple search implementation
deep-research.md - Multi-step research workflow
competitive-analysis.md - Domain-specific research pattern

See references/ directory for detailed documentation:

focus-modes.md - Complete focus mode guide
search-strategies.md - Advanced search patterns
api-reference.md - Full API documentation

### search.sh - Main Search Wrapper

The recommended way to use the Nimble Search API:

./scripts/search.sh '{"query": "your search", "focus": "coding"}'

Features:

Automatic authentication with $NIMBLE_API_KEY
Platform detection (claude-code, github-copilot, vscode, cli)
Request tracking headers for analytics
JSON validation and error handling
Formatted output with jq

Usage:

# Basic search
./scripts/search.sh '{"query": "React hooks"}'

# With all options
./scripts/search.sh '{
  "query": "AI frameworks",
  "focus": "coding",
  "max_results": 15,
  "include_answer": true,
  "include_domains": ["github.com"]
}'

### validate-query.sh - API Configuration Test

Test your API configuration and connectivity:

./scripts/validate-query.sh "test query" general

This verifies:

API key is configured
Endpoint is accessible
Response format is correct
Focus mode is supported
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: ilchemla
- Version: 0.1.0
## Source health
- Status: healthy
- Source download looks usable.
- Yavira can redirect you to the upstream package for this source.
- Health scope: source
- Reason: direct_download_ok
- Checked at: 2026-04-30T16:55:25.780Z
- Expires at: 2026-05-07T16:55:25.780Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/nimble-web-search)
- [Send to Agent page](https://openagent3.xyz/skills/nimble-web-search/agent)
- [JSON manifest](https://openagent3.xyz/skills/nimble-web-search/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/nimble-web-search/agent.md)
- [Download page](https://openagent3.xyz/downloads/nimble-web-search)