CtrlK
BlogDocsLog inGet started
Tessl Logo

web-content-fetcher

网页内容获取工具 | 当常规爬虫被过滤时,使用替代服务获取网页内容。支持:1) r.jina.ai - 最稳定 2) markdown.new - Cloudflare 专用 3) defuddle.md - 备用方案。触发词:获取网页内容、网页转markdown、内容抓取、fetch webpage、bypass cloudflare

66

Quality

81%

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

80%

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

A concise, actionable skill body with executable curl examples and a clear service-comparison table. It is weakened by implicit fallback checkpoints between services and a reference to a nonexistent fetch.sh script.

Suggestions

Add explicit fallback checkpoints: define what counts as a failure (empty body, error/HTTP status, Cloudflare challenge page) and instruct trying markdown.new then defuddle.md in sequence only when the prior service fails.

Either provide the referenced fetch.sh script in a scripts/ directory or remove the "工具脚本" section; as written it points Claude to a file that does not exist.

Reconcile the conflicting command interfaces — the "API 格式" block shows `fetch_webpage <url> --method jina|markdown|defuddle` (flags) while fetch.sh is invoked with positional args (`./fetch.sh https://example.com jina`); pick one and document it consistently.

DimensionReasoningScore

Conciseness

The body is lean: a service-comparison table, copy-paste curl commands, a short API-format block, and a minimal example, with no explanation of concepts Claude already knows (what curl or markdown is).

3 / 3

Actionability

It provides fully executable, copy-paste-ready commands (e.g. `curl -s "https://r.jina.ai/https://example.com"") with specific service URLs, matching the score-3 anchor for executable guidance.

3 / 3

Workflow Clarity

A two-step sequence is present ("1. 首先用 web_fetch 尝试获取 2. 如果失败或被过滤,调用本工具"), but the criteria for moving between the three fallback services are only implied by the priority table, with no explicit failure checks or checkpoints.

2 / 3

Progressive Disclosure

Sections are well organized for a short skill, but the body references a `fetch.sh` script ("本目录包含 `fetch.sh` 脚本") that does not exist in any bundle directory, making the sole external reference broken.

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.

A strong description that clearly states purpose, lists three concrete services with their roles, and provides explicit trigger words in both languages. Its main weakness is a single narrow capability and somewhat generic fetch triggers that could overlap with general web-fetch skills.

DimensionReasoningScore

Specificity

Names the domain and three concrete services ("r.jina.ai - 最稳定", "markdown.new - Cloudflare 专用", "defuddle.md - 备用方案"), but the capability is a single action (fetching web content) with three methods rather than multiple distinct actions like the score-3 anchor's extract/fill/merge.

2 / 3

Completeness

It states what the skill does ("使用替代服务获取网页内容" with the three services) and when to use it ("当常规爬虫被过滤时" plus the trigger-word clause), clearly answering both what and when with explicit triggers.

3 / 3

Trigger Term Quality

An explicit 触发词 list provides five natural bilingual terms ("获取网页内容、网页转markdown、内容抓取、fetch webpage、bypass cloudflare") that a user would plausibly say, matching the score-3 anchor's good coverage.

3 / 3

Distinctiveness Conflict Risk

The bypass/filtering niche is reasonably specific, but the trigger terms "fetch webpage" and "获取网页内容" are generic enough to overlap with a general web-fetch skill, so it could still trigger the wrong skill.

2 / 3

Total

10

/

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
UnicomAI/wanwu
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.