CtrlK
BlogDocsLog inGet started
Tessl Logo

searxng-search

Enhanced web and package repository search using local SearXNG instance

77

3.80x
Quality

68%

Does it follow best practices?

Impact

95%

3.80x

Average score across 3 eval scenarios

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./searxng-search/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

82%Weight 40%Scale 1-5

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

A strong, highly actionable body: executable curl/jq recipes, a complete manual startup path, and genuine troubleshooting feedback loops. The main weaknesses are mild redundancy in the configuration sections and an incomplete link-out to the bundle (two reference files and one script are undiscoverable from SKILL.md).

Suggestions

Reference the unreferenced bundle files — e.g., under Available Categories add 'See [category-guide.md](references/category-guide.md) for the full category/engine map' — so they are discoverable.

Replace the inlined Nushell helper with a pointer to scripts/searx (or note the script's path), removing duplication.

Trim the duplicated JSON-format YAML in the Configuration/Advanced section and the placeholder PyPI code block that contains only comments.

DimensionReasoningScore

Conciseness

The body is command-first and lean, with only one brief contextual sentence about SearXNG (a niche tool, so justified). Minor trimming opportunities exist: the Configuration section repeats the JSON-format YAML shown under Minimal config, and Common Usage Patterns partially repeats the Quick Reference table. This matches anchor 4 (efficient with minor instances that could be trimmed) rather than 5.

4 / 5

Actionability

Nearly everything is copy-paste executable: curl URLs with concrete example queries (tokio, express, requests, flask), jq filters, a full manual podman/docker startup with a heredoc config, and debugging commands. Specific examples cover the common cases (web search, cargo, npm, GitHub, top-N extraction), matching anchor 5.

5 / 5

Workflow Clarity

The start -> search -> debug sequence is clear, with 'Wait until ready' handled by the script and a Debugging section plus Known Issues providing real feedback loops (e.g., check unresponsive_engines, switch categories when cargo returns empty). It sits below anchor 5 because the manual container path lacks an explicit verify-the-server-is-up checkpoint before first search.

4 / 5

Progressive Disclosure

Good structure overall: Quick Start, Quick Reference table, and clearly signaled one-level references to package-engine-status.md and pypi-direct-search.md (both verified to exist). It falls short of anchor 5 because two of the four reference files (agent-usage.md, category-guide.md) and scripts/searx are never mentioned in the body, and the inlined Nushell helper duplicates the existing script.

4 / 5

Total

17

/

20

Passed

Description

53%Weight 40%Scale 1-5

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 names a clear, distinct niche (local SearXNG metasearch for web and package repositories) but is thin: it lists only one action, omits natural trigger phrases users would actually say, and provides no 'Use when...' guidance. It reads more like a title than a trigger-optimized description.

Suggestions

Add an explicit trigger clause, e.g., 'Use when the user asks to search the web, look up packages on npm/crates.io/PyPI, or wants search results without external API keys.'

Replace 'Enhanced' with concrete capabilities: 'Query a local SearXNG instance via curl for JSON web results and package-registry lookups (npm, crates.io, PyPI), with jq filtering recipes.'

Include natural synonyms users would say — 'search the internet', 'find a package', 'crate lookup', 'npm search' — so the skill triggers on real phrasings.

DimensionReasoningScore

Specificity

The phrase 'web and package repository search' names two domains with a single action ('search'), matching the anchor for naming a domain and 1-2 concrete actions without comprehensive coverage. 'Enhanced' is filler and no specific operations (JSON API, categories, jq filtering) are listed, so it falls short of anchor 4.

3 / 5

Completeness

The description clearly answers 'what' (web and package repository search via a local SearXNG instance) but has no 'Use when...' clause or equivalent trigger guidance, which caps completeness at 3. It is above anchor 2 because the 'what' is concrete, not vague.

3 / 5

Trigger Term Quality

'web search' and 'package repository' are relevant keywords a user might say, but common variations and synonyms are missing (e.g., 'search the internet', npm, crates.io, PyPI, 'find a package'). It matches anchor 3: some relevant keywords but missing common variations.

3 / 5

Distinctiveness Conflict Risk

Naming the SearXNG tool carves out a clear niche with minimal conflict risk against unrelated skills. However, the generic phrase 'web search' could overlap with other general web-search skills, keeping it just below anchor 5.

4 / 5

Total

13

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

Repository
YPares/agent-skills
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.