In my current redesign of survive, I'm just going through all entities with ent_next and sending their necessary skills if any.

in the end, you have to send the skills whatever way you program it. But do you really need all 50 skills? I bet there is a lot of redundant data in there that could be calculated on the client instead of being transfered.
In my old project I had around 10 skills that needed to be send per npc.