CtrlK
BlogDocsLog inGet started
Tessl Logo

duckduckgo-search

Free web search via DuckDuckGo — text, news, images, videos. No API key needed. Prefer the `ddgs` CLI when installed; use the Python DDGS library only after verifying that `ddgs` is available in the current runtime.

65

Quality

80%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./optional-skills/research/duckduckgo-search/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

77%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is highly actionable with a clear, validated detection workflow, but it repeats the runtime-separation caveat excessively and fails to reference the bundled scripts/duckduckgo.sh helper, weakening conciseness and progressive disclosure.

Suggestions

Consolidate the 'separate runtimes' caveat into a single stated-once note in the Detection Flow or Pitfalls section rather than restating it across six sections.

Reference scripts/duckduckgo.sh from the body (e.g. a 'Helper script' callout under Method 1) so the bundled asset is discoverable and the navigation is one level deep.

DimensionReasoningScore

Conciseness

The body is mostly lean with direct code and tables and no basic-concept filler, but the 'terminal and execute_code are separate runtimes' caveat is repeated across ~6 sections (Detection Flow, Installation, Method 2, Limitations, Troubleshooting, Pitfalls), which is unnecessary padding that could be consolidated.

2 / 3

Actionability

Provides fully executable CLI commands, complete copy-paste Python snippets, and concrete flag/method/troubleshooting tables — directly actionable with no pseudocode.

3 / 3

Workflow Clarity

The Detection Flow is a numbered decision tree with an explicit validation checkpoint ('command -v ddgs'), installation verifies via 'ddgs --help', and the Python path requires import verification, giving clear sequencing with explicit checkpoints.

3 / 3

Progressive Disclosure

The body is well-sectioned, but the provided bundle file scripts/duckduckgo.sh is never referenced or signaled in the body, and all content is inline with no one-level-deep references, leaving structure partly under-organized.

2 / 3

Total

10

/

12

Passed

Description

82%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is specific, uses natural trigger terms, and is clearly distinguishable, but it lacks an explicit 'when to use this skill' trigger clause, capping completeness at 2.

Suggestions

Add an explicit trigger clause, e.g. 'Use when web_search is unavailable, when no API key is configured, or when the user asks for DuckDuckGo results specifically.'

Move the CLI-vs-Python preference detail out of the description and into the body so the description reads as a pure what/when summary.

DimensionReasoningScore

Specificity

Lists multiple concrete search actions ('text, news, images, videos') and names specific tooling ('ddgs' CLI, Python 'DDGS' library), matching the 'lists multiple specific concrete actions' anchor.

3 / 3

Completeness

The 'what' is explicit ('Free web search via DuckDuckGo — text, news, images, videos'), but there is no explicit 'Use when...' trigger; the 'when installed'/'only after verifying' clauses address tool preference, not when to invoke the skill, so completeness caps at 2.

2 / 3

Trigger Term Quality

Includes natural terms users would actually say — 'web search', 'DuckDuckGo', 'search', and the result-type modifiers 'text, news, images, videos' — giving good coverage rather than jargon.

3 / 3

Distinctiveness Conflict Risk

'via DuckDuckGo' combined with 'No API key needed' carves a clear, distinct niche unlikely to trigger for other search skills.

3 / 3

Total

11

/

12

Passed

Validation

81%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

13

/

16

Passed

Repository
NousResearch/hermes-agent
Reviewed

Table of Contents

Is this your skill?

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.