Performs web searches using DuckDuckGo to retrieve real-time information from the internet. Use when the user needs to search for current events, documentation, tutorials, or any information that requires web search capabilities.
72
66%
Does it follow best practices?
Impact
75%
3.57xAverage score across 3 eval scenarios
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./public/skills/10e9928a/duckduckgo-search/SKILL.mdQuality
Discovery
89%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a solid skill description that clearly communicates its purpose and when to use it. The explicit 'Use when' clause with relevant trigger scenarios is a strength. The main weakness is that the specificity of capabilities could be improved by listing more concrete actions beyond just 'performs web searches' and 'retrieve real-time information'.
Suggestions
Add more specific concrete actions such as 'retrieves search result snippets, URLs, and summaries' to improve specificity beyond the single action of searching.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (web searches via DuckDuckGo) and the core action (retrieve real-time information), but doesn't list multiple specific concrete actions beyond searching—e.g., no mention of extracting snippets, returning URLs, summarizing results, or handling multiple queries. | 2 / 3 |
Completeness | Clearly answers both 'what' (performs web searches using DuckDuckGo to retrieve real-time information) and 'when' (explicit 'Use when' clause covering current events, documentation, tutorials, or any information requiring web search). | 3 / 3 |
Trigger Term Quality | Includes strong natural trigger terms: 'web searches', 'DuckDuckGo', 'search', 'current events', 'documentation', 'tutorials', 'web search capabilities', and 'information'. These cover a good range of terms users would naturally say when needing a web search. | 3 / 3 |
Distinctiveness Conflict Risk | Clearly scoped to web searching via DuckDuckGo with distinct triggers like 'web search', 'current events', and 'real-time information'. Unlikely to conflict with document processing, code generation, or other common skill types. | 3 / 3 |
Total | 11 / 12 Passed |
Implementation
42%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill provides highly actionable, executable code examples covering all DuckDuckGo search types, which is its main strength. However, it is extremely verbose and monolithic — it reads like comprehensive library documentation rather than a focused skill for Claude. It explains things Claude already knows, includes unnecessary feature marketing (emoji bullet lists, privacy descriptions), and packs everything into one file without any progressive disclosure structure.
Suggestions
Cut the file to ~60-80 lines: remove the feature list, installation troubleshooting, parameter tables (Claude can reference the library docs), and reduce to 1-2 search type examples with a note that the same pattern applies to .news(), .images(), .videos().
Remove explanatory text Claude doesn't need — e.g., 'DuckDuckGo 的隐私友好型搜索', what each search type does conceptually, and the '注意事项' section about respecting copyright.
Split detailed parameter references and advanced examples (batch search, saving results, proxy config) into a separate REFERENCE.md file, keeping SKILL.md as a concise quick-start.
Add validation/retry logic to the batch search workflow — check for empty results, handle rate limiting with exponential backoff, and verify saved JSON is valid before reporting success.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely verbose — explains basic concepts Claude already knows (what DuckDuckGo is, privacy features, what each search type does), includes emoji decorations, redundant feature lists, and extensive parameter tables that duplicate library documentation. The skill is ~350 lines when it could be ~60. The 'features' bullet list and installation troubleshooting are unnecessary padding. | 1 / 3 |
Actionability | All code examples are fully executable, copy-paste ready Python snippets with concrete imports, method calls, and output formatting. Parameters are clearly documented with valid values and the error handling example uses the correct exception class. | 3 / 3 |
Workflow Clarity | The batch search example includes a rate-limiting delay (time.sleep), which is good, but there are no validation checkpoints for batch operations — no verification that results are valid before saving, no retry logic on failure, and the 'integration with browser-use' section is vague with a placeholder URL. The skill is mostly a catalog of search types rather than a guided workflow. | 2 / 3 |
Progressive Disclosure | Everything is crammed into a single monolithic file with no references to external files. The parameter tables, 7 search type examples, utility scripts, FAQ, and integration notes could easily be split into separate reference files. No bundle files exist to support progressive disclosure. | 1 / 3 |
Total | 7 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
allowed_tools_field | 'allowed-tools' contains unusual tool name(s) | Warning |
Total | 10 / 11 Passed | |
f45fcb5
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.