The skill list is in skills.mul, and you can add new skills to it.
The problem is that the NUMBER of skills the client will actually read from skills.mul is hardcoded. So you can have 74 skills in there but it will only read up to the hardcoded number.
There used to be a utility to patch this number in memory to whatever you wanted, but it doesn't work with new clients. I sure wish someone would update it because it would remove limitations on the number of skills you could use.
You can change existing skills, and can also change whether or not they are active or passive use, with no problem.