How to do this relies on your setup for Text - is your text component going to be on the UI layer (in a canvas)? Or do you have a way of displaying the text as a non-UI gameobject?
The BoneFollower component (spine-unity Runtime Documentation: BoneFollower) is a quick and easy way to have one gameobject follow a bone on a Spine animation.
There is also a BoneFollowerGraphic component, which works with spine animations that are using the SkeletonGraphic setup (basically using a Spine animation as a UI element, on a canvas).
You can also use this:
skeletonAnimation.skeleton.FindBone("bonename").GetWorldPosition(spineGameObjectTransform);
If your spine character is on a regular layer, but your Text is in a Screen-Space Canvas, you may have to do some special coordinates systems converting to get the correct position. An easier way to do it would be to have a separate Canvas just for the Text that is set up as a World Space canvas, and you put that entire Canvas into a GameObject and position that GameObject. But having a ton of Canvases isn't a good idea, so I would only do it if you have a few of these robot guys.