Making good small compasses appears to be quite difficult. The cheap keychain ones don't work very well and the nice NATO ones are very expensive. The issue may be that a small diameter needle simply can't produce much torque given the earth's weak magnetic field. So a bigger compass (say 1" diameter) works much better than a tiny one.

I have a Brunton GITD compass that cost $5 and is about 1.5" in diameter. It's not absolutely tiny but should fit in most kits. It would be marginal for an Altoid PSK and too big for a mini-Altoid kit, but ok for anything larger than those. It works much better than the little keychain and watchband compasses I've tried.