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

55

Quality

64%

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 ./configs/microservice/bff-service/configs/agent-skills/clawhub/web-content-fetcher/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

50%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 reasonably lean and the curl fallback ladder is genuinely usable, but its credibility is undermined by two undefined interfaces: a 'fetch_webpage' command that appears nowhere and a 'fetch.sh' script that is not present in the bundle. Combined with a redundant curl section and a contentless example section, the skill gives an agent enough to improvise but not enough to execute confidently.

Suggestions

Remove or actually implement the 'fetch_webpage <url> --method ...' interface — it is neither an existing script nor a documented tool; pick one real entrypoint (curl or a shipped script) and document only that.

Ship fetch.sh in the bundle (e.g. scripts/fetch.sh) or delete the '工具脚本' section, since the referenced file does not exist in this skill directory.

Cut the redundant curl block (the table already lists the URLs) and the empty '示例' section, and replace them with brief failure-handling guidance: what response indicates a service failed and when to fall back to the next one.

DimensionReasoningScore

Conciseness

The curl block ('curl -s "https://r.jina.ai/https://example.com"' etc.) duplicates the service URLs already given in the table, the '示例' section ('用户: 帮我获取... 助手: (使用 r.jina.ai 获取)') adds no information, and the trailing tagline is filler. Mostly efficient with some unnecessary repetition; not 4 because these trimmable sections are noticeable rather than minor.

3 / 5

Actionability

The curl examples are executable, but the documented API 'fetch_webpage <url> --method jina|markdown|defuddle' references an interface never defined anywhere, and the referenced './fetch.sh' script does not exist in the bundle. This matches 'Some concrete guidance but incomplete... missing key details'; not 4 because a reader following the primary documented interface would fail.

3 / 5

Workflow Clarity

A rough sequence exists ('首先用 web_fetch 尝试获取 / 如果失败或被过滤,调用本工具') with a priority-ordered fallback table, but there is no checkpoint for what counts as failure, when to advance to the next service, or how to verify the returned markdown is usable. Sequence present with implicit checkpoints; not 4 because the failure-handling criteria are undefined.

3 / 5

Progressive Disclosure

The body is short with clean section headers, but it references a bundle file ('本目录包含 fetch.sh 脚本') that does not exist — there are no references/, scripts/, or assets/ directories in this bundle. Structure exists but the one reference it makes is broken and unresolvable; not 4 because a dangling reference to a missing script is a concrete organization defect, not a minor gap.

3 / 5

Total

12

/

20

Passed

Description

78%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 that explicitly states what the skill does, when to use it, and lists bilingual natural trigger terms. Its main weakness is that it describes one capability implemented via three services rather than a range of concrete actions, which limits specificity slightly.

DimensionReasoningScore

Specificity

The description names the domain ("使用替代服务获取网页内容") and enumerates three concrete services (r.jina.ai, markdown.new, defuddle.md), but the action space is a single capability (fetch content via alternate services) rather than multiple specific actions. It matches 'Names domain and 1-2 concrete actions, but not comprehensive'; not 4 because the services are means to one action, not a list of distinct capabilities.

3 / 5

Completeness

It answers both what (fetch webpage content as markdown via three alternate services) and when ("当常规爬虫被过滤时") plus a dedicated trigger-word list ("触发词:..."). This matches the top anchor 'clearly and explicitly answers both what AND when with concrete trigger phrases'; not 4 because the when-clause and trigger phrases are already explicit and concrete.

5 / 5

Trigger Term Quality

It explicitly lists natural trigger terms ("获取网页内容、网页转markdown、内容抓取、fetch webpage、bypass cloudflare") covering both Chinese and English phrasings users would say. Not 5 because common variations like 'scrape webpage', 'crawl page', 'webpage to text', or extension-style synonyms are missing; clearly above 3 since coverage is broad and user-natural.

4 / 5

Distinctiveness Conflict Risk

The niche is clear (fallback fetching when normal crawlers are filtered, Cloudflare bypass) with distinct triggers, so it is unlikely to fire for unrelated skills. Not 5 because it could still overlap with a generic web-fetch/scraping skill whose description also mentions fetching webpage content.

4 / 5

Total

16

/

20

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.

Validation — 13 / 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.