How to rebind a skinned mesh to a different skeleton (same structure)

Say I have a human model with attachable costumes. Each model is bind to a skeleton, but the skeleton shares the same structure (just different weights, etc).

So, how do I get around to transform the bone of one to also update the others? No need to be bi-directional. Like modifying the human skeleton will update all costumes’ skeleton (multiple).

One idea is to rebind those meshes/costume to the human’s skeleton. But I janky-ly tried this with no success as the weights are destroyed.

Currently, this is basically what we use: When we select a certain bone type to transform, we create a dummy object with the same transform and transform that dummy instead. Once the transform is done, the new value is copy back to that same bone type on each skeleton.

this.transform.addEventListener('objectChange', function (event) {
    for (var i=0;i<target.length;i++) {
        target[i].position.copy(this.dummyGroup.position);
        target[i].rotation.copy(this.dummyGroup.rotation);
        target[i].scale.copy(this.dummyGroup.scale);
    }
}.bind(this))

The problem with this is that it’s not inherently linked in the engine like actual parent-child relationship or proper skin-skeleton connection.

So I wonder if there’s a way a bone can reference or link to another bone matrix4, or just rebind a skin to a different skeleton, preserving everything.