Funny Insults is a rather simple skill but the primary motivation to build the skill is to learn and understand the Alexa-Conversations skill development paradigm.
What it does
The skill has an in-built repository of witty / amusing insults. When a user opens the skill, a random insult is chosen and rendered to the user.
How I built it
My primary motivation behind building this skill is to understand Alexa-Conversations. I read through all the developer documentation and tutorials to understand dialogs, dialog acts, APIs and utterance sets. I then set about building the conversation model and eventually got a successfully building model. I also leveraged APL-A to write the prompts.
Challenges I ran into
Alexa-Conversations doesn't support certain things I'm used to in the traditional intent based skills. For ex, there is no way for developers to decide is a session should end or not. I now understand why but it was a challenge to shift my mind to think about skills in a different way.
Accomplishments that I'm proud of
I'm glad to have built this entire skill in a new Alexa-Conversations style in about a day. It speaks to the depth of developer documentation and the heavy lifting done by the AI.
What I learned
I feel like I gleaned into how Alexa works internally. It is easy to imagine that Alexa's internal systems are pretty much modeled like this. To be able to see dialogs, utterances and their interactions was quite educative.
What's next for Funny Insults
I intend to expand it to have an APL (visual) integration. I also intend to expand it into locales beyond en_US. This will help me understand how to build a skill with both conversations and traditional intent support.