Alright. So a spin happens when a wing drops (looses lift) and the other wing keeps flying "around" the stalled wing. But to get it into a spin in the first place it needs some yawing into the stalled wing. A spin is not something that automatically happens every time you stall. I am able to stall an airplane and still keep the wings level using rudder for the most part. all the controls become very sluggish when you approach stall, and it starts to shake quite alot. but a wing usually stalls from the wing root out (wing root has a higher AoA than the wing-tip.), so you will still have some slight control.
But anyways, If i am going to simulate a spin i'm going to put my nose up (engine to idle if it's an engine aircraft) slowly apply full elevator and when i'm quite slow
i will kick full rudder to the direction i want to spin. I will keep holding full elevator and rudder into the spin until i want to recover. i'm not going to do anything with the ailerons, but if i want to keep the spin longer i will add a bit aileron to the opposite side of the spinning to keep it going. when i want to get out of the spin i put elevator back to neutral, and apply full opposite rudder for the rotation to stop. when the rotation slows down and the nose comes down the aircraft will pick up speed and you end up in a steep dive that you have to recover from before you overspeed (an engined aircraft will most likely not have too much problems with overspeeding).
But in the real world a spin would most likely come when you are in a turn and get too slow. the wing drops, and you already have some rotation to get the spin going.
And yes, scripting a flight model is basically mission impossible. Hope this helps somewhat, and if you have any more questions just tell me
( a clockwise and an anti-clockwise stall is basically the same. a clockwise stall in a cessna that has throttle on can be a bit more violent becuase of the torque i would guess.. but if you want more information about that i can ask about it)