If they are really identical, just use one skeleton and project.
Instead of having the exact same animation name for all characters, have a predictable naming scheme for your animations based on the character it's for.
At runtime, get all the correct animations for your character type/skin.
Meaning, don't call "run" with a literal string in your code but with a variable you store based on your character chosen, ie "archer\run" or "knight\run".
BUT if your characters are different enough, you don't have to force it to conform to this scheme.
Based on your style or requirements, forcing everything into one skeleton may be more trouble than it's worth.