When setSiteSkin is called it returns null if a skin has not been explicitly set on a site. Is this the expected behaviour? Shouldn't it return the name of the default skin as set by the skin.default property? Shouldn't it also prefix the skin with 'neo-' if 'portal.templates=neoskin' is set?
The reason I'm asking is that I've always depended on getSiteSkin returning the actual skin name that is in use; now I've stopped explicitly specifying skins on sites, tools like YAFT, CLOG and ROSTER2 don't get styled. It seems odd having to implement logic in a tool to massage the skin appropriately when it could happen in getSiteSkin. SiteStats also implements some logic to sort the skin name out.
I've attached a patch which mods BaseSiteService in the way I describe.