{
  "schemaVersion": "1.0",
  "item": {
    "slug": "duckduckgo-websearch",
    "name": "Duckduckgo Websearch",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/IanWChoi/duckduckgo-websearch",
    "canonicalUrl": "https://clawhub.ai/IanWChoi/duckduckgo-websearch",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/duckduckgo-websearch",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=duckduckgo-websearch",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "_meta.json",
      "references/usage_examples.md",
      "scripts/ddg_search.js",
      "scripts/package-lock.json",
      "scripts/package.json"
    ],
    "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-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/duckduckgo-websearch"
    },
    "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/duckduckgo-websearch",
    "agentPageUrl": "https://openagent3.xyz/skills/duckduckgo-websearch/agent",
    "manifestUrl": "https://openagent3.xyz/skills/duckduckgo-websearch/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/duckduckgo-websearch/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": "DuckDuckGo Websearch Skill",
        "body": "Purpose\n\nProvide a stable, privacy-minded websearch skill using DuckDuckGo's Instant Answer JSON API as primary source and a lightweight HTML SERP scrape as a fallback for richer link lists.\nReturn structured results: concise summary (if available), top 5 links with titles and snippets, and optional short summary of a landed page when requested.\n\nWhen to use\n\nUse this skill when the user asks to \"search the web\", \"find links about X\", \"summarize search results for Y\", or any task requiring quick web lookup without paid search APIs.\nPrefer the skill when privacy-friendly sources are acceptable and rate limits / API keys for other search providers are unavailable.\n\nDesign principles\n\nProgressive disclosure: SKILL.md contains the trigger and workflow. Detailed parsing and helpers are in scripts/ so the agent can execute them without loading large text.\nFail gracefully: if Instant Answer returns limited data, the skill falls back to a minimal HTML fetch-and-parse to extract top results.\nSafety: avoid returning raw HTML; always sanitize snippets and obey robots (basic checks).\n\nBundled resources\n\nscripts/ddg_search.js — Node script that performs the search and returns JSON (summary, links[]). Executable by the agent when the skill is invoked.\nreferences/usage_examples.md — short examples of prompts that should trigger this skill.\n\nOutputs\n\nJSON shape returned from scripts/ddg_search.js:\n{\n\"query\": \"...\",\n\"summary\": \"short abstract or empty\",\n\"links\": [ {\"title\":\"...\",\"url\":\"...\",\"snippet\":\"...\"}, ... up to 5],\n\"source\": \"instant-answer|serp-fallback\",\n\"notes\": \"any warnings\"\n}\n\nSecurity & limits\n\nThe script uses DuckDuckGo's public instant-answer endpoint (no key). For many queries this is enough; for others the SERP fallback will perform a lightweight HTML request. Respect rate limits and avoid heavy scraping.\nDo not follow or fetch pages that explicitly disallow crawling via robots.txt for automation-intended user agents.\n\nInstallation / Usage (for maintainer)\n\nPlace this skill in ~/.openclaw/workspace/skills/duckduckgo-websearch\nEnsure node is available (Node 18+). The script has zero external dependencies (uses built-in https/http and node-html-parser).\nTest manually:\nnode scripts/ddg_search.js \"query terms\"\n\nTrigger examples (see references/usage_examples.md)\n\n\"Search DuckDuckGo for recent news about [topic] and give me top links.\"\n\"Find the best tutorials for Django channels and summarize top results.\""
      }
    ],
    "body": "DuckDuckGo Websearch Skill\n\nPurpose\n\nProvide a stable, privacy-minded websearch skill using DuckDuckGo's Instant Answer JSON API as primary source and a lightweight HTML SERP scrape as a fallback for richer link lists.\nReturn structured results: concise summary (if available), top 5 links with titles and snippets, and optional short summary of a landed page when requested.\n\nWhen to use\n\nUse this skill when the user asks to \"search the web\", \"find links about X\", \"summarize search results for Y\", or any task requiring quick web lookup without paid search APIs.\nPrefer the skill when privacy-friendly sources are acceptable and rate limits / API keys for other search providers are unavailable.\n\nDesign principles\n\nProgressive disclosure: SKILL.md contains the trigger and workflow. Detailed parsing and helpers are in scripts/ so the agent can execute them without loading large text.\nFail gracefully: if Instant Answer returns limited data, the skill falls back to a minimal HTML fetch-and-parse to extract top results.\nSafety: avoid returning raw HTML; always sanitize snippets and obey robots (basic checks).\n\nBundled resources\n\nscripts/ddg_search.js — Node script that performs the search and returns JSON (summary, links[]). Executable by the agent when the skill is invoked.\nreferences/usage_examples.md — short examples of prompts that should trigger this skill.\n\nOutputs\n\nJSON shape returned from scripts/ddg_search.js: { \"query\": \"...\", \"summary\": \"short abstract or empty\", \"links\": [ {\"title\":\"...\",\"url\":\"...\",\"snippet\":\"...\"}, ... up to 5], \"source\": \"instant-answer|serp-fallback\", \"notes\": \"any warnings\" }\n\nSecurity & limits\n\nThe script uses DuckDuckGo's public instant-answer endpoint (no key). For many queries this is enough; for others the SERP fallback will perform a lightweight HTML request. Respect rate limits and avoid heavy scraping.\nDo not follow or fetch pages that explicitly disallow crawling via robots.txt for automation-intended user agents.\n\nInstallation / Usage (for maintainer)\n\nPlace this skill in ~/.openclaw/workspace/skills/duckduckgo-websearch\nEnsure node is available (Node 18+). The script has zero external dependencies (uses built-in https/http and node-html-parser).\nTest manually: node scripts/ddg_search.js \"query terms\"\n\nTrigger examples (see references/usage_examples.md)\n\n\"Search DuckDuckGo for recent news about [topic] and give me top links.\"\n\"Find the best tutorials for Django channels and summarize top results.\""
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/IanWChoi/duckduckgo-websearch",
    "publisherUrl": "https://clawhub.ai/IanWChoi/duckduckgo-websearch",
    "owner": "IanWChoi",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/duckduckgo-websearch",
    "downloadUrl": "https://openagent3.xyz/downloads/duckduckgo-websearch",
    "agentUrl": "https://openagent3.xyz/skills/duckduckgo-websearch/agent",
    "manifestUrl": "https://openagent3.xyz/skills/duckduckgo-websearch/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/duckduckgo-websearch/agent.md"
  }
}