You were not, otherwise we wouldn't have asked for more information. That said, you can improve the logic of your event making it easier to read (while still maintaining the same effect). The following image shows an event that works the same as yours, but is much shorter.
That said, when this event is called for the first time, since you put an "Exit event processing" in your branch for (variable == 0), nothing happens other than increasing your variable value. For the same reason, everything else is being delayed by 1 turn. If you want those changes to happen when the skill is used for the first time, you have to start checking from 0, changing 1 to 0, 2 to 1 and 3 to 2 in your conditional branches. In addition, you have to set the random value to be something between [0, 2] and not [1, 3]. With this your event will apply the desired change starting from the first time the skill is used.
NOTE: I used placeholder targets, states and variables, be sure to change them to be the ones you need.