Is it possible to retarget a skinned mesh, and add additional bones in the process?

I have a base character model. I want the player to be able to customize the character by adding different hairstyles, clothes, etc. I’ve figured out how to retarget a skinned mesh, so that a new hairstyle, or piece of clothing can be swapped to the base model.

The problem that I’m running into now is that some of my customization options need additional bones that the base model does not have/need. A good example would be a hair style that has a ponytail, or an armor set that has a cape. The base model doesn’t need the additional ponytail bones, or the additional cape bones, but I need those bones to add some dynamic animation when those pieces are attached to the character.

Is it possible to insert the additional bones when I retarget these skinned meshes (ponytail, cape)? Or should my base model just have a bunch of additional bones that won’t be used 90% of the time, but will be if a player customizes on one of the mentioned skinned meshes?