The only thing I can think of is (I don't remember if there is an event for learning a skill), otherwise you can add the event:
Every 0.3 seconds of game time
Conditions: (Integer comparison) Number of levels for skill of type Impale (or was it N of levels for (Impale)) .. equal to 10, (choose your hero by selecting on the map or with an event that happens in the very beginning with your hero add a set variable - unit (your hero), to have smth that knows what the unit is and use this variable in the condition if you need to point out your hero),
(OR If your hero can learn only this ability and you always get lvl 10 Impale at say lvl 10 hero you can use the C: Hero level equal to 10)
A: If you want after 10 skills of Impale to have a new skill that will replace Impale, just use:
- Unit ability - Remove Impale
- Unit ability - Add (new skill)
- Trigger - Turn off (this trigger) - once it happens to stop, there's nothing to turn it on again
Or if you want to keep the old, just no "Unit ability - Remove Impale"