I seem to have an odd reaction to metals. When I wear certain silver jewelry items, I get a dark grey stain on my skin, even if the metal is something that is clean, and I've had for years-- I can't for the life of me figure out where this is coming from. I've had issues with some silver causing a rash, and the buttons on jeans also causing an itchy skin irritation. Apart from a general allergy, is there a reason for the grayish stain?
It does sound as if you have a nickel allergy, which is the red rash reaction to metal buttons, but the dark discoloration is most typical of a chemical reaction with copper in jewelry--it isn't an allergic reaction, but rather something about your skin causes an oxidation reaction. It is unlikely this is due to a reaction with silver or gold, but if jewelry is coated with silver plate that wears off, then you are exposed to the base metal that may contain copper or nickel.
There is nothing to do to prevent this other than stick to pure (and more expensive) metals in your jewelry.