a way to make limited skills both more customizable but not broken is load-outs.
in my game one of the main characters will have access to 10 sets of 5 skills, each set is a different play-style.
to balance this out swapping would not only cost tp but have a multi turn cool-down.
a game with lots of characters to collect you can use the stats they have with 2-3 skill load-outs to define the roles they can play.
for example:
a thief character could have access to a thief, poisoner(with an antidote skill) and assassin load-outs
this allows more flexibility when you have fewer units and allow the creation of opposing variants of some units; i.e. a thief hero who is a glass cannon and another thief who is more about acting first rather than damage. the first is better for tougher fights while the second is more about speeding up the fight