CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

plot-internals

Deep Chart.js integration knowledge for the Plot panel: Worker-based rendering, dataset management, downsampling strategies, scale handling, and interaction patterns.

Quality

65%

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 ./.github/skills/plot-internals/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

61%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.

This is a well-organized internals reference that shines at documenting non-obvious, codebase-specific facts (the two distinct point caps, the non-LTTB downsampling algorithm, worker font loading) with explicit warnings against plausible mistakes. Its main weaknesses are code snippets that are illustrative fragments rather than usable excerpts and the absence of any sequenced task workflow with validation checkpoints.

Suggestions

Replace truncated snippets (e.g. 'Chart.register(LineElement, PointElement, LineController, ...)') with complete, runnable excerpts or exact API signatures so the guidance is directly usable.

Add at least one sequenced task workflow with a verification step, e.g. how to add a new series or change downsampling behavior and verify the rendered output, to give the reference an actionable spine.

Trim lines that restate what Claude already knows (Worker isolation and OffscreenCanvas generalities) and consider moving the downsampling algorithm detail into a reference file if the skill grows.

DimensionReasoningScore

Conciseness

The body is dense with codebase-specific facts (constant values, file paths, algorithm mechanics) and mostly avoids generic Chart.js tutorials, but a few lines over-explain what Claude can infer, e.g. 'Worker isolation: Chart.js runs entirely in Worker — no main thread blocking' and 'Canvas operations don't trigger main-thread compositing', so it fits 'efficient; minor instances of over-explanation'.

4 / 5

Actionability

Concrete specifics exist (MAX_CURRENT_DATUMS_PER_SERIES = 50_000, MAX_POINTS = 5_000, MINIMUM_PIXEL_DISTANCE = 3, POINTS_PER_INTERVAL = 4, exact file paths, and an explicit 'do not call this LTTB' warning), but the code blocks are illustrative fragments rather than executable code — 'Chart.register(LineElement, PointElement, LineController, ...)' trails off with '...' and handleMessages is comment-only pseudocode — matching the 'some concrete guidance but incomplete; pseudocode instead of executable code' anchor.

3 / 5

Workflow Clarity

There is no step-by-step workflow to follow: the document is architecture reference material organized by topic, with only fragmentary sequences (the 4-step downsampling algorithm and the zoom/pan flow 'scroll wheel → update time range → PlotCoordinator notifies builder'). It is coherent but lacks an explicit task sequence with checkpoints, fitting 'steps listed but validation gaps; checkpoints missing or implicit'.

3 / 5

Progressive Disclosure

No bundle files (references/, scripts/, assets/) exist, so everything is inline; at ~130 lines the body is a single cohesive overview with well-organized sections, clear headers, and source-file pointers (e.g. panels/Plot/builders/TimestampDatasetsBuilderImpl.ts, components/TimeBasedChart/downsample.ts), fitting 'good structure; most content appropriately placed; minor organization gaps' — though sections like the downsampling algorithm detail would sit naturally in a reference file.

4 / 5

Total

14

/

20

Passed

Description

53%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.

The description is specific and distinctive, clearly scoping the skill to Chart.js internals for a particular panel, but it reads as a topic list rather than a statement of actions and entirely lacks any 'when to use' trigger guidance. Adding an explicit 'Use when...' clause would address the biggest gap.

Suggestions

Add an explicit trigger clause, e.g. 'Use when modifying or debugging the Plot panel's Chart.js rendering, downsampling, or interaction behavior.'

Reframe the topic list as concrete actions (e.g., 'Explains how the Plot panel renders Chart.js charts in a Worker, manages dataset caps, and downsamples streaming data') so the skill's capability is stated as verbs rather than knowledge areas.

Include natural synonyms such as 'chart', 'graph', 'plotting', and 'time-series rendering' to improve trigger matching.

DimensionReasoningScore

Specificity

The description names a concrete domain ("Deep Chart.js integration knowledge for the Plot panel") and enumerates specific areas ("Worker-based rendering, dataset management, downsampling strategies, scale handling, and interaction patterns"), but these are knowledge topics stated as nouns rather than concrete actions the skill performs, so it sits at the 'domain plus limited concrete actions' level rather than the 'several specific actions' level.

3 / 5

Completeness

The 'what' is clear (deep integration knowledge across five named areas), but there is no 'Use when...' clause or any equivalent trigger guidance, which per the guidelines caps completeness at 3.

3 / 5

Trigger Term Quality

Relevant keywords like "Chart.js", "Plot panel", "downsampling", and "Worker" are present and would match a developer's phrasing, but common variations and synonyms ("chart", "graph", "plotting", "rendering performance") are missing, matching the 'some relevant keywords but missing variations' anchor.

3 / 5

Distinctiveness Conflict Risk

"Plot panel", "Chart.js", and "Worker-based rendering" carve out a clear niche with low conflict risk, but a generic Chart.js or visualization skill could still overlap on the library name, so it is 'mostly distinct; minor overlap risk' rather than fully minimal risk.

4 / 5

Total

13

/

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

lichtblick-suite/lichtblick

Path

.github/skills/plot-internals/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.