CtrlK
BlogDocsLog inGet started
Tessl Logo

web-search-linkup

Web search and content fetching - search the web or extract content from URLs

52

Quality

66%

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 ./skills/research-tools/capabilities/web-search-linkup/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

67%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.

The body is a compact, mostly actionable API guide with a genuinely useful credentials fallback step and sensible deferral of full endpoint details to discovery commands. Its main defects are a malformed primary search example (parameters stranded outside the request body) and light redundancy (duplicated endpoint descriptions, a generic Use Cases section) that cost both actionability and conciseness.

Suggestions

Fix the /search example so the parameters sit inside a quoted "body" object, mirroring the fetch example: -d '{"api":"linkup","path":"/search","body":{"q":"latest AI developments 2024","depth":"standard","outputType":"sourcedAnswer"}}'.

Remove the duplicated endpoint descriptions (Capabilities vs. Usage) and the generic Use Cases section, which explains nothing Claude doesn't already know.

Add a brief note on handling API errors (e.g., checking the HTTP status or error field in the response and retrying/falling back) to strengthen the feedback loop.

DimensionReasoningScore

Conciseness

The body is mostly lean parameter tables and curl commands with little concept explanation, but there is trimmable redundancy: "Search the web and fetch content from any URL" restates the description, the /search and /fetch endpoint purpose sentences appear twice (Capabilities and Usage), and the generic "Use Cases" section (e.g. "Research: Search for information on any topic") tells Claude what it already knows. This fits 'efficient; minor instances of over-explanation that could be trimmed', below 5 where every token earns its place.

4 / 5

Actionability

The fetch example is fully executable and the parameter documentation is concrete, but the primary /search curl example is malformed: the JSON payload closes after '{"api":"linkup","path":"search"}' and the q/depth/outputType fields dangle outside the quoted body with no 'body' wrapper, so it fails if copied verbatim. This lands at 'some concrete guidance but incomplete; missing key details' rather than 4, where the example would be executable with only minor gaps.

3 / 5

Workflow Clarity

For this simple two-endpoint skill the sequence is clear: read credentials (with an explicit error-recovery fallback — "If ~/.gooseworks/credentials.json does not exist, tell the user to run npx gooseworks login"), then call /search or /fetch with documented parameters. Neither operation is destructive or batch, so the validation cap does not apply. It is below 5 only because the broken search example muddies the main workflow and there is no guidance on interpreting/handling API error responses.

4 / 5

Progressive Disclosure

With no bundle files present, the single SKILL.md is well-organized into Setup, Capabilities, Usage (per endpoint), and Discover More, and the "Discover More" section appropriately defers full API details to live discovery commands rather than inlining them. It is below 5 because the ~25-line inline parameter reference sits between the two and the endpoint purpose sentences are duplicated rather than consolidated, leaving minor organization gaps.

4 / 5

Total

15

/

20

Passed

Description

50%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 clearly states what the skill does with two concrete actions, but it completely lacks any 'when to use' trigger guidance and offers no distinctive hook separating it from generic web-search tools. It reads as a minimal, serviceable description at the midpoint of the scale.

Suggestions

Add an explicit trigger clause, e.g. "Use when the user asks to search the web, look up current information, or fetch/extract the content of a specific URL."

Include natural synonyms users would say — "web search", "look up", "fetch page", "read this link/URL" — to improve trigger-term coverage.

Mention the differentiating capability (e.g. Linkup's 'deep' search mode for comprehensive research) to reduce conflict risk with generic search/fetch skills.

DimensionReasoningScore

Specificity

The description names the domain ("Web search and content fetching") and two concrete actions ("search the web" and "extract content from URLs"), matching the anchor for 1-2 concrete actions. It is not score 4 because no further actions or capabilities (e.g., deep search, domain filtering, JS rendering) are listed, and not score 2 because the actions are concrete rather than generic.

3 / 5

Completeness

The 'what' is clearly stated ("search the web or extract content from URLs") but there is no 'when' guidance — no 'Use when...' clause or equivalent trigger, which caps completeness at 3 per the judging guidelines. It is above 2 because the 'what' is concrete, and below 4 because 'when' is entirely missing rather than merely imprecise.

3 / 5

Trigger Term Quality

Phrases like "search the web", "search", and "URLs" are natural user terms, but common variations such as "look up", "fetch", "browse", or "web page" are absent. This sits at the 'some relevant keywords but missing common variations' anchor, below 4 (good coverage with a few missing) and above 2 (only generic keywords).

3 / 5

Distinctiveness Conflict Risk

"Web search and content fetching" is somewhat specific in naming URLs and content extraction, but web search/fetch is a widely overlapping capability (built-in WebSearch/WebFetch tools and similar skills), so overlap risk remains. It is above 2 because URL content extraction narrows the scope somewhat, and below 4 because nothing distinguishes it from the many other web-search skills (e.g., the Linkup deep-search differentiator is never mentioned).

3 / 5

Total

12

/

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
gooseworks-ai/goose-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.