CtrlK
BlogDocsLog inGet started
Tessl Logo

makepad-widgets

Version: makepad-widgets (dev branch) | Last Updated: 2026-01-19 > > Check for updates: https://crates.io/crates/makepad-widgets

34

Quality

30%

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

Quality

Content

57%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 skill provides a reasonable overview of Makepad widgets with concrete DSL code examples and useful reference tables. Its main weaknesses are redundancy between inlined reference tables and the external reference files it points to, and the lack of workflow guidance for common tasks like event handling, widget composition, and debugging. The documentation completeness check is a nice touch but the overall structure would benefit from moving reference-heavy content to the bundle files.

Suggestions

Move the variant tables (View Variants, Button Variants, ImageFit Values) and the 'All Built-in Widgets' table into the referenced files (widgets-core.md, widgets-advanced.md) to reduce SKILL.md size and avoid redundancy.

Add a concrete example of event handling and widget interaction in Rust (e.g., handling a button click, reading TextInput value) since these are the most common practical tasks.

Add a workflow for creating a new widget: 1) Define in DSL, 2) Implement Widget trait, 3) Register with live_design!, 4) Compile and verify — with error recovery guidance for common compilation issues.

Remove the 'When Answering Questions' section as it tells Claude things it already knows how to do (recommending examples, explaining inheritance).

DimensionReasoningScore

Conciseness

The skill includes useful reference tables and code examples, but there's significant redundancy — the 'Core Widgets Reference' table largely duplicates the 'All Built-in Widgets' table, and the View/Button variant tables plus ImageFit values could be in reference files. The trait definitions are useful but the 'When Answering Questions' section states things Claude already knows how to do.

3 / 5

Actionability

The code examples are concrete and executable in Makepad's DSL syntax, covering the most common widgets (View, Button, Label, Image, TextInput). The Widget trait definitions provide real Rust signatures. However, there are no examples of event handling, widget composition in Rust code, or how to wire up actions — which are key practical tasks.

4 / 5

Workflow Clarity

The 'When Writing Code' and 'When Answering Questions' sections provide guidelines but lack a clear workflow sequence. The documentation completeness check (steps 1-3) is a good workflow pattern, but there's no validation or feedback loop for code generation — no 'compile and check' step, no error recovery guidance for common Makepad pitfalls.

3 / 5

Progressive Disclosure

The skill references three external files (widgets-core.md, widgets-advanced.md, widgets-richtext.md) which is good structure, but no bundle files were provided to verify they exist. Meanwhile, substantial reference content (variant tables, widget lists, ImageFit values) is inlined in SKILL.md when it should live in those reference files, creating bloat in the main skill.

3 / 5

Total

13

/

20

Passed

Description

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

This description is essentially non-functional as a skill description. It contains only version metadata (crate name, branch, date, and a URL) with zero information about what the skill does, what actions it performs, or when Claude should select it. It fails on every meaningful dimension of a useful skill description.

Suggestions

Add a clear 'what' clause describing concrete actions, e.g., 'Creates and configures Makepad UI widgets, layouts, and components using the makepad-widgets Rust crate.'

Add an explicit 'Use when...' clause with natural trigger terms, e.g., 'Use when the user asks about building UIs with Makepad, creating widgets, or working with makepad-widgets in Rust.'

Move version/update metadata to a separate section of the skill file (e.g., body content or a metadata field) and reserve the description field for capability and trigger information.

DimensionReasoningScore

Specificity

The description contains no concrete actions whatsoever. It only mentions a crate name, version info, and a link. There is no indication of what the skill does.

1 / 5

Completeness

Neither 'what does this do' nor 'when should Claude use it' is answered. The description is purely metadata about a crate version and update link, with no functional or contextual information.

1 / 5

Trigger Term Quality

There are no natural keywords a user would say when needing help. 'makepad-widgets' is a technical package name, and the rest is metadata (version, date, URL) with no actionable trigger terms.

1 / 5

Distinctiveness Conflict Risk

The mention of 'makepad-widgets' is a specific package name which provides some distinctiveness, but without any description of capabilities or triggers, it could easily be confused with any Rust crate-related skill or ignored entirely.

2 / 5

Total

5

/

20

Passed

Validation

90%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

10

/

11

Passed

Repository
administrakt0r/AI-Agents-Safe-Coding-Skills
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.