Manual:ResourceLoaderSkinModule

ResourceLoaderSkinModule is a special kind of module that provides boilerplate styles to help you build a working skin. It can be used by registering a module in your skin's skin.json file like so:

For skins deprecating the legacy feature
Skins using the `legacy` feature should instead enable the following features

Before:

After:

When making this transition please report any bugs and heed the following advice...

Enabling the `normalize` and `elements` feature is recommended
Without this, you may notice some elements look a little off, particularly in print mode. However if your skin provides alternatives you can ignore.

visualClear
Skins making use of `visualClear` should instead use the clear fix mixin. To aid migrating add the following style to your skin:

Skins should define a red link color for links to non-existent pages.
Skins using the legacy feature currently get red link color of. Skins that use the content-links feature will get a color of. In future skins will be able to define a LESS variable to override it.

For skins that do not import either, these links will appear as normal links.

Suggested:

Skins need to style their edit links if they are not including the `interface` feature.
If a skin does not include the `interface` feature, it may make sense for the skin to copy across the content of the deprecated styles inside resources/src/mediawiki.skinning/interface-edit-section-links.less. Skins are encouraged to be opinionated about how edit links display and to revise these as needed.

Skins using `error`, `warning` or `success` classes should provide their own styles

 * Consider using `mw-messagebox`, `mw-warningbox` and `mw-successbox` instead and there associated Html::warningBox/Html::messageBox PHP classes.

Check your skin when printing
please check your print stylesheet, in particular for UI regressions relating to the footer.
 * Only skins using the interface feature will hide elements with the `printfooter` class automatically.
 * Skins using the #footer element with `interface` feature would previously get the footer displayed in a gray box. This is now the responsibility of the skin

Note about directionality
Previously the `legacy` feature provided the following rules:

These rules are no longer necessary. All elements with these classes should have a `dir` HTML attribute to provide this rule.

Many wikis might use these classes without dir attributes, as discovered in T287701 so it may make sense for your skin to include them for now.

Ajax spinners
There will no longer be defaults for mw-ajax-loader and mw-small-spinner. Copy the styles if they are needed.