CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

md-slides

Converts a markdown deck (slides separated by `---` HR boundaries or by `# ` H1 headings, with optional HTML-comment `notes:` presenter-notes blocks) into a single-file HTML presentation with arrow-key / space / PgDn / PgUp / Home / End / P / Esc keyboard navigation, presenter mode (split view with current slide + speaker notes + clock + next-slide preview), URL-hash deep linking, and `@media print` page-per-slide for PDF export. Triggers when the markdown-html-orchestrator classifies an input as SLIDES, or when invoked directly via /cs-md-slides. Reuses md-document's markdown parser for slide-body rendering and reads design-system tokens via config_loader.py. Refuses if input has no clear slide boundaries, produces a 1-slide deck, or `--strict-notes` is on with under 50% notes coverage. Use after orchestrator routing.

69

Quality

87%

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

The canonical home for this skill is md-slides in alirezarezvani/claude-skills

SKILL.md
Quality
Evals
Security

Quality

Content

78%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 tight, actionable body with an executable pipeline, explicit refusal gates with exit codes, and good decision guidance, only slightly padded by a redundant ASCII diagram and citation flourishes. The main defects are the dangling references/ pointer and missing script files in the bundle, plus the absence of any post-render verification step.

Suggestions

Ship the referenced citation files (references/presentation_ux.md, keyboard_nav_patterns, single_file_deck_conventions) in the skill's references/ directory, or remove the 'See references/ for full citations' pointer — as bundled, the reference leads nowhere.

Use bundle-relative script paths (scripts/slide_splitter.py rather than markdown-html/skills/md-slides/scripts/slide_splitter.py) so the pipeline commands resolve from the skill's own directory, and verify the scripts actually ship alongside SKILL.md.

Add a post-render validation step with an error-recovery loop (e.g., confirm the deck's slide count matches slides.json after rendering, and re-run the failing stage on error) to close the workflow checkpoint gap.

DimensionReasoningScore

Conciseness

The body is lean and assumes competence: a symptom/action table, three-line pipeline, feature bullets, and numbered hard rules with exit codes — no explanation of concepts Claude already knows. Minor trimmable padding remains (the ASCII pipeline diagram duplicates the Pipeline commands, and book-citation flourishes like "(the polemic)" and "(Matt Pocock grill discipline)" plus the dated citation "Shihipar — Claude Code HTML output (Medium, 2026)" add tokens beyond what's needed). Efficient with minor over-elaboration, so level 4 rather than the every-token-earns-its-place level 5.

4 / 5

Actionability

The Pipeline section gives three fully executable, copy-paste-ready bash commands with concrete flags and chained intermediate files (/tmp/slides.json → /tmp/deck.json → deck.html), refusal exit codes (5/6/7) are specified, the output artifact pattern "deck-{slug}.html" with collision suffixes is given, and flag semantics (--strict-notes, --syntax) are documented. Fully executable commands cover the common case, matching level 5.

5 / 5

Workflow Clarity

The three-step pipeline is clearly sequenced with numbered comments and file chaining, and refusal rules with exit codes act as pre-flight validation gates ("Auto mode needs ≥ 3 HR lines or ≥ 5 H1 headings. Otherwise exit 6 — route to md-document"). However there is no post-render verification or error-recovery loop (e.g., check rendered slide count, what to do when a step fails mid-pipeline). Clear sequence with most checkpoints present but minor validation gaps, so level 4, not 5.

4 / 5

Progressive Disclosure

Section organization is good (When to invoke, Pipeline, Hard rules, Distinct from, References), but the body's external pointers dangle: "See references/ for full citations (presentation_ux, keyboard_nav_patterns, single_file_deck_conventions)" refers to a references/ directory that does not exist in the bundle, and the pipeline commands invoke scripts under markdown-html/skills/md-slides/scripts/ that are also not present as bundle files. References are clearly signaled but unverifiable/nonexistent, leaving structure present but with real navigation gaps — level 3 rather than 4.

3 / 5

Total

16

/

20

Passed

Description

92%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 dense, third-person description that comprehensively covers what the skill does, its feature set, when it triggers, when it refuses, and how it differs from sibling converters. The only weakness is that trigger phrasing leans on internal orchestrator terminology and a slash command rather than the natural language a user would say.

DimensionReasoningScore

Specificity

"Converts a markdown deck ... into a single-file HTML presentation", "arrow-key / space / PgDn / PgUp / Home / End / P / Esc keyboard navigation", "presenter mode (split view with current slide + speaker notes + clock + next-slide preview)", "URL-hash deep linking", "@media print page-per-slide for PDF export", plus three concrete refusal conditions and dependency reuse ("Reuses md-document's markdown parser", "reads design-system tokens via config_loader.py"). This is comprehensive coverage of multiple specific concrete actions, matching the level-5 anchor; the level-4 anchor ('minor gaps in coverage') would understate it since capabilities, boundaries, and dependencies are all enumerated.

5 / 5

Completeness

The 'what' is fully detailed (conversion pipeline and output features) and the 'when' is explicitly stated with concrete trigger phrases: "Triggers when the markdown-html-orchestrator classifies an input as SLIDES, or when invoked directly via /cs:md-slides" plus "Use after orchestrator routing" and explicit refusal conditions. Both questions are answered clearly and explicitly, matching the level-5 anchor; level 4 ('when could be more explicit or specific') does not apply since the trigger guidance is fully explicit.

5 / 5

Trigger Term Quality

Natural domain keywords are abundant: "markdown deck", "slides", "HTML presentation", "presenter mode", "speaker notes", "PDF export", "single-file". However the explicit trigger clause is ecosystem-internal ("Triggers when the markdown-html-orchestrator classifies an input as SLIDES, or when invoked directly via /cs:md-slides") rather than natural user phrasing, and file extensions/synonyms like .md or "slideshow" are absent — good coverage with a few natural terms missing, so level 4, not 5.

4 / 5

Distinctiveness Conflict Risk

The niche is unambiguous (markdown deck → HTML slide presentation) and conflict risk is actively managed: "Refuses if input has no clear slide boundaries" with routing to md-document, and 1-slide decks refused as posters. Clear niche with distinct triggers and minimal conflict risk, matching level 5; level 4 ('minor overlap risk') understates the explicit de-confliction routing.

5 / 5

Total

19

/

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

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

alirezarezvani/claude-skills

Path

.gemini/skills/md-slides/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.