CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

huashu-md-to-pdf

将 Markdown 文档转换为专业的 PDF 白皮书,采用苹果设计风格。 支持完整的 Markdown 语法(代码块、表格、引用、列表等)。 自动生成封面、目录、页眉页脚。 使用场景:技术文档、白皮书、教程、报告等需要专业排版的 Markdown 文档。

Quality

75%

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 ./huashu-md-to-pdf/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.

A largely executable and well-organized guide for a single-command skill, with accurate CLI usage, formatting prerequisites, and honest known-issue documentation. Its weaknesses are padding (changelog, author promotion, restated design details) and a 配置选项 section that names Python constants absent from the actual script.

Suggestions

Fix or remove the 配置选项 section: PRIMARY_COLOR, COVER_TITLE_SIZE, etc. do not exist in scripts/convert.py — point users at the actual embedded CSS lines or add those constants to the script.

Trim the changelog, 设计特点 restatement, and the promotional author footer; move the macOS 乱码 deep-dive to a references/ file (e.g. TROUBLESHOOTING.md) with a one-line pointer.

Reorder so 依赖安装 precedes 使用方法, and remove the nonexistent scripts/styles.css and templates/cover.html entries from 脚本说明 (or note them purely as embedded assets).

DimensionReasoningScore

Conciseness

The core usage sections are tight, but there is real padding: a dated changelog ("v1.0 (2025-12-24)") outside any deprecated/old-patterns section, a promotional author footer ("公众号「花叔」| 30万+粉丝"), and a 设计特点 section restating visual details already implemented in the script's CSS. This fits anchor 3 (mostly efficient, some unnecessary content) better than anchor 4, where only minor trimming would be needed.

3 / 5

Actionability

Primary guidance is copy-paste ready: "python scripts/convert.py input.md -o \"我的白皮书.pdf\"", "pip3 install markdown2 weasyprint", plus concrete heading-format rules ("## 1. 标题"). However, the 配置选项 section presents constants ("PRIMARY_COLOR = '#06c'", "COVER_TITLE_SIZE = '64pt'") that do not exist in scripts/convert.py — the values only appear inline in the embedded CSS — so following that guidance fails, keeping it below anchor 5.

4 / 5

Workflow Clarity

For a simple single-command skill the action is unambiguous (run convert.py with documented flags), and prerequisites are stated: heading format rules and dependency installation. It misses anchor 5 because the steps are not sequenced — 依赖安装 appears near the end after usage, FAQ, and examples — and there is no verify-output step (the missing-image warning behavior is documented but as a footnote).

4 / 5

Progressive Disclosure

The body is well-sectioned and references the real bundle file scripts/convert.py; the long macOS 乱码 known-issue deep-dive is arguably reference material but is operationally important inline. Minor gaps: 脚本说明 lists scripts/styles.css and templates/cover.html as entries even though those files don't exist on disk (they are embedded), which is a small navigation inaccuracy that keeps it from anchor 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: concrete capabilities, explicit use-scenario guidance, and a clearly demarcated niche. Its main gap is the absence of concrete user-side trigger phrases and file extensions (e.g., ".md", "md 转 PDF") that would push trigger quality and completeness to the top anchor.

Suggestions

Add concrete trigger phrases to the 使用场景 clause, e.g. 「当用户要求把 Markdown/md 文件转成 PDF、导出白皮书或生成排版好的文档时使用」.

Include file-extension synonyms (.md, .pdf) so the description matches how users naturally refer to the inputs and outputs.

Mention one differentiating capability (e.g. custom --title/--author) to sharpen distinctiveness against generic converter skills.

DimensionReasoningScore

Specificity

Lists several concrete actions — "将 Markdown 文档转换为专业的 PDF 白皮书", "自动生成封面、目录、页眉页脚", "支持完整的 Markdown 语法(代码块、表格、引用、列表等)" — which is specific and near-comprehensive for this task. It stops short of anchor 5 because capabilities like custom title/author output options are absent, and it is above anchor 3 since it goes beyond 1-2 actions.

4 / 5

Completeness

Answers both questions: the "what" via conversion features, and an explicit when-clause "使用场景:技术文档、白皮书、教程、报告等需要专业排版的 Markdown 文档". It is not capped at 3 because explicit trigger guidance is present, but it falls short of anchor 5's "concrete trigger phrases" — the when-clause lists document categories rather than phrases a user would actually say.

4 / 5

Trigger Term Quality

Contains natural terms a user would say: "Markdown", "PDF", "白皮书", "技术文档", "教程", "报告", "排版". Not anchor 5 because common variations and file extensions (".md", "md 文件", "导出 PDF") are missing, but coverage is clearly better than the partial synonym coverage of anchor 3.

4 / 5

Distinctiveness Conflict Risk

The niche (Markdown→styled PDF whitepaper, "采用苹果设计风格") is distinct with clear triggers; only minor overlap risk with generic document-conversion skills. Not anchor 5 because the trigger terms overlap somewhat with general PDF/document skills and no file-extension disambiguator is given.

4 / 5

Total

16

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 2 missing

Warning

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

14

/

16

Passed

Repository

alchaincyf/huashu-skills

Path

huashu-md-to-pdf/SKILL.md

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.