CtrlK
BlogDocsLog inGet started
Tessl Logo

webiny-admin-ui-catalog

admin/ui — 130 abstractions.

44

Quality

56%

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/user-skills/generated/admin/ui/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.

This is a functional, uniformly structured lookup catalog: every abstraction has a name, a copy-paste import, and a source path, plus a clear three-step usage workflow. Its weaknesses are token efficiency (the boilerplate import line repeated ~130 times) and the absence of any progressive disclosure — the full 800-line catalog is inlined with no split-by-domain reference files, no usage examples, and no explanation of how to resolve the monorepo-relative source paths.

Suggestions

Replace the per-entry import boilerplate with a single rule ('All names import from "webiny/admin/ui" unless a different import path is shown') and keep only the name and source per entry — this would cut the file by well over half.

Split the catalog into one-level-deep reference files by domain (e.g. references/forms.md, references/lexical.md, references/file-manager.md, references/data-list.md) with SKILL.md as a concise index, since the current 800-line body is too large to load for a single lookup.

Clarify how to resolve Source paths like '@webiny/admin-ui/Button/index.ts' (repo root? node_modules?) and add one short usage example for the most common components (Button, Input, useDialog).

DimensionReasoningScore

Conciseness

The body is commendably free of conceptual padding (no explanations of what React components are), but ~130 entries repeat the identical line 'import { X } from "webiny/admin/ui"' verbatim when a single sentence — 'all names import from webiny/admin/ui unless a different path is shown' — would cover the large majority. That repetition is more than a 'minor instance that could be trimmed', placing this between anchors 3 and 4, at 3.

3 / 5

Actionability

Each entry gives a copy-paste-ready import statement and an exact source path, and the 'How to Use' steps tell the reader to read the source for exact types — concrete and executable for a catalog skill. It falls short of 5 because there are no usage examples for even the most common components (Button, Input, DataTable) and no guidance on resolving the monorepo-relative Source paths (e.g. '@webiny/admin-ui/Button/index.ts') to an actual readable location.

4 / 5

Workflow Clarity

The three-step 'How to Use' sequence (find abstraction → read source for exact interface → import) is clear and correctly ordered, with the read-the-source step acting as the validation checkpoint ('You MUST read the source file to get the exact interface and types'). This is a simple single-purpose lookup skill, so a short unambiguous sequence suffices; the only gap is that step 2 does not say how to locate the listed source path.

4 / 5

Progressive Disclosure

No bundle files exist (no references/, scripts/, or assets/), and an ~800-line, 130-entry catalog sits entirely inline in SKILL.md with only two sections. The collection has obvious natural splits (e.g. form components, lexical-editor exports, file-manager exports, DataList icons) that belong in one-level-deep reference files — matching 'Some structure but could be better organized; content that should be separate is inline'. Not a 2 because the entries themselves are uniformly structured and easy to scan, and the inline index is arguably the skill's core function.

3 / 5

Total

14

/

20

Passed

Description

28%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 a two-word label plus a count: it identifies the domain but says nothing about what the skill does, when to use it, or which keywords should trigger it. Nearly every user-facing decision (finding the right abstraction, importing it, reading its source) is left entirely implicit. It reads more like a title than a description.

Suggestions

State what the skill does in concrete verbs, e.g. 'Catalogs and provides import paths for ~130 Webiny admin UI abstractions (components, hooks, types) — find the right abstraction and get its exact import statement and source file.'

Add an explicit 'when' clause with natural trigger phrases, e.g. 'Use when building or modifying Webiny admin interfaces, importing Webiny UI components (Button, DataList, Tabs...), or working with the webiny/admin/ui entry point.'

Include a few searchable component/hook names (Button, DataTable, useDialog, LexicalEditor) so the description matches how users actually phrase these requests.

DimensionReasoningScore

Specificity

The description 'admin/ui — 130 abstractions.' names the domain (admin/ui) and a count, but lists zero concrete actions — it never says what the skill does with those abstractions (find, import, reference them). This matches the anchor 'Names the domain but actions are minimal or generic' ('Processes PDF files'), and is not a 1 because the domain is named rather than being pure abstract language.

2 / 5

Completeness

There is only a vague 'what' (a set of 130 abstractions, with no statement of what the skill does with them) and no 'when' clause whatsoever — the 'missing Use when... clause should cap completeness at 3' rule applies, and the 'what' is itself too vague to reach that cap. This fits 'Has a vague what and no when'.

2 / 5

Trigger Term Quality

Only 'admin/ui' and 'abstractions' appear — one domain token and one generic keyword. Natural phrases a user would say (e.g. 'Webiny UI component', 'admin component', 'import Button', 'DataList') are entirely absent, matching 'One or two generic keywords; missing the natural phrases users say'. Not a 3 because there are no relevant synonyms or variations at all beyond the namespace itself.

2 / 5

Distinctiveness Conflict Risk

'admin/ui' is a specific Webiny namespace, giving it a recognizable niche, but with no trigger phrases or action verbs the description could be matched by any UI-catalog or component-lookup skill covering an admin area — it 'could still overlap with similar skills'. Not a 4 because nothing in the description itself would prevent mis-triggering against adjacent skills.

3 / 5

Total

9

/

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

skill_md_line_count

SKILL.md is long (802 lines); consider splitting into references/ and linking

Warning

Total

15

/

16

Passed

Repository
webiny/webiny-js
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.