CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

panel-extension-api

Deep panel infrastructure knowledge: PanelExtensionAdapter, RenderState incremental building, PanelExtensionContext API, pauseFrame backpressure, panel lifecycle, and the PanelAPI internal hooks.

Quality

71%

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-extension-api/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.

The body is a well-structured, concise reference with real TypeScript interfaces and clearly signaled pointers to the full type surface and the sibling skill. Its main weaknesses are the lack of an executable end-to-end panel workflow with validation checkpoints and a thin PanelAPI hook section.

Suggestions

Turn 'Creating a New Panel' into a numbered, executable workflow with a validation checkpoint (e.g. run the panel's .test.tsx or load it in the panel sandbox before proceeding).

Expand the PanelAPI section beyond the single useDataSourceInfo() hook, or point to a dedicated reference for the full hook set.

Trim the redundant Performance Notes bullets that restate incremental RenderState and pauseFrame behavior already covered above.

DimensionReasoningScore

Conciseness

The body is lean and assumes Claude's competence (no basics about React, zustand, or TypeScript), with minor redundancy such as Performance Notes restating incremental RenderState and the 'core API introduction' paragraph that could be trimmed.

4 / 5

Actionability

Provides real, copy-paste TypeScript interfaces (RenderState, PanelExtensionContext), a working pauseFrame snippet, concrete file paths, and the PanelAPI import — executable rather than pseudocode — but lacks a complete end-to-end panel example and shows only one PanelAPI hook.

4 / 5

Workflow Clarity

The Panel Lifecycle is a clear five-step sequence, but it is a descriptive runtime flow rather than a Claude-executable task, and 'Creating a New Panel' is only a file tree with no step sequence or validation checkpoints.

3 / 5

Progressive Disclosure

Well-organized sections with clearly signaled one-level-deep references (full type surface in packages/suite/src/index.ts, sibling message-pipeline skill) and no nested refs; minor gaps such as inlined full interfaces and a thin PanelAPI section that points to no fuller reference.

4 / 5

Total

15

/

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 highly specific and names concrete internal components, giving it a clear niche, but it lacks any 'Use when…' trigger guidance and leans entirely on technical jargon rather than natural trigger phrases. Adding an explicit when-to-use clause would lift both completeness and trigger-term quality.

Suggestions

Append a 'Use when…' clause, e.g. 'Use when extending or debugging panel infrastructure, wiring up PanelExtensionContext, or tuning pauseFrame backpressure.'

Add a few natural-language trigger synonyms alongside the API names (e.g. 'panel render loop', 'panel backpressure', 'incremental render state') so users phrase it more ways.

Reframe the 'knowledge' listing around actions (e.g. 'Explains and guides…') to convert topics into concrete capabilities.

DimensionReasoningScore

Specificity

Names six concrete, specific components (PanelExtensionAdapter, RenderState incremental building, PanelExtensionContext, pauseFrame backpressure, panel lifecycle, PanelAPI hooks) rather than vague language, but frames them as 'knowledge' rather than actionable verbs, keeping it just below the comprehensive-actions anchor.

4 / 5

Completeness

It has a clear, detailed 'what' (deep panel infrastructure knowledge across six areas) but no 'when' guidance at all; per the rubric, a missing 'Use when…' clause caps completeness at 3.

3 / 5

Trigger Term Quality

The named identifiers (pauseFrame, PanelExtensionAdapter) are terms a practitioner would naturally say, but the description is pure technical jargon with no natural-language 'Use when…' trigger phrase or synonyms, fitting the 'relevant keywords but missing variations' anchor.

3 / 5

Distinctiveness Conflict Risk

The highly specific internal APIs (pauseFrame backpressure, PanelExtensionAdapter) form a clear niche with low conflict risk, but potential overlap with the sibling message-pipeline/panel skills and the absence of explicit triggers keep it below the minimal-conflict anchor.

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-extension-api/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.