CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

webiny-page-settings-extensions

Extending the Website Builder page settings with custom settings groups and modifiers. Use this skill when the developer wants to add a new tab/group to the page settings drawer (e.g., Publishing, Analytics, Access Control), or modify an existing settings group (e.g., add fields to General or SEO). Covers PageSettingsGroup, PageSettingsGroupModifier, and the doc.extensions data model. For field types, renderers, and layout details, see the webiny-form-model skill.

Quality

90%

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

SKILL.md
Quality
Evals
Security

Quality

Content

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

A highly actionable, code-first skill body: two complete executable examples, interface reference tables, and a hard guardrail on where custom data lives. The main drags are triple-statement of the doc.extensions rule, the absence of a verify-build checkpoint, and full worked examples that belong in a references file rather than the main body.

Suggestions

Consolidate the doc.extensions storage rule into one authoritative section — the TL;DR, the "Important: Where to Store Data" section, and the "Reminder" in The Page Document Model all restate it; one canonical statement plus the CORRECT/WRONG snippet suffices.

Add an explicit verification step after registration (e.g., "run the admin dev server / build and confirm the new tab appears and no src-path build failure occurs"), turning the .tsx warning into a validate-and-retry loop.

Move one or both complete implementation examples into a references/ file (e.g., references/examples.md) and keep the interface tables plus a minimal skeleton in SKILL.md to reduce body size.

DimensionReasoningScore

Conciseness

The body is dense and code-first with no explanation of concepts Claude already knows (no "what is Webiny" padding, interface members given as tables), but the doc.extensions rule is stated three times — in the TL;DR bold warning, the dedicated "Important: Where to Store Data" section with CORRECT/WRONG code, and again as a "Reminder" in "The Page Document Model". That repetition is a deliberate emphasis on the one destructive-risk rule, but it is noticeable padding that could be consolidated, which keeps this below anchor 5.

4 / 5

Actionability

Both extension paths are given as complete, copy-paste-ready TypeScript classes with correct/incorrect mapFromForm snippets, the exact createImplementation exports, the full feature wrapper component, and the literal webiny.config.tsx registration line including the mandatory ".tsx" suffix. The examples cover the common cases (new tab and modifier injection) with no pseudocode gaps.

5 / 5

Workflow Clarity

The sequence — implement the class, export via createImplementation, wrap in createFeature/RegisterFeature, then register in webiny.config.tsx — is laid out in correct order across clearly titled sections, and the emphatic ".tsx in every src prop" warning acts as an explicit checkpoint against the main failure mode ("Omitting the file extension will cause a build failure"). It falls short of anchor 5 because there is no verify/recovery step (e.g., "run the admin build and confirm the tab renders") and the ordering is implied by section flow rather than enumerated.

4 / 5

Progressive Disclosure

No bundle files exist (no references/, scripts/, or assets/ directories), and the body is well-sectioned with a TL;DR, a clear one-level-deep pointer to the webiny-form-model skill ("For field types, renderers, layout, validation, and all other form builder APIs, refer to the webiny-form-model skill", reiterated in Related Skills). It sits at anchor 4 rather than 5 because the two full worked examples (~55 lines each) are prime candidates for a references/ file: the skill exceeds the size at which everything-inline is unambiguously the right split.

4 / 5

Total

17

/

20

Passed

Description

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

A strong, disciplined description: third-person, concise, concrete about both capabilities and trigger conditions, and explicitly bounded against its sibling skill. The only meaningful improvement is broadening trigger-term synonyms so alternative user phrasings ("settings panel", "custom tab") also match.

Suggestions

Add one or two natural synonyms for the trigger surface, e.g. "settings panel" or "custom settings tab", so users who don't say "drawer" still match.

Optionally mention modifying built-in groups' fields via a modifier ("inject fields into an existing tab") as a third trigger phrasing, since that is a distinct entry point users may describe differently.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — "add a new tab/group to the page settings drawer", "modify an existing settings group (e.g., add fields to General or SEO)" — and names the exact surfaces covered ("PageSettingsGroup, PageSettingsGroupModifier, and the doc.extensions data model"). Coverage is comprehensive for its declared scope; it only falls to anchor 4 if a real capability gap existed, and the only omission (field types/renderers) is an explicit, deliberate deferral to the sibling skill.

5 / 5

Completeness

Both halves are explicit: the what ("Extending the Website Builder page settings with custom settings groups and modifiers") and a literal "Use this skill when the developer wants to add a new tab/group... or modify an existing settings group" with concrete example triggers. This matches the anchor-5 example structure of stated capabilities followed by explicit when-to-use phrases.

5 / 5

Trigger Term Quality

Natural user phrasing is well covered: "page settings drawer", "add a new tab/group", "add fields to General or SEO", plus concrete group names (Publishing, Analytics, Access Control). It falls short of anchor 5 because common synonyms and variations are missing — e.g., "settings panel", "custom settings tab", "page settings modal" — so a user phrasing the request differently may not lexically match.

4 / 5

Distinctiveness Conflict Risk

The niche is narrow and named (Website Builder page settings drawer) and it actively reduces overlap risk by carving out field types, renderers, and layout to "the webiny-form-model skill". Anchor 4 ("minor overlap risk with closely related skills") would apply if that boundary weren't drawn, but it is drawn explicitly in both the description and the body's Related Skills section.

5 / 5

Total

19

/

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

webiny/webiny-js

Path

skills/user-skills/admin/website-builder/page-settings/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.