The most straightforward way to do this might be to just track the state.
anim | Babylon.js Playground (babylonjs-playground.com)
The lines I added were 25, 26, 34, 37, 38, and 42. Pretty much all I did (aside from setting the sitting to not loop at the start) was to add a Boolean that tracks whether we’re already sitting or not and, if we are, doesn’t try to start sitting again. This is the sort of thing that will probably be handled by a formal state machine eventually; but for now, and for simple cases like these, it’s probably easiest to just track this state manually. Hope this helps, and best of luck!