How to build a skill for Alexa…

DSC_0195.JPG

I’ve had  Bose Wave Radio in my kitchen for close to ten years now. My aging Mother, who doesn’t see very well gave up on tv years ago and so her sole entertainment was this Bose radio. We would NPR on constantly and the various hosts kept her company throughout the day.

One day a few months ago, the Bose Wave just stopped working. I was a bit confused because even though we had it for close to a decade, I thought those things were supposed to last forever. I’m still working on getting the Wave fixed but I wanted an affordable replacement in the meantime.

I decided to get an Amazon Echo Dot. It cost just under $50 and I was intrigued by  the Dot’s AI function Alexa.

DSC_0186.JPG

I thought it would be helpful to be able to ask Alexa the time, weather, and what time the train would arrive. Alexa is capable of SO MUCH MORE! I can not only listen to my Spotify playlist and my favorite podcasts, but I can also listen to and play interactive stories all hands-free while I’m doing the dishes. Check out The Wayne Investigation…so much fun!

Anyway, Alexa has countless skills that you can enable to do all sorts of fun stuff! Amazon has been pretty open with the developer’s platform and they’ve made it super easy peasy to build your own skill. One of my favorite learning platforms A Cloud Guru has a free introductory Alexa course. It walks you through how to build three different skills for the Echo.

I decided to build a Flash Card skill to help me study for my AWS Solutions Architect exam. It sounded intimidating at first, but it’s actually easy peasy lemon squeezy.

So the first thing you need to do is head over to the Alexa Skills Github repository. Amazon has been pretty generous and have provided the source codes for TEN different skills all packed up nice and cute.

screenshot-2016-12-12-09-49-38

I downloaded all the skill files so I can eventually play around with all of them. I used ReindeerGames as the basis for my Flash Cards skill. Be sure to log into your AWS account AND the Alexa Developer Portal so you can create your skill. You need to make sure that all the accounts are the same and/or linked. Your AWS account, your Alexa App, and your Alexa Developer Portal must all be the same username.

In your AWS console, select the Lambda service.

screenshot-2016-12-12-10-34-46

You can see where I’ve created my Flash Card skill. Hit the blue button to create a new Lambda function.

screenshot-2016-12-12-11-17-42Select this Alexa skill kit as your blueprint.

Screenshot 2016-12-12 15.59.40.png

Select Alexa Skills Kit as your trigger and then hit next.

screenshot-2016-12-12-16-02-09

You’re now going to name your skill and add your code. You can just copy and paste the ReindeerGames source code you saved from Github. In the source folder of that file, there should be an index.js file. Open it with your fave text editor (mine is TextWrangler) and then edit the code to add the questions you want to be asked.

Screenshot 2016-12-12 20.11.06.png

After you’ve added your desired code create your Lambda function! Be sure to copy the ARN that will be created at this point. You’ll need that for the developer portal.

Head over to the developer portal and under the Alexa Skills Kit select ‘get started.’

You’ll then select ‘add a new skill’ you’ll then have to add your invocation name, your utterances and custom slot types. I’m planning to make another skill so I’ll do a full walkthrough of the developer portal then. I’m not able to upload my snippet of me being quizzed by Alexa. I need to do more studying, but I had fun making my very own skill!