That's actual models though, if he wants multiple skins on a model, you could use Keyvalues + the skin value, though I don't know if there's a way to get the highest number of skins on a model. (Anything over the highest reverts back to the default)
You can get the number of skins clientside with NumModelSkins(mdl), but it's called from the engine on the client, so I aren't sure how you'd get it on the server.
Here's a snippet though if anyone figures out how to get the NumModelSkins function working serverside.
[lua]
hook.Add("PlayerSpawnedProp", "RandomSkin", function(ply, mdl, ent)
local iSkins = NumModelSkins(mdl)
if iSkins > 0 then
ent:SetSkin(math.random(0, iSkins))
end
end)
[/lua]