Workflow for animating a linked armature with bone constraints? If you link an entire armature object from another .blend file, it's not possible to enter pose mode.

If you create a new armature object, then link to an armature data block from another file, you lose bone constraints.

You can link the whole object, the Duplicate Linked (Alt+D), and it will keep the original bone constraints. But later, if you change the constraints in the other .blend file, the changes won't propagate to the duplicate.

So, how do you safely animate a linked armature that has bone contraints? Do people just not do this? Do you instead make a copy of the armature in every .blend file, and keep changes in sync manually?
Blender's proxy system is designed to handle this situation.

By creating a proxy of the armature you can animate the rig while it is linked from an external file. It is common to have the rig and mesh belong to a group so that you import the group and create a proxy of the rig.