Das erste ist nicht machbar, da man am Maker selber rumschrauben müsstest. Allerdings könntest du das mit Ruby bestimmt hinkriegen,

Die zweite Sache machst du so:
Erstelle den Skill zweimal. Ein mal so, dass er immer nutzbar ist und ein zweites mal so, dass er nie Nutzbar ist. Und immer wenn X passiert, tauscht du die Skills aus.

Die dritte Sache kapiere ich nicht genau.