Currently the core skins are set up such that they have a skinname.php file and a skinname directory and are automatically included as options if the skinname.php file is found in the main directory, but this setup doesn't scale.
Skins shouldn't have these loose files. All of the skin files should be in the skin's directory, and all skins should be included and initialised much like extensions are. Many non-core skins already do this.
Two issues with setting this up:
- There would need to be some sort of default to account for the transition on existing wikis.
- There would need to be a selection on install for which found skins will be made available, probably much the same as how found extensions can be selected to be enabled.