var Alexa = require('alexa-sdk');

var APP_ID = 'amzn1.ask.skill.85ae7ea2-b727-4d2a-9765-5c563a5ec379';

var SKILL_NAME = 'Snack Overflow';
var POSSIBLE_RECIPES = ['Chicken Parmesan', 'Spaghetti', 'Turkey Sandwich'];

var currentRecipe, currentRecipeName;

var WORKFLOW_STATES = {
    START : 1,
    RECIPE_PROPOSED : 2
};

var currentWorkflowState = WORKFLOW_STATES.START;

exports.handler = function(event, context, callback) {
    var alexa = Alexa.handler(event, context, callback);
    alexa.registerHandlers(getRecipeHandlers);
    alexa.registerHandlers(utilHandlers);
    alexa.execute();
};

var getRecipeHandlers = {
   'whatShouldIMakeIntent': function() {
       var recipeNum = Math.floor(Math.random() * POSSIBLE_RECIPES.length);
       currentRecipeName = POSSIBLE_RECIPES[recipeNum];

       this.emit(':tell', "Would you like to make ", currentRecipeName);
       currentWorkflowState = WORKFLOW_STATES.RECIPE_PROPOSED;
   }
};

var utilHandlers = {
    'affirmativeIntent': function () {
        doAffirmativeAction();
    }
};

function doAffirmativeAction() {
    switch (currentWorkflowState) {
        case (WORKFLOW_STATES.START):
            break;
        case (WORKFLOW_STATES.RECIPE_PROPOSED):
            currentRecipe = getRecipeFromAPI(currentRecipeName);
            tellRecipe(currentRecipe);
            break;
    }
}

function tellRecipe(recipe) {
    /*
    this.emit(":tell", "You will need");
    for (var i = 0; i < recipe.ingredients.length; i++) {
        this.emit(":tell", recipe.ingredients[i].quantity, "of", recipe.ingredients[i].name);
    }

    for (var i = 0; i < recipe.steps.length; i++) {
        this.emit)(":tell", recipe.steps[i]);
    }
    */
}
@@ -623,16 +623,17 @@
  = %7B%0A   
+ 
 'whatSho
@@ -657,24 +657,25 @@
 function
+ 
 () %7B%0A   
     var 
@@ -662,24 +662,254 @@
 ion () %7B%0A   
+     suggestRecipe();%0A   %7D%0A%7D;%0A%0Avar utilHandlers = %7B%0A    'affirmativeIntent': function () %7B%0A        doAffirmativeAction();%0A    %7D,%0A    'negativeIntent': function () %7B%0A        doNegativeAction();%0A    %7D%0A%7D;%0A%0Afunction suggestRecipe() %7B%0A
     var reci
@@ -969,27 +969,24 @@
 ength);%0A    
-  
- 
 currentRecip
@@ -1023,19 +1023,16 @@
 eNum%5D;%0A%0A
-   
     this
@@ -1093,27 +1093,24 @@
 eName);%0A    
- 
-  
 currentWorkf
@@ -1157,116 +1157,9 @@
 ED;%0A
-   %7D%0A%7D;%0A%0Avar utilHandlers = %7B%0A    'affirmativeIntent': function () %7B%0A        doAffirmativeAction();%0A    %7D%0A%7D;
+%7D
 %0A%0Afu
@@ -1458,24 +1458,252 @@
 k;%0A    %7D%0A%7D%0A%0A
+function doNegativeAction() %7B%0A    switch (currentWorkflowState) %7B%0A        case (WORKFLOW_STATES.START):%0A            break;%0A        case (WORKFLOW_STATES.RECIPE_PROPOSED):%0A            suggestRecipe();%0A            break;%0A    %7D%0A%7D%0A%0A
 function tel

Add in negative response actions