The following set of arm stretches are mainly gravity assisted. You can focus on relaxing the arm being stretched. You can also resist the stretch so that the muscle being stretched is active.
Resist just enough so that you continue to move in the direction of stretch. Stretches can be done in the order given.
For muscle assisted shoulder stretches read
For Yoga Arm Position Stretches read
Yoga Shoulder Stretches.
In this shoulder stretch focus on relaxing both sides of your body downwards. The arm that crosses the chest is the arm being stretched.
While laying on your belly lift one side of the body and reach the opposite arm across your chest. The other arm can reach back beside you. To stretch the shoulder of the arm that is across your chest let the opposite side of the body sink down to the floor.
Let the weight of your shoulder, chest, pelvis and leg all sink down into the floor. (If the left arm is being stretched then focus on letting the right side of your body sink down.) Focus on relaxing.
You could focus on allowing the shoulder blade to move away from your spine. You can also experiment with moving the shoulder slightly forwards (towards the head) or rearwards (towards the ribcage and pelvis.)
A variation of the above arm stretch is to grab the hands behind the back.
With your left arm across your throat bend the elbow and reach the hand over the shoulder. Bend your right elbow and reach your right hand up your back.
Try to clasp your hands together. If you can't then hold on to a belt with both hands.
Andrey Lappa always used to call this "lotus for the arm" since the elbow is bent and the upper arm is externally rotated.
Full dragonfly stretches both shoulders at the same time. In a prone position cross the arms beneath the shoulders with both arms straight. One arm will have to be in front of the other. Work at wiggling the hands away from each other. To add weight lift your ribs off of the floor, then your pelvis, and then your knees.
Move your body slightly forwards (or rearwards) so that your shoulders are more or less directly over your arms.
Rest and then repeat with the other arm in front.
I learned a variation of this arm stretch from Jim Bennitt and so sometimes I refer to it as Bennittasana.
(In the original version you grab the top foot behind the back.)
From a prone (belly down) position reach the left arm to the side with elbow bent at 90 degrees. Have the elbow in line with the shoulder and keep the elbow, palm and shoulder on the floor. Slowly roll the right side of the body off of the floor. As you do so scissor the legs apart reaching the top leg backwards and the bottom leg forwards.
Keep the top leg off of the floor so that you can use the weight of the leg to help you go deeper into the stretch.
Press the opposite hand into the floor in front of the chest.
For extra leverage you can press the outside of the bottom thigh into the floor.
You may find it helps to allow the shoulder of the arm being stretched to lift a little. You can also lift the head off of the floor and work at lengthening both sides of the neck.
Try moving the elbow slightly forwards or backwards (towards your feet) to change the stretch.
I call this shoulder stretch "Lappasana" simply because it is the pose most commonly associated with Andrey Lappa. It works on the front of the shoulder and arm, perhaps even stretching the biceps.
For the gravity assisted version of this arm stretch, lie belly down and reach your right arm to the right.
An easier version is to do this stretch first with the palm facing upwards.
To vary the stretch you can grab the hands behind the back keeping the bottom palm facing outwards.
To add weight to the stretch you can put your legs in the double pigeon foot position.
If the right arm is being stretched then have the right leg on the bottom.
Generally after this shoulder stretch I like to relax for a few moments with my chin on my hands. This was something Andrey had us do to feel the effects of the pose. The sensations can be quite pleasant.
Also use the legs to pull the hips rearwards to help lengthen and decompress the spine and shoulders.
To focus on backbending the spine and stretching the front of the ribcage and neck you can do puppy dog chest stretch with the arms in a "push-up" like position.
Starting from cat pose (with your hips ahead of your knees) lower your chest to the floor like you are doing push up.
Move your hips far enough forwards that you can touch your chest to the floor.
From there work at moving your chest and pelvis backwards so that your chest moves closer to your knees and your hips move towards being directly over the knees.
Or you could leave your chest in place and move your knees forwards, closer to your chest.
From this position you could then sweep your arms forwards while keeping the chest on the floor.
You could also slowly lower into the "arms ahead" version of puppy dog by starting in cat pose with the hands on the floor ahead of the shoulders. Push the ribcage back like you are doing downward facing dog. Slowly lower the chest to the floor.
If you can't get your chest to the floor start with your pelvis forwards, ahead of your knees.
A pose that is similiar to the puppy dog arm stretch, is the spiderman shoulder stretching exercise.
It can be done while kneeling in front of a wall or from a laying down position in front of a wall.
The laying down version is a little bit more intense.
Kneel in front of a wall with your head touching the wall and your butt on your heels. Shuffle your knees towards the wall or away from it so that your head touches the wall while your butt is on your heels.
From here, sit up and reach your arms up the wall as high as you can (below left). You can lift your butt. Try to position your hands shoulder width apart or narrower.
With your hands on the wall, allow your ribcage to slowly drop down (above right).
Breathe into your ribcage. As you inhale feel your ribs expanding. As you exhale, relax.
While it can feel natural to look down, I find this shoulder stretch is a lot more comfortable if I look up.
If you are really tight in the shoulders and this is really uncomfortable, try lifting your ribcage up each time you inhale and slowly relax downwards as you exhale.
Sit up and rest for a few moments after doing the pose. Then if you like repeat the shoulder stretch stretch but with your knees closer to the wall.
With knees closer to the wall you may find that this stretch opens up the front of your ribcage turning this shoulder stretch into a ribcage or chest stretch.
You can use the kneeling version as a warm up for the prone version.
For the prone version lay down with the top of your head against the wall. From there prop yourself up on one elbow and reach the other hand up (shown below).
Press that hand into the wall so that you can then lift and reach the other hand up.
With both hands on the wall keep pressing both hands into the wall to resist the stretch. Then slowly relax your arms to let your chest sink down.
You may be able to make the pose more comfortable (bearable) by pressing your hands into the wall as you inhale and then relaxing as you exhale.
Do both actions slowly and smoothly, in time with your breath.
Again my recommendation is to look up towards your hands when holding the pose, as if reaching towards your hands with your eyes.
As with the kneeling version, you can repeat the pose after a rest but with your body closer to the wall.
You may find that it feels really nice to just rest with your chin on your hands after exiting either version of the above shoulder stretch.
When I first started learning the Rack Arm Stretch in Andrey Lappa's class he had us do it with our fingers interlaced. It was quite intense on the elbows.
Now I usually do it with my hands separated and I practice two options, one with palms turned down so that the arms are externally rotated. The other option is with palms turned up so that the arms internally rotated.
In either case you can make this pose less intense on your elbows by pulling your chest forwards, away from your hands. And move deeper into the pose by pulling your hips further forwards gradually.
With the palms facing down option you could increase the external rotation of the arms by rolling the thumb side of the hand upwards slightly. With palms upwards and thumbs inwards, you can increase internal rotation by again rolling the thumb side of each hand upwards.
Note that with your palms up you may find it more comfortable (and perhaps more natural) to bend your ribcage forwards and sink your chest.
To move your hips forwards you can either wiggle them forwards (which is great when you are near your limits). Or you use your legs to pick your pelvis up and pull it forwards. Once your pelvis is in place you can keep your knees bent (shown below) or straighten them.
To get out of rack you can either pull your your hands forwards by lifting your chest or you can lift your legs and then use them to kick yourself back upright (shown below).
You may find it helpful to practice getting out while the pose is still easy (i.e. while your hips are still close to your hands.)
A nice way to counterpose rack is with the pull back stretch for the back of the shoulders.
While sitting (or possibly squatting) place the backs of both hands against the sides of the waist. Spread the shoulder blades and move the elbows towards each other using the muscle power of the arms.
To increase this shoulder stretch widen the knees and place the elbows inside the knees. Then use the legs to stretch the shoulders by slowly squeezing the knees inwards.
As you deepen the stretch you can move your shoulders forwards and inwards. To resist the stretch press the elbows outwards. So that you still stretch the shoulders, make the knees stronger than the arms.
This shoulder stretch can be a nice to way to decompress the shoulders after doing penguin (the previous shoulder stretch.)
Sit with knees bent and grab the outer edge of both feet with the opposite hand.
Pull your ribcage backwards, away from your feet to stretch the back of your shoulders. Try sitting up taller or hunching your back to vary the stretch.
Then switch your arms and repeat.
You can also do this pose one arm at a time either grabbing the opposite foot or the same side foot.
For a complete set of shoulder stretching and shoulder stability exercises check out Yoga Shoulder Stretches and Exercises Ebook.