Mirroring animated objects along an axis

I’m making two symmetrical animations (left and right versions) for an old video game. I already have the left version, and I need to mirror it along the Y axis, so I can edit it accordingly instead of doing the whole animation from scratch. How do I do that?

The model itself consists of 19 bones, each with its own animation, as seen in the screenshot:

The model doesn’t have any rig, only the parent/child relations between bones. Is making a rig necessary for mirroring the animation? If yes, is there any automated way to build it, based on the bone relations?

Also, is it possible to mirror just the rotations and positions of the root bone alone? Both animations are supposed to start and end with a right-handed idle animation/stance, so mirroring everything isn’t really needed.