Content
71%Weight 40%Scale 1-5Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The body is an efficient, highly actionable catalog: consistent Name/Kind/Import/Source records with exact import statements and a simple find-then-read-then-import workflow, with essentially no wasted tokens. Its main weaknesses are the monolithic inlining of all 56 entries (no per-domain reference files), an unresolved duplicate 'useModel' entry with two import paths, and missing guidance on where the cited '@webiny/...' source files live.
Suggestions
Split the catalog into one-level-deep reference files by area (e.g., references/entry-editor.md, references/entry-list.md, references/lexical.md, references/models-and-permissions.md) and keep SKILL.md as a short index with a table of areas, so the overview isn't a 56-entry flat list.
Deduplicate or disambiguate the two 'useModel' entries — either collapse to one canonical import path or state when to use 'webiny/admin/cms/entry/editor' vs 'webiny/admin/cms'.
Add one line telling the reader where the '@webiny/...' source paths resolve (e.g., the local Webiny repo checkout or node_modules), so step 2 ('read the source file') is executable without guesswork.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The body is a lean catalog: every entry is a minimal record ('**Name:** `BulkActionFeature`', '**Import:** ...', '**Source:** ...') with no concept explanations, no padding, and no content Claude already knows — matching the lean end of the scale. It falls just short of 5 due to small inefficiencies: 'useModel' is listed twice (from 'webiny/admin/cms/entry/editor' and 'webiny/admin/cms') with the identical source and description, and 'You MUST read the source file!' restates emphasis that one plain sentence would carry. | 4 / 5 |
Actionability | Each entry provides a copy-paste-ready import statement (e.g., 'import { CmsGraphQLClient } from "webiny/admin/cms"') plus an exact source path and a directive to read it for the exact interface and types — concrete, executable guidance. It stays at 4 rather than 5 because of a minor gap: the duplicate 'useModel' entry offers two different import paths with no disambiguation, and entries point to '@webiny/...' source paths without saying where those files live locally. | 4 / 5 |
Workflow Clarity | The 'How to Use' section gives a clear, unambiguous three-step sequence: 'Find the abstraction you need below' → 'read the source file to get the exact interface and types' → 'Import: import { Name } from "<importPath>"'. No validation checkpoints are needed since this is a read-only lookup skill, so the simple-skill guidance applies; it is 4 rather than 5 because resolving the duplicate 'useModel' paths and locating the source files are left implicit. | 4 / 5 |
Progressive Disclosure | There are no references/, scripts/, or assets/ directories, and the entire 56-entry catalog is inlined in SKILL.md as one flat '## Abstractions' list under a two-line 'How to Use'. The listing is uniformly formatted and scannable (real structure), but content that clearly belongs in separate per-area files (e.g., references/lexical.md, references/content-entry.md) is inlined, matching anchor 3 'Some structure but could be better organized; content that should be separate is inline' rather than 4's 'most content is appropriately placed'. | 3 / 5 |
Total | 15 / 20 Passed |