CtrlK
BlogDocsLog inGet started
Tessl Logo

web-search-and-fetch

Run Google searches and fetch JS-rendered web pages as Markdown via `google-search-cli`, a Patchright-based CLI invoked through `uvx` from its GitHub repo (no local install needed). Use when the agent needs (1) fresh Google search results from a query, (2) the Markdown of a URL that plain HTTP fetch (curl/WebFetch) cannot render because it requires JavaScript or evades bots, or (3) inspection of the raw HTML of a Google results page. Trigger phrases include "google for ...", "search the web for ...", "fetch this page as markdown", "this page needs JS to render". Do not use for static doc URLs that WebFetch handles cleanly, or when Chromium cannot be installed on the machine.

75

Quality

92%

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

SKILL.md
Quality
Evals
Security

Quality

Content

92%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 highly actionable, well-structured skill body: exact command templates, an explicit output contract, and a workflow with genuine error-recovery loops. The only flaw is repetition — the command-template warning, failure handling, and browser-state notes each appear twice — which costs tokens without adding information.

Suggestions

Consolidate the duplicated uvx-template warning: keep it once in the Commands section and drop the restatement in Workflow step 2.

Merge the Failure policy section with Workflow step 6, or make the workflow step reference the policy, to eliminate the duplicated error-handling guidance.

Fold the browser-state note in the Commands intro into the dedicated Browser-state cache section.

DimensionReasoningScore

Conciseness

Mostly dense with non-obvious operational facts (asymmetric headless defaults, sandbox whitelist constraint, browser-state reuse, truncation sentinel string), but repeats itself: the "do not modify the uvx command template / no cd" warning appears in both Commands and Workflow step 2, the Failure policy restates Workflow step 6, and browser-state is covered in both the Commands intro and its own section. Not 5 because these repeated passages could be trimmed; not 3 because there is no padding or explanation of concepts Claude already knows.

4 / 5

Actionability

Fully executable: exact copy-paste `uvx --from git+...` command templates with flags (-t, -w, --max-n-chars, --get-html, --no-save-state), an explicit output contract (JSON shape, truncation suffix, stderr/exit-code error format), and three worked examples mapping user requests to commands.

5 / 5

Workflow Clarity

The numbered Workflow 1–6 has explicit validation and feedback loops: detect the "... (truncated)" suffix and re-invoke once with a larger --max-n-chars; re-invoke once with a higher -w on anomalous output; back off after two empty searches (rate-limit); and error routing for exit code != 0 including the Chromium-missing case. Not 4 because the checkpoints are explicit, not implied.

5 / 5

Progressive Disclosure

No bundle files exist and none are needed; every section (prerequisites, commands, output contract, quirks, workflow, failure policy, examples) is appropriately sized for a single SKILL.md, clearly headed, and easy to navigate with no buried or nested references.

5 / 5

Total

19

/

20

Passed

Description

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

A strong description: concrete actions, explicit use-when clauses with enumerated cases, natural trigger phrases, and negative boundary guidance that separates it from built-in WebFetch/WebSearch. The only weakness is trigger-term coverage that misses a few common phrasings.

Suggestions

Add one or two more natural trigger variants such as "scrape this page" or "web search results" to broaden keyword coverage.

Consider trimming implementation detail ("a Patchright-based CLI invoked through uvx from its GitHub repo") from the description; it belongs in the body and the description reads cleaner without it.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions — "Run Google searches", "fetch JS-rendered web pages as Markdown", "inspection of the raw HTML of a Google results page" — which comprehensively cover the tool's capabilities. Not 4 because coverage has no gaps, matching the comprehensive anchor rather than the minor-gaps anchor.

5 / 5

Completeness

Explicitly answers both what (search, fetch as Markdown, raw HTML inspection, with the Patchright/uvx mechanism) and when ("Use when the agent needs (1) ... (2) ... (3) ..." with concrete trigger phrases and explicit "Do not use for" exclusions). This matches the anchor that requires concrete trigger phrases for both.

5 / 5

Trigger Term Quality

Includes natural trigger phrases users would actually say ("google for ...", "search the web for ...", "fetch this page as markdown", "this page needs JS to render") plus negative triggers. Not 5 because common variants like "scrape this page", plain "web search", or "render this page" are missing.

4 / 5

Distinctiveness Conflict Risk

Occupies a clear niche (JS-rendered / anti-bot pages that plain fetch cannot handle) and explicitly differentiates from curl/WebFetch — "cannot render because it requires JavaScript or evades bots" and "Do not use for static doc URLs that WebFetch handles cleanly". Conflict risk with the built-in fetch/search tools is explicitly minimized.

5 / 5

Total

19

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
ceshine/ceshine-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.