TEST THE STONES.
Get a small piece of tupperware and fill it with water, just enough to submerge the stone. Test the water's PH. Then add a stone (just one), and let it sit for a few hours. Test the water's PH again. If the water's PH changed, do not put that stone in the tank.
Generally Quartz is safe. Amethyst too. As a general rule, the darker stones are more likely to be toxic in a fish tank, but amethyst can be an exception to this as it's a quartz based stone.
In my community tank I have one Amethyst heart and one Quartz "healing crystal".
There's another test that you can do with the stones, where you use an eye-dropper to drip fluid on the stone and see if it bubbles or not, but I can't remember what fluid is used in that test. I want to say vinegar, but I feel like that's wrong. If anyone knows what I'm talking about, please clarify. It's the same test you use on rocks you find in the wild to see if they're safe for your aquarium.
I would not put a geode in the tank, though, as the crystal itself may be safe but the layers of stone it grew in may not.
As for the grow crystals.... no, just don't do it. Often times those are just salt crystals and food coloring.