What's the best way to go about character customization?

I would like to create a game that allows character customization (specifically the ability to choose different looks at any time). Is there a way to create a skeleton of sorts, where you can put whatever look the player chooses on top of it. So you can create the animations for how the character will look to an extent, but if the player chooses that they want a big arm for example, a Sprite of a big arm would be placed over the skeleton of the Sprite?


You create a base player with the parts that cannot be customized or with a ghost shape (that will be hidden during game play).
Then you pin your customized sprites (arms, clothes, hair…) to the base player (or ghost shape).
Then you can replace your sprites as you like.


And what game template should i use? and how do i create a ghost shape?