Publication Date: 7/10/17 – This past weekend while working on a new skill, I decided to give the Skill Builder BETA tool a try. I generally code everything the old fashioned way, but thought I should at least familiarize myself with this tool. In working with it I found a Skill Builder BETA bug, and figured I’d share.
What The Tool Does
It’s the same concept as what you find in any visual code builder/editor tool: a greatly simplified interface allows the user to create objects and set properties and parameters, then spits out the code. In this case, the tool is used to simplify and streamline the process of building the interaction model.
It’s important to know that once you’ve decided to use the tool, that will be your default view for Interaction Model in the detail view of the skill from that point on, you can’t ‘turn off’ the tool and revert to manual text entry or upload for creating or building your Interaction Model anymore.
When you launch the tool, the first option you see in the right-hand panel of the Dashboard is Intents:
Click or tap Add an Intent + to add a custom Intent to your interaction model:
Here’s where the gotcha is lying in wait. Be VERY careful when creating a custom intent that the name you give it matches the name as it appears in your code EXACTLY, because you will not be able to change it in the Builder later on.
You may be thinking that you can just open up the Code Editor panel and correct it there:
…but it doesn’t work. Your change to the Intent name will appear to be saved, but it’s not. And there’s no way to edit the name field itself after the Intent has been created.
How To Recognize The Bug When It Happens To You
I spent a good half hour pulling my hair out over this before I figured out what the problem was.
If your code tests out fine in Lambda but you’re getting ‘there was a problem reaching the skill’s endpoint’ in the developer portal test simulator and a ‘there was a problem…’ response from Alexa when trying to run the skill from a device, this may be your issue.
This is why they call it BETA: if you’re going to use the Builder tool, be extra-vigorous in your code review and testing, because there may yet be some unsurfaced issues with this tool.