Having a diode across the coil primary most definitely will not work. You don’t want to clamp the primary voltage spike like this. If you do, the secondary will produce nothing useful. You can beneficially put a capacitor across the switch, be it contact points, transistor, IGBT, mosfet (triac will latch on permanently and not work) and size the cap according to the primary current and the maximum voltage the switch will tolerate. The primary voltage across the switch and cap will rise and then fall in a half sine as the primary leakage inductance resonates with the cap. The higher the switched current the higher the voltage spike so the larger the cap needs to keep the spike under control. For those that say this cap is unnecessary with a solid state switch, the benefit of having it is it captures the leakage inductance energy and transfers it to the secondary, other wise it would simply be lost as heat in a clamp zener. Adds about 10% to the spark energy. Have a look at the secondary current with a scope and see how it adds to the initial current spike. Current, not voltage.
Another useful thing is to have a reverse diode across the switch. Always done with a solid state setup, but is also beneficial with contact points. Reduces arcing a little and lengthens spark duration just a little. One last thing, if you have a points plus ballast resistor, put a 10,000uF electrolytic cap from coil positive to ground. Smartens things up quite a bit at high rpm.
Edit -> Yes, TVS diode across the switching device for sure.