Sorry about being vague, I guess from my perspective I'm using such a small portion of the API that it seems very simple but you don't have the same context so that wasn't very helpful of me.
I start off by setting an idle animation for the character, using the AnimationState.SetAnimation method:
skeletonAnimation.state.SetAnimation(0, "idle" true);
Then, at some point that is triggered by the player we replace that idle with a one-time animation, and return back to the idle animation afterward. The animations have been close enough that we haven't needed to do any mixing:
skeletonAnimation.state.SetAnimation(0, "action", false);
skeletonAnimation.state.AddAnimation(0, "idle", true, 0);
What is happening is that when the first idle switches to the action animation it is showing one frame of a sprite turned on at full scale when the artist has done everything to ensure that sprite is hidden in the first frame of the action animation. The sprite immediately tweens down to the scale and opacity the artist has set, rather than being that way from the beginning.
Here is the example, you can see the question marks are immediately visible, and then tween down. They are supposed to start at no scale and tween up based on how the animation is setup in Spine.
Thank you for your time, and let me know if I can provide any additional detail.