implementing new movement skills

Just wondering the best way to implement new movement types as skills.

Id like to eventually make it so different characters or enemies could be granted the skill.

Would it be a matter of having the code in the base character class and simply having a variable to keep track of if they have that skill and if they do then run that code? A bit like jumping I guess.