Becoming an Amazon Alexa Skills Developer

Alexa Skills are the way to extend Alexa, either to integrate with another service or to add new features. Before you can create an Alexa Skill there are a couple of things you have to do.

  1. You need to register at the Amazon Developer Portal.  This will likely require an Amazon account, which you most likely already have.  This lets you into their Amazon developer portal, which also covers Fire TV and Fire Tablet development privleges. 
  2. You need to host the secure skill, just like a web site it when Amazon connect to your skill, it uses the https protocol.  Amazon has free accounts for Lambda functions as part of the AWS set of services, and you can register for a login to use them..  Don't let the name distract you.  In simple terms, when there is a request for your skill, a JavaScript function gets called to carry out the request.  That function is passed a JSON payload with everything you need to know about the skill request.

You can do this on your Windows, Mac, or Linux computer.  You only need a web browser and your favorite editor.  That is because you don't need to execute anything on your own system.  The downside to all this "do it in the cloud" is that you need to go through some effort to duplicate the hosting environment to debug the skill.   There are aways around this, and as the development environment matures, we are bound to see tools which make skill development easier.

Once you have those out of the way, you can deploy the code to AWS and set up information about your skill, including the voice commands used to carry out commands and be able to test them on your very own Echo (or Echo simulator).

Amazon has many Examples ready for you to deploy and review.   Start with one of the Examples that sounds the most interesting to you.  You'll find TEN examples, so check them out.  HelloWorld example is always a good place to get the bare bones minimum example of creating a skill.  ReindeerGames skill demonstrates a trivia quiz.  WiseGuy will tell jokes.  If you would like to see how to do a flash card skill see ChemistryFlashCards.  TidePooler will scrape content from a remote web site.  Here is a great summary page that gives you an idea of the concepts you'll learn in each example.

They all require about equal skill, and you will learn all the information you need to provide. You can (and should) use your own Alexa device (Amazon EchoDot or Tap or FireTV) to test out your Alexa Skills.  If you want let other people use them, you must the Skil to Amazon for certification.

AWS Not Required

You don't have to use AWS to hosting your skill.  However, you must find a host that can serve secure content, specifically over https.   It means you need to get a certificate and do some additional setup.

Lambda functions support not just JavaScript, but also Java, Python and C#.  There are a ot of examples in Java (running in Lambda functions) too, if you prefer.  There are examples in many different languages out there, if you look.  There is a template in Python.  You'll find C# covered.

In my experience, going through the sample examples using JavaScript and Node.js is useful, because if you are looking at how to implement something, all Amazon examples use this environment of AWS/Lambda functions JavaScript with Node.js.  Later, it is certainly best to go with what you are most familiar with.  At the end of the day, your skill takes a JSON payload and then returns a JSON payload.  

The Amazon skills examples use JavaScript with Node.js on Lambda functions.  So, it is useful to understand the process, as is.  Then it is easier to apply what you know about your preferred environment into how it all works.  

 

I hope this gave you some useful information about how to become active with writing your own skills.

 

Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
1 + 10 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.