In spine-libgdx (and many other runtimes) you load your skeleton data, create a skeleton from it, pose the skeleton with 1 or more animations, and render it. You can have multiple skeleton instances for the same skeleton data if you want, so you can pose them differently.
To pose skeletons with 1 or more animations, you use an AnimationState instance. Usually each skeleton gets its own AnimationState, as that tracks the animation times for that skeleton.
This is all explained in the runtimes user guide:
https://esotericsoftware.com/spine-runtimes-guide
In case that link shows up in English, here's a link to the user guide in Chinese:
https://zh.esotericsoftware.com/spine-runtimes-guide
Also see the spine-libgdx examples:
EsotericSoftware/spine-runtimestree/4.2/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine
Start with SimpleTest1.
In spine-libgdx your own code draws the skeletons, so you control when each one gets drawn.