CtrlK
BlogDocsLog inGet started
Tessl Logo

web-reader

Implement web page content extraction capabilities using the z-ai-web-dev-sdk. Use this skill when the user needs to scrape web pages, extract article content, retrieve page metadata, or build applications that process web content. Supports automatic content extraction with title, HTML, and publication time retrieval.

58

Quality

67%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

Optimize this skill with Tessl

npx tessl skill review --optimize ./skills/web-reader/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

92%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

This is a well-crafted description that clearly states what the skill does and when to use it, with good trigger terms covering natural user language around web scraping and content extraction. The explicit 'Use this skill when...' clause with multiple trigger scenarios is a strength. The main weakness is potential overlap with other web-related skills, though the specific SDK reference helps mitigate this somewhat.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions: 'scrape web pages', 'extract article content', 'retrieve page metadata', 'build applications that process web content', and mentions specific outputs like 'title, HTML, and publication time retrieval'.

3 / 3

Completeness

Clearly answers both what ('implement web page content extraction capabilities', 'supports automatic content extraction with title, HTML, and publication time retrieval') and when ('Use this skill when the user needs to scrape web pages, extract article content, retrieve page metadata, or build applications that process web content').

3 / 3

Trigger Term Quality

Includes strong natural keywords users would say: 'scrape web pages', 'extract article content', 'page metadata', 'web content', 'content extraction'. These cover common variations of how users would describe web scraping needs.

3 / 3

Distinctiveness Conflict Risk

The mention of 'z-ai-web-dev-sdk' provides some distinctiveness by tying it to a specific SDK, but 'web content extraction' and 'scraping' could overlap with other web scraping or HTTP request skills. The SDK name helps but the general domain of web scraping is broad.

2 / 3

Total

11

/

12

Passed

Implementation

42%

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

This skill is highly actionable with complete, executable code examples and clear API documentation, but it is severely bloated. The core API is simple (one function call with one parameter), yet the skill expands to 500+ lines by repeating the same pattern across numerous classes and use cases that Claude could easily generate from a concise description. The content desperately needs restructuring into a lean overview with advanced examples split into separate files.

Suggestions

Reduce the main SKILL.md to ~80 lines covering: the core API call pattern, CLI usage (one example), response format, the backend-only constraint, and error handling pattern. Move all advanced examples (WebContentAnalyzer, FeedReader, ScrapingPipeline, Express integration, ScheduledFetcher) to a separate EXAMPLES.md file.

Remove generic advice sections ('Common Use Cases' list, 'Performance Tips', 'Security Considerations', 'Remember') that contain knowledge Claude already has — or condense them to 2-3 project-specific constraints.

Consolidate the 4 nearly identical CLI 'save content' examples into a single example with a brief note about changing the URL and output path.

Add explicit validation checkpoints for batch operations, e.g., 'verify first URL succeeds before processing remaining URLs' and 'check token usage after batch to ensure budget compliance'.

DimensionReasoningScore

Conciseness

Extremely verbose at 500+ lines. Massive amounts of redundant code examples that repeat the same pattern (initialize ZAI, invoke page_reader, handle errors) with minor variations. The CLI section shows 4 nearly identical examples of saving content. Classes like WebContentAnalyzer, FeedReader, ContentAggregator, ScrapingPipeline, RateLimitedReader, CachedWebReader all demonstrate the same core API call with boilerplate Claude could easily generate. The 'Common Use Cases' list, 'Performance Tips', 'Security Considerations', and 'Remember' sections all contain generic advice Claude already knows.

1 / 3

Actionability

The skill provides fully executable, copy-paste ready code examples with proper imports, error handling, and usage demonstrations. Both CLI commands and SDK code are concrete and complete with specific function names, parameter formats, and response structures documented.

3 / 3

Workflow Clarity

The 'How It Works' section provides a basic 4-step sequence but lacks validation checkpoints. For batch/scraping operations (which are destructive in terms of API costs and rate limits), there are no explicit validation steps or feedback loops beyond basic try/catch. The CLI vs SDK decision guidance is helpful but the overall workflow for building a web reader application isn't clearly sequenced.

2 / 3

Progressive Disclosure

Monolithic wall of text with everything inline. The skill references a scripts directory but no bundle files are provided. All advanced use cases (WebContentAnalyzer, FeedReader, ContentAggregator, ScrapingPipeline, Express integration, Scheduled fetcher) are fully inlined rather than split into separate reference files. The document would benefit enormously from splitting into a concise SKILL.md overview with references to separate files for advanced patterns and integration examples.

1 / 3

Total

7

/

12

Passed

Validation

90%

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

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (1141 lines); consider splitting into references/ and linking

Warning

Total

10

/

11

Passed

Repository
jjyaoao/HelloAgents
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.