CtrlK
BlogDocsLog inGet started
Tessl Logo

baoyu-url-to-markdown

技术写作员与内容创作者在沉淀网页资料时,当需要抓取包含JS动态渲染或需登录的复杂页面,使用此技能一键将其转换为干净的Markdown格式,自动提取正文与元数据,轻松构建本地知识库,让网页内容归档效率翻倍!

61

Quality

77%

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 ./skills/content-creation-publisher/baoyu-url-to-markdown/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

67%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 a genuinely actionable overview: executable commands, a clear mode-selection decision table, a numbered wait-mode workflow, and a real one-level-deep reference to an existing script. The main drag is the Preferences section, where two ASCII box tables and a circular 'Extension Support' pointer burn tokens restating what a bash snippet already shows.

Suggestions

Replace the two ASCII box-drawing tables in the Preferences section with the bash check plus two short bullets (paths and found/not-found actions), cutting ~16 padded lines that duplicate existing content.

Delete the 'Extension Support' section, which only re-points to the Preferences section, or merge it into the Preferences heading as a single line.

Make the wait-mode stdin step concrete, e.g. show how to send the newline (printf '\n' | npx -y bun ${SKILL_DIR}/scripts/main.ts <url> --wait or an interactive example), closing the last executable gap.

DimensionReasoningScore

Conciseness

Most sections are tight (options, capture modes, and env vars are compact tables; troubleshooting is one dense line), but the two ASCII box-drawing tables (~16 padded lines) in the Preferences section restate information the preceding bash block and one-line bullet already convey, and the 'Extension Support' section merely points back to the Preferences section. This matches 'mostly efficient but includes some unnecessary explanation or could be tightened' rather than the minor-trim-only 4 anchor.

3 / 5

Actionability

Fully concrete commands are provided ('npx -y bun ${SKILL_DIR}/scripts/main.ts <url> -o output.md') with a script-reference table, an options table, and a 3-step wait-mode workflow; the ${SKILL_DIR} placeholder is explicitly resolved in the Script Directory instructions. Below 5 only because the wait-mode step 'Send newline to stdin to trigger capture' lacks a concrete example of how to do that (e.g. the exact shell incantation), leaving one executable gap.

4 / 5

Workflow Clarity

Usage modes are clearly sequenced with a decision table ('Auto ... Public pages, static content' vs 'Wait ... Login-required, lazy loading, paywalls'), the wait workflow is a numbered 3-step sequence, and there is error-recovery guidance (conflict resolution via timestamp suffix; troubleshooting line for Chrome-not-found and timeout). It is not a destructive/batch operation, so the validation cap does not apply; it stops short of 5 because there is no explicit verification step that the output file was written correctly.

4 / 5

Progressive Disclosure

The body is a well-organized overview whose only bundle reference is 'scripts/main.ts', which exists in the bundle (scripts/ contains main.ts, cdp.ts, constants.ts, html-to-markdown.ts, paths.ts) — a single-level, clearly signaled reference with the supporting scripts correctly kept out of view. The redundant 'Extension Support' section and the inlined ASCII preference tables (which could be trimmed or moved to an EXTEND.md-style reference) keep it at the minor-organization-gaps 4 anchor rather than 5.

4 / 5

Total

15

/

20

Passed

Description

75%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 solid description that explicitly answers both what the skill does and when to use it, with concrete capability statements and good trigger keywords. Its main weaknesses are marketing-fluff over-claims ('efficiency doubled', 'one-click') and a 'when' clause built around a persona/condition rather than natural user trigger phrases.

Suggestions

Remove the marketing over-claims ('一键', '轻松构建', '归档效率翻倍') and spend those tokens on concrete capability details instead (e.g. Chrome CDP rendering, YAML metadata front matter, two capture modes).

Rewrite the 'when' clause around explicit trigger phrases a user would say, e.g. 'Use when the user wants to convert/save a webpage (URL) to Markdown, archive web content, or fetch pages that need JS rendering or login.'

DimensionReasoningScore

Specificity

The description lists several concrete actions — '抓取包含JS动态渲染或需登录的复杂页面' (fetch JS-rendered/login-required pages), '转换为干净的Markdown格式' (convert to clean Markdown), '自动提取正文与元数据' (auto-extract body and metadata), '构建本地知识库' (build a local knowledge base) — which matches the 'several specific actions, minor gaps' anchor. It falls short of 5 because marketing fluff ('一键' one-click, '轻松' easily, '归档效率翻倍' doubles archiving efficiency) pads the claims without adding capability detail.

4 / 5

Completeness

Both parts are present: the 'what' is explicit ('将其转换为干净的Markdown格式,自动提取正文与元数据') and the 'when' is an explicit conditional clause ('当需要抓取包含JS动态渲染或需登录的复杂页面' — when needing to fetch complex JS-rendered or login-required pages), so it clears the cap for a missing 'Use when' clause. Not a 5 because the 'when' is framed around a persona/condition rather than concrete trigger phrases the user would say (e.g. 'convert this page to markdown').

4 / 5

Trigger Term Quality

Good natural keyword coverage: 'Markdown', '网页' (webpage), '抓取' (fetch/scrape), '登录' (login), 'JS动态渲染' (JS dynamic rendering), '元数据' (metadata), '知识库' (knowledge base) — terms a user needing this skill would plausibly say. Missing common variations such as 'URL', '保存网页/网页存档' (save/archive a page), or '.md', keeping it below the comprehensive-coverage anchor at 5.

4 / 5

Distinctiveness Conflict Risk

The JS-dynamic-rendering and login-required-page niche is fairly distinct — '包含JS动态渲染或需登录的复杂页面' plus the Chrome-CDP-to-Markdown pipeline gives it clear differentiation. Minor overlap risk remains with generic web-fetch/scrape skills and other URL-to-markdown converters, so it sits at the 'mostly distinct' anchor rather than the minimal-conflict 5.

4 / 5

Total

16

/

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
anbeime/skill
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.