CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

makepad-font

CRITICAL: Use for Makepad font and text rendering. Triggers on: makepad font, makepad text, makepad glyph, makepad typography, font atlas, text layout, font family, font size, text shaping, makepad 字体, makepad 文字, makepad 排版, makepad 字形

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 ./plugins/AI-Agents-Safe-Coding-Skills/skills/makepad-font/SKILL.md

The canonical home for this skill is makepad-font in administrakt0r/AI-Agents-Safe-Coding-Skills

SKILL.md
Quality
Evals
Security

Quality

Content

60%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 provides concrete, executable Makepad DSL guidance and a useful reference-check fallback workflow, but progressive disclosure is broken: the advertised detail layer (references/font-system.md) is missing from the bundle and its API content is inlined in SKILL.md instead. Removing the boilerplate 'When to Use' section and the duplicated facts would tighten the token budget.

Suggestions

Ship references/font-system.md (or remove the dangling pointer) so the advertised detail layer actually exists in the bundle.

Move the Layouter API, Layout Parameters, Rasterizer Settings, and module-tree listings into the reference file, keeping only the quick-start DSL patterns and the properties table in SKILL.md.

Delete the boilerplate 'When to Use' section and de-duplicate the 'When Answering Questions' facts against the Rasterizer Settings section.

DimensionReasoningScore

Conciseness

The body is mostly dense Makepad-specific material (module tree, DSL snippets, API structs, atlas defaults), but it can be tightened: 'When to Use' is pure boilerplate ('Use this skill when tackling tasks related to its primary domain or functionality as described above'), the 'When Answering Questions' section repeats facts already stated in Rasterizer Settings ('Default: 4096', '4096x4096 for grayscale, 2048x2048 for color'), and the time-sensitive header ('makepad-widgets (dev branch) | Last Updated: 2026-01-19') sits outside any old-patterns/deprecated section. Not anchor 2 because there is no concept-level over-explanation of things Claude already knows.

3 / 5

Actionability

Concrete, copy-paste-ready DSL examples cover the common cases — text_style with font path dep("crate://self/resources/fonts/MyFont.ttf"), font_size 16.0, line_spacing, theme fonts (<THEME_FONT_REGULAR>), FONT_REGULAR/FONT_BOLD definitions, and TextFlow rich text (<Bold>, <Italic>, <Link>) — plus a properties table with concrete types and rasterizer defaults. Not anchor 5 because the Layouter API appears only as struct/signature listings with no calling example, and Rust-side runtime font registration is never demonstrated.

4 / 5

Workflow Clarity

The Documentation Completeness Check gives an explicit sequence with an error-recovery branch: 'If file read fails or file is empty: Inform user ... Still answer based on SKILL.md patterns + built-in knowledge'. Not anchor 5 because beyond the reference-check loop, actual task workflows lack checkpoints — e.g., the steps to integrate a custom font (place file, define in live_design, reference in text_style) are scattered across sections rather than sequenced.

4 / 5

Progressive Disclosure

The body inlines roughly 120 lines of API reference (module tree, Layouter API, Layout Parameters, Rasterizer Settings) that the advertised reference is described as holding ('./references/font-system.md - Font module structure and APIs'), and that file does not exist in the bundle — the only one-level-deep pointer is dangling. Not anchor 3 because it assumes references are present; not anchor 1 because sections are clearly headed with no nested references.

2 / 5

Total

13

/

20

Passed

Description

56%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 offers strong, explicit trigger guidance with good natural-keyword coverage (including Chinese-language variants) and a clearly distinct Makepad niche. Its core weakness is that it never states what the skill actually does — only the domain it applies to — leaving specificity and completeness underdeveloped.

Suggestions

Add 2-3 concrete actions stating what the skill does, e.g. 'Configures font families, sizes, and spacing in Makepad DSL; explains the Layouter/shaper text pipeline; troubleshoots SDF text rendering.'

Pair the trigger list with an explicit 'Use when...' sentence naming Makepad-specific scenarios so both 'what' and 'when' are explicitly answered.

Prefix the generic trigger terms ('font atlas', 'text layout', 'font size', 'text shaping') with 'makepad' to reduce overlap risk with non-Makepad typography skills.

DimensionReasoningScore

Specificity

The description names the domain ('Use for Makepad font and text rendering') but lists no concrete actions — no verb states what the skill does (configure, troubleshoot, explain). Above anchor 1 because the domain is explicitly and specifically named; below anchor 3 because zero capabilities are stated.

2 / 5

Completeness

The 'when' is explicitly answered ('Triggers on: ...') but the 'what' is only implied by the domain phrase — nothing states what the skill does. Below anchor 4, which expects an explicit 'what' with concrete actions; above anchor 2 because the specifically-named domain plus rich explicit trigger guidance gives more than a 'when'-only description.

3 / 5

Trigger Term Quality

'Triggers on: makepad font, makepad text, makepad glyph, makepad typography, font atlas, text layout, font family, font size, text shaping' plus Chinese equivalents ('makepad 字体, makepad 文字, makepad 排版, makepad 字形') gives good natural-phrase coverage. Not anchor 5 because several natural terms users would say are missing (e.g. 'line spacing', 'letter_spacing', 'SDF', 'harfbuzz', 'TextFlow', 'text color').

4 / 5

Distinctiveness Conflict Risk

The niche is clear and mostly makepad-prefixed ('makepad font, makepad text, makepad glyph, makepad typography'), anchoring triggers to a specific framework. Not anchor 5 because unprefixed generic terms ('font atlas', 'text layout', 'font family', 'font size', 'text shaping') carry minor overlap risk with other typography/text skills.

4 / 5

Total

13

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/AI-Agents-Safe-Coding-Skills/skills/makepad-font/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.