{
  "schemaVersion": "1.0",
  "item": {
    "slug": "web-search",
    "name": "Web Search",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/billyutw/web-search",
    "canonicalUrl": "https://clawhub.ai/billyutw/web-search",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/web-search",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=web-search",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/search.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "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."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "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."
        },
        {
          "label": "Upgrade existing",
          "body": "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."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-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/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."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/web-search",
    "agentPageUrl": "https://openagent3.xyz/skills/web-search/agent",
    "manifestUrl": "https://openagent3.xyz/skills/web-search/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/web-search/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "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."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "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."
      },
      {
        "label": "Upgrade existing",
        "body": "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."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Overview",
        "body": "Search the web using DuckDuckGo's API to find information across web pages, news articles, images, and videos. Returns results in multiple formats (text, markdown, JSON) with filtering options for time range, region, and safe search."
      },
      {
        "title": "When to Use This Skill",
        "body": "Use this skill when users request:\n\nWeb searches for information or resources\nFinding current or recent information online\nLooking up news articles about specific topics\nSearching for images by description or topic\nFinding videos on specific subjects\nResearch requiring current web data\nFact-checking or verification using web sources\nGathering URLs and resources on a topic"
      },
      {
        "title": "Prerequisites",
        "body": "Install the required dependency:\n\npip install duckduckgo-search\n\nThis library provides a simple Python interface to DuckDuckGo's search API without requiring API keys or authentication."
      },
      {
        "title": "1. Basic Web Search",
        "body": "Search for web pages and information:\n\npython scripts/search.py \"<query>\"\n\nExample:\n\npython scripts/search.py \"python asyncio tutorial\"\n\nReturns the top 10 web results with titles, URLs, and descriptions in a clean text format."
      },
      {
        "title": "2. Limiting Results",
        "body": "Control the number of results returned:\n\npython scripts/search.py \"<query>\" --max-results <N>\n\nExample:\n\npython scripts/search.py \"machine learning frameworks\" --max-results 20\n\nUseful for:\n\nGetting more comprehensive results (increase limit)\nQuick lookups with fewer results (decrease limit)\nBalancing detail vs. processing time"
      },
      {
        "title": "3. Time Range Filtering",
        "body": "Filter results by recency:\n\npython scripts/search.py \"<query>\" --time-range <d|w|m|y>\n\nTime range options:\n\nd - Past day\nw - Past week\nm - Past month\ny - Past year\n\nExample:\n\npython scripts/search.py \"artificial intelligence news\" --time-range w\n\nGreat for:\n\nFinding recent news or updates\nFiltering out outdated content\nTracking recent developments"
      },
      {
        "title": "4. News Search",
        "body": "Search specifically for news articles:\n\npython scripts/search.py \"<query>\" --type news\n\nExample:\n\npython scripts/search.py \"climate change\" --type news --time-range w --max-results 15\n\nNews results include:\n\nArticle title\nSource publication\nPublication date\nURL\nArticle summary/description"
      },
      {
        "title": "5. Image Search",
        "body": "Search for images:\n\npython scripts/search.py \"<query>\" --type images\n\nExample:\n\npython scripts/search.py \"sunset over mountains\" --type images --max-results 20\n\nImage filtering options:\n\nSize filters:\n\npython scripts/search.py \"landscape photos\" --type images --image-size Large\n\nOptions: Small, Medium, Large, Wallpaper\n\nColor filters:\n\npython scripts/search.py \"abstract art\" --type images --image-color Blue\n\nOptions: color, Monochrome, Red, Orange, Yellow, Green, Blue, Purple, Pink, Brown, Black, Gray, Teal, White\n\nType filters:\n\npython scripts/search.py \"icons\" --type images --image-type transparent\n\nOptions: photo, clipart, gif, transparent, line\n\nLayout filters:\n\npython scripts/search.py \"wallpapers\" --type images --image-layout Wide\n\nOptions: Square, Tall, Wide\n\nImage results include:\n\nImage title\nImage URL (direct link to image)\nThumbnail URL\nSource website\nDimensions (width x height)"
      },
      {
        "title": "6. Video Search",
        "body": "Search for videos:\n\npython scripts/search.py \"<query>\" --type videos\n\nExample:\n\npython scripts/search.py \"python tutorial\" --type videos --max-results 15\n\nVideo filtering options:\n\nDuration filters:\n\npython scripts/search.py \"cooking recipes\" --type videos --video-duration short\n\nOptions: short, medium, long\n\nResolution filters:\n\npython scripts/search.py \"documentary\" --type videos --video-resolution high\n\nOptions: high, standard\n\nVideo results include:\n\nVideo title\nPublisher/channel\nDuration\nPublication date\nVideo URL\nDescription"
      },
      {
        "title": "7. Region-Specific Search",
        "body": "Search with region-specific results:\n\npython scripts/search.py \"<query>\" --region <region-code>\n\nCommon region codes:\n\nus-en - United States (English)\nuk-en - United Kingdom (English)\nca-en - Canada (English)\nau-en - Australia (English)\nde-de - Germany (German)\nfr-fr - France (French)\nwt-wt - Worldwide (default)\n\nExample:\n\npython scripts/search.py \"local news\" --region us-en --type news"
      },
      {
        "title": "8. Safe Search Control",
        "body": "Control safe search filtering:\n\npython scripts/search.py \"<query>\" --safe-search <on|moderate|off>\n\nOptions:\n\non - Strict filtering\nmoderate - Balanced filtering (default)\noff - No filtering\n\nExample:\n\npython scripts/search.py \"medical information\" --safe-search on"
      },
      {
        "title": "9. Output Formats",
        "body": "Choose how results are formatted:\n\nText format (default):\n\npython scripts/search.py \"quantum computing\"\n\nClean, readable plain text with numbered results.\n\nMarkdown format:\n\npython scripts/search.py \"quantum computing\" --format markdown\n\nFormatted markdown with headers, bold text, and links.\n\nJSON format:\n\npython scripts/search.py \"quantum computing\" --format json\n\nStructured JSON data for programmatic processing."
      },
      {
        "title": "10. Saving Results to File",
        "body": "Save search results to a file:\n\npython scripts/search.py \"<query>\" --output <file-path>\n\nExample:\n\npython scripts/search.py \"artificial intelligence\" --output ai_results.txt\npython scripts/search.py \"AI news\" --type news --format markdown --output ai_news.md\npython scripts/search.py \"AI research\" --format json --output ai_data.json\n\nThe file format is determined by the --format flag, not the file extension."
      },
      {
        "title": "Text Format",
        "body": "1. Page Title Here\n   URL: https://example.com/page\n   Brief description of the page content...\n\n2. Another Result\n   URL: https://example.com/another\n   Another description..."
      },
      {
        "title": "Markdown Format",
        "body": "## 1. Page Title Here\n\n**URL:** https://example.com/page\n\nBrief description of the page content...\n\n## 2. Another Result\n\n**URL:** https://example.com/another\n\nAnother description..."
      },
      {
        "title": "JSON Format",
        "body": "[\n  {\n    \"title\": \"Page Title Here\",\n    \"href\": \"https://example.com/page\",\n    \"body\": \"Brief description of the page content...\"\n  },\n  {\n    \"title\": \"Another Result\",\n    \"href\": \"https://example.com/another\",\n    \"body\": \"Another description...\"\n  }\n]"
      },
      {
        "title": "Research on a Topic",
        "body": "Gather comprehensive information about a subject:\n\n# Get overview from web\npython scripts/search.py \"machine learning basics\" --max-results 15 --output ml_web.txt\n\n# Get recent news\npython scripts/search.py \"machine learning\" --type news --time-range m --output ml_news.txt\n\n# Find tutorial videos\npython scripts/search.py \"machine learning tutorial\" --type videos --max-results 10 --output ml_videos.txt"
      },
      {
        "title": "Current Events Monitoring",
        "body": "Track news on specific topics:\n\npython scripts/search.py \"climate summit\" --type news --time-range d --format markdown --output daily_climate_news.md"
      },
      {
        "title": "Finding Visual Resources",
        "body": "Search for images with specific criteria:\n\npython scripts/search.py \"data visualization examples\" --type images --image-type photo --image-size Large --max-results 25 --output viz_images.txt"
      },
      {
        "title": "Fact-Checking",
        "body": "Verify information with recent sources:\n\npython scripts/search.py \"specific claim to verify\" --time-range w --max-results 20"
      },
      {
        "title": "Academic Research",
        "body": "Find resources on scholarly topics:\n\npython scripts/search.py \"quantum entanglement research\" --time-range y --max-results 30 --output quantum_research.txt"
      },
      {
        "title": "Market Research",
        "body": "Gather information about products or companies:\n\npython scripts/search.py \"electric vehicle market 2025\" --max-results 20 --format markdown --output ev_market.md\npython scripts/search.py \"EV news\" --type news --time-range m --output ev_news.txt"
      },
      {
        "title": "Implementation Approach",
        "body": "When users request web searches:\n\nIdentify search intent:\n\nWhat type of content (web, news, images, videos)?\nHow recent should results be?\nHow many results are needed?\nAny filtering requirements?\n\n\n\nConfigure search parameters:\n\nChoose appropriate search type (--type)\nSet time range if currency matters (--time-range)\nAdjust result count (--max-results)\nApply filters (image size, video duration, etc.)\n\n\n\nSelect output format:\n\nText for quick reading\nMarkdown for documentation\nJSON for further processing\n\n\n\nExecute search:\n\nRun the search command\nSave to file if results need to be preserved\nPrint to stdout for immediate review\n\n\n\nProcess results:\n\nRead saved files if needed\nExtract URLs or specific information\nCombine results from multiple searches"
      },
      {
        "title": "Quick Reference",
        "body": "Command structure:\n\npython scripts/search.py \"<query>\" [options]\n\nEssential options:\n\n-t, --type - Search type (web, news, images, videos)\n-n, --max-results - Maximum results (default: 10)\n--time-range - Time filter (d, w, m, y)\n-r, --region - Region code (e.g., us-en, uk-en)\n--safe-search - Safe search level (on, moderate, off)\n-f, --format - Output format (text, markdown, json)\n-o, --output - Save to file\n\nImage-specific options:\n\n--image-size - Size filter (Small, Medium, Large, Wallpaper)\n--image-color - Color filter\n--image-type - Type filter (photo, clipart, gif, transparent, line)\n--image-layout - Layout filter (Square, Tall, Wide)\n\nVideo-specific options:\n\n--video-duration - Duration filter (short, medium, long)\n--video-resolution - Resolution filter (high, standard)\n\nGet full help:\n\npython scripts/search.py --help"
      },
      {
        "title": "Best Practices",
        "body": "Be specific - Use clear, specific search queries for better results\nUse time filters - Apply --time-range for current information\nAdjust result count - Start with 10-20 results, increase if needed\nSave important searches - Use --output to preserve results\nChoose appropriate type - Use news search for current events, web for general info\nUse JSON for automation - JSON format is easiest to parse programmatically\nRespect usage - Don't hammer the API with rapid repeated searches"
      },
      {
        "title": "Troubleshooting",
        "body": "Common issues:\n\n\"Missing required dependency\": Run pip install duckduckgo-search\nNo results found: Try broader search terms or remove time filters\nTimeout errors: The search service may be temporarily unavailable; retry after a moment\nRate limiting: Space out searches if making many requests\nUnexpected results: DuckDuckGo's results may differ from Google; try refining the query\n\nLimitations:\n\nResults quality depends on DuckDuckGo's index and algorithms\nNo advanced search operators (unlike Google's site:, filetype:, etc.)\nImage and video searches may have fewer results than web search\nNo control over result ranking or relevance scoring\nSome specialized searches may work better on dedicated search engines"
      },
      {
        "title": "Combining Multiple Searches",
        "body": "Gather comprehensive information by combining search types:\n\n# Web overview\npython scripts/search.py \"topic\" --max-results 15 --output topic_web.txt\n\n# Recent news\npython scripts/search.py \"topic\" --type news --time-range w --output topic_news.txt\n\n# Images\npython scripts/search.py \"topic\" --type images --max-results 20 --output topic_images.txt"
      },
      {
        "title": "Programmatic Processing",
        "body": "Use JSON output for automated processing:\n\npython scripts/search.py \"research topic\" --format json --output results.json\n# Then process with another script\npython analyze_results.py results.json"
      },
      {
        "title": "Building a Knowledge Base",
        "body": "Create searchable documentation from web results:\n\n# Search multiple related topics\npython scripts/search.py \"topic1\" --format markdown --output kb/topic1.md\npython scripts/search.py \"topic2\" --format markdown --output kb/topic2.md\npython scripts/search.py \"topic3\" --format markdown --output kb/topic3.md"
      },
      {
        "title": "scripts/search.py",
        "body": "The main search tool implementing DuckDuckGo search functionality. Key features:\n\nMultiple search types - Web, news, images, and videos\nFlexible filtering - Time range, region, safe search, and type-specific filters\nMultiple output formats - Text, Markdown, and JSON\nFile output - Save results for later processing\nClean formatting - Human-readable output with all essential information\nError handling - Graceful handling of network errors and empty results\n\nThe script can be executed directly and includes comprehensive command-line help via --help."
      }
    ],
    "body": "Web Search\nOverview\n\nSearch the web using DuckDuckGo's API to find information across web pages, news articles, images, and videos. Returns results in multiple formats (text, markdown, JSON) with filtering options for time range, region, and safe search.\n\nWhen to Use This Skill\n\nUse this skill when users request:\n\nWeb searches for information or resources\nFinding current or recent information online\nLooking up news articles about specific topics\nSearching for images by description or topic\nFinding videos on specific subjects\nResearch requiring current web data\nFact-checking or verification using web sources\nGathering URLs and resources on a topic\nPrerequisites\n\nInstall the required dependency:\n\npip install duckduckgo-search\n\n\nThis library provides a simple Python interface to DuckDuckGo's search API without requiring API keys or authentication.\n\nCore Capabilities\n1. Basic Web Search\n\nSearch for web pages and information:\n\npython scripts/search.py \"<query>\"\n\n\nExample:\n\npython scripts/search.py \"python asyncio tutorial\"\n\n\nReturns the top 10 web results with titles, URLs, and descriptions in a clean text format.\n\n2. Limiting Results\n\nControl the number of results returned:\n\npython scripts/search.py \"<query>\" --max-results <N>\n\n\nExample:\n\npython scripts/search.py \"machine learning frameworks\" --max-results 20\n\n\nUseful for:\n\nGetting more comprehensive results (increase limit)\nQuick lookups with fewer results (decrease limit)\nBalancing detail vs. processing time\n3. Time Range Filtering\n\nFilter results by recency:\n\npython scripts/search.py \"<query>\" --time-range <d|w|m|y>\n\n\nTime range options:\n\nd - Past day\nw - Past week\nm - Past month\ny - Past year\n\nExample:\n\npython scripts/search.py \"artificial intelligence news\" --time-range w\n\n\nGreat for:\n\nFinding recent news or updates\nFiltering out outdated content\nTracking recent developments\n4. News Search\n\nSearch specifically for news articles:\n\npython scripts/search.py \"<query>\" --type news\n\n\nExample:\n\npython scripts/search.py \"climate change\" --type news --time-range w --max-results 15\n\n\nNews results include:\n\nArticle title\nSource publication\nPublication date\nURL\nArticle summary/description\n5. Image Search\n\nSearch for images:\n\npython scripts/search.py \"<query>\" --type images\n\n\nExample:\n\npython scripts/search.py \"sunset over mountains\" --type images --max-results 20\n\n\nImage filtering options:\n\nSize filters:\n\npython scripts/search.py \"landscape photos\" --type images --image-size Large\n\n\nOptions: Small, Medium, Large, Wallpaper\n\nColor filters:\n\npython scripts/search.py \"abstract art\" --type images --image-color Blue\n\n\nOptions: color, Monochrome, Red, Orange, Yellow, Green, Blue, Purple, Pink, Brown, Black, Gray, Teal, White\n\nType filters:\n\npython scripts/search.py \"icons\" --type images --image-type transparent\n\n\nOptions: photo, clipart, gif, transparent, line\n\nLayout filters:\n\npython scripts/search.py \"wallpapers\" --type images --image-layout Wide\n\n\nOptions: Square, Tall, Wide\n\nImage results include:\n\nImage title\nImage URL (direct link to image)\nThumbnail URL\nSource website\nDimensions (width x height)\n6. Video Search\n\nSearch for videos:\n\npython scripts/search.py \"<query>\" --type videos\n\n\nExample:\n\npython scripts/search.py \"python tutorial\" --type videos --max-results 15\n\n\nVideo filtering options:\n\nDuration filters:\n\npython scripts/search.py \"cooking recipes\" --type videos --video-duration short\n\n\nOptions: short, medium, long\n\nResolution filters:\n\npython scripts/search.py \"documentary\" --type videos --video-resolution high\n\n\nOptions: high, standard\n\nVideo results include:\n\nVideo title\nPublisher/channel\nDuration\nPublication date\nVideo URL\nDescription\n7. Region-Specific Search\n\nSearch with region-specific results:\n\npython scripts/search.py \"<query>\" --region <region-code>\n\n\nCommon region codes:\n\nus-en - United States (English)\nuk-en - United Kingdom (English)\nca-en - Canada (English)\nau-en - Australia (English)\nde-de - Germany (German)\nfr-fr - France (French)\nwt-wt - Worldwide (default)\n\nExample:\n\npython scripts/search.py \"local news\" --region us-en --type news\n\n8. Safe Search Control\n\nControl safe search filtering:\n\npython scripts/search.py \"<query>\" --safe-search <on|moderate|off>\n\n\nOptions:\n\non - Strict filtering\nmoderate - Balanced filtering (default)\noff - No filtering\n\nExample:\n\npython scripts/search.py \"medical information\" --safe-search on\n\n9. Output Formats\n\nChoose how results are formatted:\n\nText format (default):\n\npython scripts/search.py \"quantum computing\"\n\n\nClean, readable plain text with numbered results.\n\nMarkdown format:\n\npython scripts/search.py \"quantum computing\" --format markdown\n\n\nFormatted markdown with headers, bold text, and links.\n\nJSON format:\n\npython scripts/search.py \"quantum computing\" --format json\n\n\nStructured JSON data for programmatic processing.\n\n10. Saving Results to File\n\nSave search results to a file:\n\npython scripts/search.py \"<query>\" --output <file-path>\n\n\nExample:\n\npython scripts/search.py \"artificial intelligence\" --output ai_results.txt\npython scripts/search.py \"AI news\" --type news --format markdown --output ai_news.md\npython scripts/search.py \"AI research\" --format json --output ai_data.json\n\n\nThe file format is determined by the --format flag, not the file extension.\n\nOutput Format Examples\nText Format\n1. Page Title Here\n   URL: https://example.com/page\n   Brief description of the page content...\n\n2. Another Result\n   URL: https://example.com/another\n   Another description...\n\nMarkdown Format\n## 1. Page Title Here\n\n**URL:** https://example.com/page\n\nBrief description of the page content...\n\n## 2. Another Result\n\n**URL:** https://example.com/another\n\nAnother description...\n\nJSON Format\n[\n  {\n    \"title\": \"Page Title Here\",\n    \"href\": \"https://example.com/page\",\n    \"body\": \"Brief description of the page content...\"\n  },\n  {\n    \"title\": \"Another Result\",\n    \"href\": \"https://example.com/another\",\n    \"body\": \"Another description...\"\n  }\n]\n\nCommon Usage Patterns\nResearch on a Topic\n\nGather comprehensive information about a subject:\n\n# Get overview from web\npython scripts/search.py \"machine learning basics\" --max-results 15 --output ml_web.txt\n\n# Get recent news\npython scripts/search.py \"machine learning\" --type news --time-range m --output ml_news.txt\n\n# Find tutorial videos\npython scripts/search.py \"machine learning tutorial\" --type videos --max-results 10 --output ml_videos.txt\n\nCurrent Events Monitoring\n\nTrack news on specific topics:\n\npython scripts/search.py \"climate summit\" --type news --time-range d --format markdown --output daily_climate_news.md\n\nFinding Visual Resources\n\nSearch for images with specific criteria:\n\npython scripts/search.py \"data visualization examples\" --type images --image-type photo --image-size Large --max-results 25 --output viz_images.txt\n\nFact-Checking\n\nVerify information with recent sources:\n\npython scripts/search.py \"specific claim to verify\" --time-range w --max-results 20\n\nAcademic Research\n\nFind resources on scholarly topics:\n\npython scripts/search.py \"quantum entanglement research\" --time-range y --max-results 30 --output quantum_research.txt\n\nMarket Research\n\nGather information about products or companies:\n\npython scripts/search.py \"electric vehicle market 2025\" --max-results 20 --format markdown --output ev_market.md\npython scripts/search.py \"EV news\" --type news --time-range m --output ev_news.txt\n\nImplementation Approach\n\nWhen users request web searches:\n\nIdentify search intent:\n\nWhat type of content (web, news, images, videos)?\nHow recent should results be?\nHow many results are needed?\nAny filtering requirements?\n\nConfigure search parameters:\n\nChoose appropriate search type (--type)\nSet time range if currency matters (--time-range)\nAdjust result count (--max-results)\nApply filters (image size, video duration, etc.)\n\nSelect output format:\n\nText for quick reading\nMarkdown for documentation\nJSON for further processing\n\nExecute search:\n\nRun the search command\nSave to file if results need to be preserved\nPrint to stdout for immediate review\n\nProcess results:\n\nRead saved files if needed\nExtract URLs or specific information\nCombine results from multiple searches\nQuick Reference\n\nCommand structure:\n\npython scripts/search.py \"<query>\" [options]\n\n\nEssential options:\n\n-t, --type - Search type (web, news, images, videos)\n-n, --max-results - Maximum results (default: 10)\n--time-range - Time filter (d, w, m, y)\n-r, --region - Region code (e.g., us-en, uk-en)\n--safe-search - Safe search level (on, moderate, off)\n-f, --format - Output format (text, markdown, json)\n-o, --output - Save to file\n\nImage-specific options:\n\n--image-size - Size filter (Small, Medium, Large, Wallpaper)\n--image-color - Color filter\n--image-type - Type filter (photo, clipart, gif, transparent, line)\n--image-layout - Layout filter (Square, Tall, Wide)\n\nVideo-specific options:\n\n--video-duration - Duration filter (short, medium, long)\n--video-resolution - Resolution filter (high, standard)\n\nGet full help:\n\npython scripts/search.py --help\n\nBest Practices\nBe specific - Use clear, specific search queries for better results\nUse time filters - Apply --time-range for current information\nAdjust result count - Start with 10-20 results, increase if needed\nSave important searches - Use --output to preserve results\nChoose appropriate type - Use news search for current events, web for general info\nUse JSON for automation - JSON format is easiest to parse programmatically\nRespect usage - Don't hammer the API with rapid repeated searches\nTroubleshooting\n\nCommon issues:\n\n\"Missing required dependency\": Run pip install duckduckgo-search\nNo results found: Try broader search terms or remove time filters\nTimeout errors: The search service may be temporarily unavailable; retry after a moment\nRate limiting: Space out searches if making many requests\nUnexpected results: DuckDuckGo's results may differ from Google; try refining the query\n\nLimitations:\n\nResults quality depends on DuckDuckGo's index and algorithms\nNo advanced search operators (unlike Google's site:, filetype:, etc.)\nImage and video searches may have fewer results than web search\nNo control over result ranking or relevance scoring\nSome specialized searches may work better on dedicated search engines\nAdvanced Use Cases\nCombining Multiple Searches\n\nGather comprehensive information by combining search types:\n\n# Web overview\npython scripts/search.py \"topic\" --max-results 15 --output topic_web.txt\n\n# Recent news\npython scripts/search.py \"topic\" --type news --time-range w --output topic_news.txt\n\n# Images\npython scripts/search.py \"topic\" --type images --max-results 20 --output topic_images.txt\n\nProgrammatic Processing\n\nUse JSON output for automated processing:\n\npython scripts/search.py \"research topic\" --format json --output results.json\n# Then process with another script\npython analyze_results.py results.json\n\nBuilding a Knowledge Base\n\nCreate searchable documentation from web results:\n\n# Search multiple related topics\npython scripts/search.py \"topic1\" --format markdown --output kb/topic1.md\npython scripts/search.py \"topic2\" --format markdown --output kb/topic2.md\npython scripts/search.py \"topic3\" --format markdown --output kb/topic3.md\n\nResources\nscripts/search.py\n\nThe main search tool implementing DuckDuckGo search functionality. Key features:\n\nMultiple search types - Web, news, images, and videos\nFlexible filtering - Time range, region, safe search, and type-specific filters\nMultiple output formats - Text, Markdown, and JSON\nFile output - Save results for later processing\nClean formatting - Human-readable output with all essential information\nError handling - Graceful handling of network errors and empty results\n\nThe script can be executed directly and includes comprehensive command-line help via --help."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/billyutw/web-search",
    "publisherUrl": "https://clawhub.ai/billyutw/web-search",
    "owner": "billyutw",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/web-search",
    "downloadUrl": "https://openagent3.xyz/downloads/web-search",
    "agentUrl": "https://openagent3.xyz/skills/web-search/agent",
    "manifestUrl": "https://openagent3.xyz/skills/web-search/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/web-search/agent.md"
  }
}