CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

panel-user-scripts

Deep UserScripts panel knowledge: Monaco editor integration, UserScriptPlayer wrapper, TypeScript compilation in the transformer Worker, sandboxed runtime Worker execution, diagnostics, and the script API.

Quality

68%

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/panel-user-scripts/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.

The body is a well-organized, token-efficient architectural overview with useful concrete snippets for worker naming. It is weaker as an operational guide: the script API example is non-executable placeholder code, the lifecycle lacks validation or recovery steps, and the one external pointer does not resolve within the bundle.

Suggestions

Make the Script API example fully executable: define or link real MessageEvent/OutputMessage shapes and show a working transform body instead of '/* processed data */'.

Add validation/error-recovery guidance to the lifecycle (e.g. what to do when the transformer reports diagnostics or a runtime error occurs in the Worker).

De-duplicate the file listing (merge 'Key Files' into the Core Components table) and either ship or remove the unresolved 'web-workers' skill reference.

DimensionReasoningScore

Conciseness

Lean, well-sectioned content with a diagram, table, and two short code blocks; it assumes Claude's competence and never explains known concepts. Not 5 because some prose (Performance Notes, Key Files) restates what the diagram and component table already convey.

4 / 5

Actionability

The SharedWorker naming snippet is executable, but the Script API example is placeholder pseudocode ('/* processed data */' with undefined MessageEvent/OutputMessage types), and most sections describe architecture rather than instruct. Not 4 because key executable detail for the most common task (writing a script) is missing.

3 / 5

Workflow Clarity

'Script Lifecycle' provides a clear numbered 6-step sequence, but it describes runtime behavior rather than an executable workflow, and validation/error-recovery checkpoints are absent (diagnostics appear only descriptively). Not 4 because no checkpoints are present at any step.

3 / 5

Progressive Disclosure

A well-organized ~85-line overview with clear sections and only one-level-deep pointers. Not 5 because it exceeds the simple-skill threshold, duplicates the file listing (component table plus 'Key Files'), and its single reference ('load `web-workers` skill') does not resolve to any file in the bundle.

4 / 5

Total

14

/

20

Passed

Description

58%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 clearly identifies a niche domain, but it reads as a component inventory rather than a capability-plus-trigger statement. Its biggest gaps are the complete absence of 'when to use' guidance and reliance on internal jargon over natural trigger phrases.

Suggestions

Add an explicit trigger clause, e.g. 'Use when working on the UserScripts panel, user script compilation, or the UserScriptPlayer'.

Replace internal jargon with natural user phrases such as 'custom message transformations' and 'in-app TypeScript script editor' alongside component names.

Lead with action verbs describing what the skill lets Claude do (e.g. 'Navigate, modify, and debug...') instead of the passive 'Deep ... knowledge' framing.

DimensionReasoningScore

Specificity

Lists several concrete named components ('Monaco editor integration', 'TypeScript compilation in the transformer Worker', 'sandboxed runtime Worker execution', 'diagnostics, and the script API'). Not 5 because it enumerates knowledge areas rather than actions, with minor gaps in capability coverage.

4 / 5

Completeness

The 'what' is clear (deep knowledge of the panel's components), but there is no 'Use when...' clause or equivalent trigger guidance, which caps completeness at 3 per the judging guidelines. Not 4 because the 'when' is not even weakly implied.

3 / 5

Trigger Term Quality

Contains relevant domain keywords (Monaco, TypeScript, UserScripts, diagnostics) but leans on technical jargon like 'UserScriptPlayer wrapper' and 'transformer Worker', missing natural phrases a user would say such as 'custom message transformations', 'user scripts', or 'script editor'.

3 / 5

Distinctiveness Conflict Risk

Niche, codebase-specific terms ('UserScripts panel', 'UserScriptPlayer', 'Monaco editor') make it mostly distinct with only minor overlap risk against generic scripting or Web Worker skills. Not 5 because no explicit distinct triggers are stated.

4 / 5

Total

14

/

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/panel-user-scripts/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.