CtrlK
BlogDocsLog inGet started
Tessl Logo

devtools-ui-widgets

Guidelines for building UI widgets using the MVP architecture in DevTools. Covers Widget lifecycle, lit-html views, and state management.

53

Quality

67%

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 ./.agents/skills/ui-widgets/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

63%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 content is a strong, highly actionable MVP guide with executable code and clear refactoring and implementation workflows, undermined mainly by duplication (especially the styling rules) and a monolithic single-file layout with no progressive disclosure. A few internal inconsistencies (typo'd directive name, mismatched identifiers in the parent example) slightly dent its copy-paste reliability.

Suggestions

State the @scope styling rule once in the Gotchas section and reference it elsewhere instead of repeating the rule and CSS block four times; the same applies to the overlapping composition rules in 'Presenter Rules' and 'Composition'.

Move the full Step-by-Step Implementation Example and Testing sections into references/ files (e.g. references/example.md, references/testing.md) and keep one compact quick-start snippet in SKILL.md to enable progressive disclosure.

Fix the internal inconsistencies: the 'UI.Widget.wiget' typo, the parent example's use of widget(...) when only widgetConfig is destructured, and the .ts import path so the examples are truly copy-paste ready.

DimensionReasoningScore

Conciseness

The body is mostly dense project-specific rules ("Constructor MUST call super()... super(true) is forbidden") with little explanation of concepts Claude already knows, but there is real redundancy that could be tightened: the @scope styling rule is stated four times (Refactoring Note, Refactoring Legacy Components step 5, Gotchas, and the example), and the full ParentWidget example repeats most of the MyExampleWidget example. This fits 'Mostly efficient but includes some unnecessary explanation or could be tightened' rather than 4, where only minor trimming would be needed.

3 / 5

Actionability

The guidance is highly executable: exact signatures ("(input: ViewInput, output: ViewOutput, target: HTMLElement)"), complete copy-paste-ready TypeScript/CSS for child widget, parent widget, DI, and unit tests. Minor gaps keep it from 5: the typo "UI.Widget.wiget", the parent example destructuring widgetConfig yet calling an undefined widget(...), and an import path ending in .ts — small defects a reader would stumble on.

4 / 5

Workflow Clarity

"Refactoring Legacy Components" gives a clear numbered 5-step sequence (analyze → convert base class → migrate state → update usage → scope styles), and the Step-by-Step Implementation Example is well sequenced (create file/styles → compose parent → test). The testing section acts as an implicit verification checkpoint. It falls short of 5 because no explicit validation checkpoints or error-recovery loops are stated (e.g., what to check after a refactor), fitting 'Clear sequence with most checkpoints present; minor validation gaps'.

4 / 5

Progressive Disclosure

No bundle files exist (no references/, scripts/, or assets/), so everything — full implementation example, parent composition, testing guide, gotchas — is inlined in a ~375-line SKILL.md. Section headers give reasonable structure, but content that would clearly benefit from separate files (the full step-by-step examples and testing guide) is inline with no one-level-deep references. This matches 'Some structure but could be better organized... content that should be separate is inline', not 2 because the document is well-sectioned and navigable.

3 / 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 names a clear, fairly distinct domain with concrete topic areas, but it reads more like a table of contents than a trigger-rich skill description. It lacks any 'Use when...' clause and misses natural trigger phrases, which caps both completeness and trigger-term quality at the middle of the scale.

Suggestions

Add an explicit trigger clause, e.g. "Use when creating, refactoring, or testing UI widgets in the Chrome DevTools front_end codebase, or when migrating legacy VBox/Panel/HTMLElement components to the Widget framework."

Enumerate the concrete actions the skill covers (build new widgets, compose parent/child widgets, refactor legacy components, write widget unit tests) so the 'what' is comprehensive rather than topic-only.

Include natural synonyms a developer would say — "panel", "custom component", "DevTools frontend", "refactor legacy widget" — to improve trigger-term coverage.

DimensionReasoningScore

Specificity

"Guidelines for building UI widgets using the MVP architecture in DevTools" names the domain and one action (building), and "Covers Widget lifecycle, lit-html views, and state management" adds concrete topic areas, but it stops short of listing several specific actions (e.g., creating, composing, refactoring, testing widgets). This matches the anchor 'Names domain and 1-2 concrete actions, but not comprehensive'; it is above score 2 because the topics are concrete rather than generic, and below score 4 because multiple concrete actions are not enumerated.

3 / 5

Completeness

The 'what' is clearly stated (guidelines for building UI widgets using MVP in DevTools, covering lifecycle, lit-html views, state management), but there is no 'Use when...' clause or any explicit trigger guidance — per the judging guidelines this caps completeness at 3. It matches the anchor 'Has a clear what but when is missing or only weakly implied'.

3 / 5

Trigger Term Quality

Keywords like "UI widgets", "MVP architecture", "DevTools", "lit-html", and "state management" are relevant and natural for this audience, but common variations users would actually say are missing ("create a panel", "refactor a widget", "frontend", "custom component"). This fits 'Some relevant keywords but missing common variations or synonyms'; not 4 because a user would plausibly phrase the need in terms those words don't cover.

3 / 5

Distinctiveness Conflict Risk

"MVP architecture in DevTools" and "lit-html views" carve out a fairly distinct niche that is unlikely to trigger for unrelated skills. Minor overlap risk remains with generic frontend/lit-html widget skills since the description does not explicitly tie DevTools to the Chrome DevTools codebase. Fits 'Mostly distinct; minor overlap risk with closely related skills' rather than 5.

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
ChromeDevTools/devtools-frontend
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.