CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

html2markdown

Convert HTML files to Markdown using pandoc. Use when processing HTML files for text extraction, converting web content to readable markdown, or batch converting HTML files in a course/project directory to markdown format for downstream processing.

Quality

80%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/html2markdown/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

68%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 well-structured, mostly executable reference for a simple conversion skill: copy-paste pandoc commands, a useful format-selection table, and a real, clearly referenced batch script. Its main weakness is the batch-processing workflow, which offers no validation or verification steps; secondary gaps are an incomplete BeautifulSoup example and a vestigial pipeline-integration section.

Suggestions

Add validation guidance for batch conversion — e.g., compare output .md count against found .html count, spot-check one converted file, or expose/use a dry-run mode before writing files across a whole directory tree.

Complete the 'Stripping Unwanted Elements' example with the actual pandoc invocation (e.g., `pandoc -f html -t gfm <(python strip.py input.html)` or echoing clean_html to `pandoc -f html -t gfm -o output.md`) so it is copy-paste executable.

Remove or concretize the 'Integration with Preprocessing Pipeline' section — it references a course pipeline and '*_output.txt' convention that is not defined anywhere in the skill or its bundle.

DimensionReasoningScore

Conciseness

Quotes: 'pandoc -f html -t markdown input.html -o output.md', 'tidy -q -ashtml input.html | pandoc...', '::: {role="main"}' — the body is dominated by lean, executable commands and genuinely non-obvious gotchas (the pandoc div-syntax note). Minor trimmable instances keep it below the 5 anchor: the 'Integration with Preprocessing Pipeline' section ('concatenation into a single *_output.txt file with custom separators') references a pipeline never described, and explanatory fragments like 'Pandoc handles most malformed HTML gracefully' could be tightened.

4 / 5

Actionability

Quotes: 'pandoc -f html -t gfm input.html -o output.md', 'python scripts/html2markdown.py /path/to/root/directory', 'pandoc ... --metadata encoding=utf-8' — nearly all guidance is copy-paste ready, and the batch script's documented options (--output-dir, --flatten, --wrap) match the actual script. It falls short of the 5 anchor because the BeautifulSoup snippet ends with the comment '# Then pass clean_html to pandoc via stdin' instead of the actual executable command, leaving a minor gap.

4 / 5

Workflow Clarity

Quotes: 'Use scripts/html2markdown.py for batch conversion: python scripts/html2markdown.py /path/to/root/directory' with '--output-dir ... default: in-place'. The skill explicitly covers batch operations over a root directory, yet includes no validation or verification guidance (no output-count check, spot-check, dry-run, or failure handling), so per the rubric guideline capping batch skills without validation, workflow_clarity cannot exceed 3. It is not a 2 because the single-file sequence is unambiguous and options are concretely documented.

3 / 5

Progressive Disclosure

Quotes: 'Use `scripts/html2markdown.py` for batch conversion' — a well-signaled, one-level-deep reference to a real bundle file (verified to exist with matching CLI options), and the body is organized into clear sections (Quick Start, Batch Processing, Output Formats, Common Issues). Below the 5 anchor due to minor organization gaps: the 'Integration with Preprocessing Pipeline' section dangles without a target, and the script's additional capabilities (--format, --exclude, --strip-elements) are not surfaced as pointers.

4 / 5

Total

15

/

20

Passed

Description

83%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: it states a concrete capability with a named tool and pairs it with an explicit, multi-scenario 'Use when' clause covering single files, web content, and batch conversion. The only gaps are minor — missing file-extension/synonym trigger terms and slight overlap risk on the generic 'text extraction' phrase.

DimensionReasoningScore

Specificity

Quotes: 'Convert HTML files to Markdown using pandoc', 'text extraction', 'batch converting HTML files in a course/project directory'. It names the tool and several concrete actions (single conversion, text extraction, web-content conversion, batch conversion), but the actions are all variants of one conversion task rather than the comprehensive, diverse action list of the 5 anchor. Above the 3 anchor ('1-2 concrete actions') because four distinct capabilities are named.

4 / 5

Completeness

Quotes: 'Convert HTML files to Markdown using pandoc' (explicit what, with tool) and 'Use when processing HTML files for text extraction, converting web content to readable markdown, or batch converting HTML files...' (explicit when with three concrete trigger phrases). This matches the 5 anchor ('clearly and explicitly answers both what AND when with concrete trigger phrases'); it is above the 4 anchor because the when-clause is fully explicit and specific, not merely present.

5 / 5

Trigger Term Quality

Quotes: 'HTML files', 'text extraction', 'web content', 'readable markdown', 'batch converting'. Good natural keyword coverage a user would actually say, but it lacks file extensions ('.html', '.htm') and common synonyms like 'webpage'/'web page', so it falls short of the 5 anchor's 'comprehensive coverage ... including synonyms and file extensions'.

4 / 5

Distinctiveness Conflict Risk

Quotes: 'Convert HTML files to Markdown using pandoc' establishes a clear niche with tool-specific triggers, giving minimal conflict risk with unrelated skills. However, 'processing HTML files for text extraction' is a trigger that could also fire for generic text-extraction or document-processing skills, matching the 4 anchor ('mostly distinct; minor overlap risk with closely related skills') rather than the 5 anchor's minimal conflict risk.

4 / 5

Total

17

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

15

/

16

Passed

Repository

KennethJefferson/cc_sdk_knowledge_extractor

Path

skills/html2markdown/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.