how to join multiple rigged mesh and bones
Figured it out.


select bone and mesh and duplicate them.
select individual bones of the duplicate and rename them so they have unique bone names from the original. Renaming the bones will automatically rename weight painted the vertex groups.
apply location rotation and scale to the bones in object mode, and make sure all armatures have the same origin
select the mesh and hit ctrl J
select bones in the same order as you selected the meshs and hit ctrl J