CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

extend-ui-viewers

This skill should be used when the user asks to display a PDF, render a DOCX, XLSX, PPTX, CSV, or TSV file, preview a Word document, spreadsheet, or slide deck in Svelte, build a document viewer or "open any file" viewer, add a page overlay or highlights on top of PDF pages, or add a thumbnail sidebar to a viewer using extend-ui-svelte (PdfViewer, DocxViewer, XlsxViewer, PptxViewer, CsvTsvViewer, DocumentViewerThumbnailSidebar).

Quality

98%

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

SKILL.md
Quality
Evals
Security

Quality

Content

96%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 dense, high-signal reference skill: it tells the model exactly which component to use, which props are required, and the quirks that would otherwise cause failures, with executable examples throughout and clean one-level-deep reference files. The only structural defect is that the two `examples/*.svelte` files it points to are absent from the bundle, making those references dangling.

Suggestions

Ship the referenced `examples/UniversalDocumentViewer.svelte` and `examples/PdfReviewWithSidebar.svelte` files, or remove those entries from the References section and the "Generic 'open any file' viewer" section so no path in the body resolves to a missing file.

Keep the examples' most load-bearing logic inline (as is already done for `kindOf()`), since the body currently promises the full component in a file the bundle does not contain.

DimensionReasoningScore

Conciseness

The body is lean and assumes competence: no explanations of what PDF/DOCX are or how libraries work, and every line carries non-obvious information ("Zoom is uncontrolled: it resets to `defaultZoom` each time a new document loads", "`DocxViewer` has no `height` prop... fixed at 640px", "Do not wrap viewers in your own spinners"). Not a 4 because there are no sections that need trimming; each token earns its place for a five-component domain.

5 / 5

Actionability

Executable import statements, a file-type-to-component table with exact source prop types, a copy-paste-ready Svelte example wiring all five viewers, and a complete `kindOf()` dispatch function cover the common cases. Concrete input handling is specified ("pass `URL.createObjectURL(file)` as `src`, and revoke the URL when the file changes", "`await file.arrayBuffer()`"). Not a 4 because no key execution detail is missing.

5 / 5

Workflow Clarity

The pick-then-wire decision flow is unambiguous: the "Pick a viewer" table maps file types to components and source props, inputs and required props ("`XlsxViewer` and `DocxViewer` **require** `isDark` and `onIsDarkChange`") are called out, and failure modes are pre-flagged (legacy `.doc` cannot be rendered, "No viewer has an `onError` callback. To catch a bad URL before mounting, `fetch` it yourself first"). These are read-only viewers, so no destructive/batch validation cap applies; the simple-skill exception holds since the single action (choose and wire a viewer) is unambiguous.

5 / 5

Progressive Disclosure

The SKILL.md is a clear overview with well-signaled, one-level-deep references — six `references/*.md` files that all exist and are each summarized in the References section — plus inline pointers ("See `references/pdf-viewer.md`"). Not a 5 because the body and References section cite `examples/UniversalDocumentViewer.svelte` and `examples/PdfReviewWithSidebar.svelte` ("The full component is in `examples/UniversalDocumentViewer.svelte`"), but no `examples/` directory exists in the bundle, leaving two dangling referenced paths.

4 / 5

Total

19

/

20

Passed

Description

100%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, well-constructed description that answers both what and when in third person with no padding. Trigger phrases are natural and comprehensive, including synonyms (Word document, spreadsheet, slide deck) and file formats, and the niche is clearly bounded by the extend-ui-svelte component names.

DimensionReasoningScore

Specificity

Multiple concrete actions are enumerated — "display a PDF", "render a DOCX, XLSX, PPTX, CSV, or TSV file", "preview a Word document, spreadsheet, or slide deck", "add a page overlay or highlights on top of PDF pages", "add a thumbnail sidebar" — covering the skill's full scope (viewing, generic viewer, overlays, sidebar). Not a 4 because coverage of the niche is comprehensive rather than leaving minor gaps; not below since every action is concrete, not abstract.

5 / 5

Completeness

Explicit trigger guidance is present ("This skill should be used when the user asks to...") with concrete trigger phrases, and the 'what' is explicit through the enumerated actions and the named components "using extend-ui-svelte (PdfViewer, DocxViewer, XlsxViewer, PptxViewer, CsvTsvViewer, DocumentViewerThumbnailSidebar)". Not a 4 because the 'when' is maximally explicit, not 'could be more specific'; the 'what' clause is only implicit at level 3, which does not fit.

5 / 5

Trigger Term Quality

Natural user phrasing is comprehensively covered with synonyms and formats: "display a PDF", "preview a Word document, spreadsheet, or slide deck", "open any file", "highlights", "thumbnail sidebar", plus extensions DOCX/XLSX/PPTX/CSV/TSV. Not a 4 because no common variation for this domain is missing; not below since the terms are natural user language, not jargon.

5 / 5

Distinctiveness Conflict Risk

The description carves a clear niche — document viewers in Svelte via named extend-ui-svelte components — so it is unlikely to fire for unrelated skills (e.g., a Python PDF-extraction skill). Not a 4 because the named library and components give minimal overlap risk; level 3 ('could still overlap with similar skills') is a weaker fit given the explicit scoping to extend-ui-svelte.

5 / 5

Total

20

/

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

freightCognition/linehaulai-claude-marketplace

Path

plugins/extend-ui-svelte/skills/extend-ui-viewers/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.