name: nimble-web-search description: > Real-time web intelligence powered by Nimble Search API. Perform intelligent web searches with 8 specialized focus modes (general, coding, news, academic, shopping, social, geo, location). This skill provides real-time search results when you need to search the web, find current information, discover URLs, research topics, or gather up-to-date data. Use when: searching for information, finding recent news, looking up academic papers, searching for coding examples, finding shopping results, discovering social media posts, researching topics, or getting latest real-time data. license: MIT metadata: version: "0.1.0" author: Nimbleway repository: https://github.com/Nimbleway/agent-skills
Real-time web intelligence using Nimble Search API with specialized focus modes and AI-powered result synthesis.
Nimble API Key Required - Get your key at https://www.nimbleway.com/
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.
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
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 responsesfalse (FAST MODE - 1-3 seconds): For 95% of use cases - URL discovery, research, comparisons, answer generationUse 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.
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.
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.
Choose the appropriate focus mode based on your query type:
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
All examples below use the ./scripts/search.sh wrapper for simplicity. For raw API usage, see the API Integration section.
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
}'
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
}'
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
}'
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
}'
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:
本技能来自小葱技能站7w4.net。
./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.
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
}'
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
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!"
xargs -P3 to set maximum concurrent requestsCheck your API tier limits before increasing parallelism
Error Handling: Capture and handle failures gracefully
bash
./scripts/search.sh '{"query": "test"}' || echo "Search failed" >> errors.log
Result Aggregation: Combine results after all searches complete ```bash # Wait for all searches wait
# Merge JSON results jq -s 'map(.results) | flatten' result*.json > combined.json ```
for i in {1..5}; do ./scripts/search.sh "{\"query\": \"query$i\"}" > "result$i.json" & done
wait echo "All searches complete!" ```
#!/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"
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.
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/
POST https://nimble-retriever.webit.live/search
{
"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
{
"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
}
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
✅ 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
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)
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
deep_search=false (default) for 5-10x faster responses{"query": "..."} - defaults work greatdeep_search=true when you truly need full contentSee 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
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"]
}'
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
这个 Skill 质量较好,文档详尽、示例丰富,8种搜索模式覆盖日常需求,性能优化指导明确(区分快慢模式)。需要配置 API key 是主要门槛,对于需要实时网络搜索的场景非常实用。整体适合有开发经验的用户快速上手。