Installs into .claude/skills of the current project.
Are you the author of Ddgs?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/0xmariowu-ddgs)
---
name: ddgs
description: "DuckDuckGo Search — free general web search with no auth, use as broad default for any English or mixed query."
version: 1
languages: [en, mixed]
methods:
- id: text_search
impl: methods/api.py
requires: []
rate_limit: {per_min: 60, per_hour: 1000}
fallback_chain: [text_search]
when_to_use:
query_languages: [en, mixed]
query_types: [general, news, product, how-to]
avoid_for: [deep-technical-papers, chinese-content]
quality_hint:
typical_yield: medium
chinese_native: false
layer: leaf
domains: [generic-web]
scenarios: [general-search, fallback, keyword-lookup]
model_tier: Fast
experience_digest: experience.md
---
## Overview
General-purpose web search via DuckDuckGo. No API key required, no cookie. Serves as the always-on broad default for English and mixed-language queries where more specialized channels may not cover the topic.
## When to Choose It
- First-line web discovery before specialized channels
- Queries where platform-specific coverage (github, arxiv, HN) is unlikely to help
- Mixed-domain topics that need broad source variety
## How To Search (Planned)
`text_search` — calls the `ddgs` PyPI package (renamed from `duckduckgo-search`). Sync API wrapped in `asyncio.to_thread`. Returns `{title, href, body}` hits mapped to Evidence with 500-char snippet truncation.
## Known Quirks
- DDGS occasionally returns empty results during rate limit; channel returns `[]` and logs warn without crashing pipeline.
- Result URLs may redirect; we keep the original href (no unwrap).
# Quality Bar
- Evidence items have non-empty title and url.
- No crash on empty or malformed API response.
- Source channel field matches the channel name.