There is no option to upload viewer skins, but you may add a "custom" sub-directory in the viewer installation "skins/" sub-directory to store any custom skin you would make or adapt for the Cool VL Viewer. Once the "custom" skin sub-folder is setup, you can select it from the Preferences floater of the viewer (and restart the latter to get the skin change applied).
AFAIK, there is no "howto" for viewers skinning (not to mention that viewers have various idiosyncrasies about skinning: the Cool VL Viewer uses the v1 viewer skins format, plus
added configurable colors, such as for syntax highlighting in the script editor), so you might want to instead have a look at the existing skins and see how they are implemented in the XML files.
Basically, the viewer always uses the default skins colors, textures and floater/panel/menu definitions, unless they get overridden by another (activated) skin. It means you only have to change what differs between your skin and the default skin.
To summarize, skinning may involve three steps (step 2 and 3 are optional), in order of complexity:
- Use custom colors (in the skins/ directory, simply copy default/colors_base.xml to custom/colors_base.xml, then edit the latter to your liking). This is the simplest way to tweak an existing skin.
- Add texture overrides. In your skins/custom/ directory, add a "textures" sub-directory and put any custom texture there; the textures must have the same file names as in the default skin and they will replace the ones in that default skin; if some textures need scaling (because they don't have the same size as the corresponding texture in the default skin), you will need to add a textures.xml file into the skins/custom/textures/ directory (just have a look at the "skins/silver/textures/textures.xml" file, for an example).
- Change the floaters, panels and/or menus layouts. This is by far the most complex step (and usually unneeded): it involves changing parts of the menu elements (or just their size/position) when compared to what exists in the XML definition files stored in skins/default/xui/en-us/
As for the "Starlight" skin... I don't even know what it looks like or which viewer uses it.