There are various ways to do it, but I'd recommend reading the lua scripts of existing mods first.
Some mods allow different movesets for the base characters in the unmodded game (mario, luigi, waluigi, wario toad and yoshi), while others use character select to load a custom model/voices/caps...