code: function(message) {
        if (message && !_.isString(message)) {
          throw new Error('Skip message must be a string, got ' + typeof(message));
        }
  
        this.stepSkipped = true;
        this.skipMessage = message;
  
        return q(new StepArgs(slice.call(arguments, 1)));
      }
docs: <a name="method-skip"></a> ### #skip(message, args...) Returns a resolved promise similar to the one returned by `#success`.  The first argument is a message describing the reason for skipping this step. It will not be passed to the next step.  Additionally, the step will end with a `step:skip` event rather than `step:done`. See [Run Algorithm](#run%20algorithm).