CtrlK
BlogDocsLog inGet started
Tessl Logo

common-fetcher

统一采集框架 - 支持 RSS/Web/API,207+ 采集源,AI 评分/分类/摘要

48

Quality

52%

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 ./.trae/openclaw-skills/common-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's core usage guidance (CLI, Node API, OpenClaw config) is genuinely executable, but it is embedded in a marketing-style project README whose performance tables, roadmap, contribution guide, license, and placeholder contacts burn context without helping Claude use the skill. There is also no verification step for batch fetching, and referenced paths (config/, src/parsers/) are not part of the skill bundle.

Suggestions

Strip the non-operational README sections (功能特性 marketing bullets, 性能指标 table, 开发计划, 贡献指南, 许可证, 联系方式 with placeholders) — these pad the token budget without operational value, which is the lowest-scoring dimension (conciseness, weight 0.3).

Add a validation step after fetching (e.g., check result.totalArticles / verify output file was written and non-empty) to lift workflow_clarity above the batch-operation cap of 3.

Replace the inlined industry source-count breakdowns with pointers to real bundle files under references/ (e.g., sources per industry), so the SKILL.md overview triggers progressive disclosure instead of dangling package paths like config/coal-sources.json.

DimensionReasoningScore

Conciseness

The body is padded with non-operational README content: marketing feature bullets ("⚡ 高性能: <600ms/30 篇文章", "✅ 高可靠: 100% 成功率"), a performance metrics table, a development roadmap, a contribution guide, license text, and placeholder contact info ("[你的 GitHub]", "[你的邮箱]"). This matches 'noticeably verbose; several unnecessary padded sections' — it is not 1 because genuine executable usage content is present.

2 / 5

Actionability

The CLI examples ("common-fetcher --industry coal --output daily.md", custom --config) and the Node.js API snippet are executable and cover the common cases (three industries plus custom sources), and the OpenClaw JSON config is concrete. Minor gaps (the parser example is a stub "// 解析逻辑", and no plain install/run preamble) keep it at 'mostly executable' rather than 5.

4 / 5

Workflow Clarity

A usable sequence is conveyed implicitly through the usage sections (configure → run CLI/API → get report), but there are no validation or verification steps for a batch operation fetching from 200+ sources, so the rubric's batch-operation cap applies. It is above 2 because concrete commands do define the sequence, but below 4 because no checkpoints exist at all.

3 / 5

Progressive Disclosure

Sections are coherently organized, but the file is a project README: source-count breakdowns, a performance table, contribution guide, license, and contact info are inlined in SKILL.md, and the referenced paths (config/coal-sources.json, src/parsers/) point into the npm package rather than skill bundle files (no references/, scripts/, or assets/ exist). This fits 'some structure; content that should be separate is inline' better than 4, given the substantial misplaced content and dangling references.

3 / 5

Total

12

/

20

Passed

Description

55%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 communicates a clear, reasonably specific 'what' (multi-source RSS/Web/API collection with AI post-processing at scale), but it reads as a project tagline rather than a skill trigger: it completely lacks a 'when to use' clause and natural trigger phrases, capping both completeness and trigger quality. Adding a 'Use when...' clause with user-natural terms (e.g., 抓取/订阅/采集新闻或行业资讯) would lift the two highest-weighted dimensions.

Suggestions

Add an explicit trigger clause, e.g. 'Use when the user needs to fetch, aggregate, or monitor industry news/data from RSS feeds, websites, or APIs' — this directly addresses the missing 'when' that caps completeness (weight 0.35) at 3.

Include natural user-facing synonyms and concrete use contexts (抓取, 爬虫, 订阅, 新闻采集, 行业资讯监控, RSS) alongside the technical terms to improve trigger_term_quality.

Mention concrete outputs and coverage (Markdown/JSON reports, coal/realestate/AI industries) to close the specificity gap between anchor 4 and 5.

DimensionReasoningScore

Specificity

The description lists several concrete capabilities — "支持 RSS/Web/API" (source types), "207+ 采集源" (scale), and "AI 评分/分类/摘要" (three processing actions) — matching the 'several specific actions; minor gaps' anchor. It falls short of 5 because it omits outputs, CLI usage, and the industries covered.

4 / 5

Completeness

The 'what' is clear (a unified multi-source collection framework with AI scoring/classification/summarization), but there is no 'Use when...' clause or equivalent trigger guidance anywhere — the rubric guideline caps completeness at 3 for a missing 'when'. It is not 2 because the 'what' is concrete, and not 4 because no 'when' is even weakly implied.

3 / 5

Trigger Term Quality

"RSS", "Web", "API" are relevant keywords, but the natural phrases a user would actually say (抓取, 爬虫, 订阅, 监控, 新闻采集) and their synonyms are absent. This fits 'some relevant keywords but missing common variations' rather than 4 (coverage is not good enough) or 2 (the terms present are relevant, not purely generic).

3 / 5

Distinctiveness Conflict Risk

"统一采集框架" with 207+ industry-specific sources is a fairly distinct niche, but generic terms like "采集框架", "Web", and "API" overlap with any scraper or fetcher skill, and there are no explicit triggers to disambiguate. This matches 'somewhat specific but could still overlap with similar skills' rather than 4 ('mostly distinct; minor overlap risk').

3 / 5

Total

13

/

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
huangruiteng/CS-Notes
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.