AWS Alexa Skill Builder Essentials
Python Development Training Architect II
Welcome to Linux Academy's AWS Alexa Skill Builder Essentials course. In this course we will explore the essentials necessary to develop an Alexa Skill.How do we make an Alexa conversation seem like a natural conversation? What is the Interaction Model? How can we display information on an Alexa device's screen?
Additionally, you will learn how to use custom slots and intents to make Alexa a dialog partner with your users.
By the end of this course, you will be comfortable building, deploying, and reviewing Alexa skills.
This course covers the essentials for developing an Alexa skill using the command line interface. We will use the Alexa Skills Kit Command Line Interface (ASK CLI). In preparation for this course, you should have some experience with a programming language, some AWS experience, and either an IDE or ablility to use Vim or Nano at the command line. Please create an AWS developer account.
About the Author
Learn all you ever wanted to know about Training Architect Larry Fritts.
Alexa Skill Components
Interaction Model and Intents
The interaction is the "brains" of the Alexa skill. It provides the information needed by Alexa's natural language processing to turn a user's utterance into a response, answering the user. In this lesson, we look at an example interaction model and explore the invocation name and intents. The interaction model is a JSON object, as are the requests and responses, so we spend some time learning to read and write JSON objects. We also explore how, through nesting, massive amounts of data can be passed quickly and efficiently between disparate parts of Alexa skill application. Lesson Links Interaction Model Documentation
User Utterances and Natural Language Processing
In this lesson, we learn the parts of a user utterance and explore how it is used in the natural language processor. We will build on our knowledge of the interaction model and how it is used to match to parts of the utterance.
Intent Triggered Lambda Functions
In this lesson, we look at example Lambda functions and explore how they use the request JSON object to determine which function should run.
Specifically, we discuss the
handle methods, as well as briefly cover how to build a response JSON object.
Alexa Skills Kit Command Line Interface (ASK CLI)
In this lesson, we cover the Alexa Skills Kit Command Line Interface and its use by a Skill Builder. We discuss the most commonly used commands — as well as a couple that are not so commonly used.
We explore these commands by deploying a simple skill and using
ask-cli to test it.
Capturing Data from User Utterances
In this lesson, we create a skill with a custom intent that allows a child to pretend Alexa is a fairy godmother and can turn them into an animal.
We also talk about the
skills.json file we need to alter prior to our first deploy of a skill.
Custom Intents Documentation
It is time to make our Fairy Godmother skill more interactive and fun for the kids using it. Here, we introduce slots and look at using those slots to capture user data and make our Alexa skills more interesting and entertaining. Lesson Links Custom Slot DocumentationCustom Slot Types Documentation
Improving the User Experience
Skill Sessions and Multi-Turn Conversations
In this lesson, we talk about skill sessions and how to keep Alexa listening for more information from the user after she has returned a response.
We explore the
shouldEndSession flag and
.reprompt as ways of keeping Alexa engaged with the user.
Dialog Directive and Entity Resolution: Part 1
In this lesson, we begin to talk about the dialog directive. This provides a better user experience, allowing the user to interact with Alexa via a more natural conversation style. This is an important concept and will result in more satisfied users with your skill.
Dialog Directive and Entity Resolution: Part 2
In the second part of this lesson, we explore entity resolution in detail. We explore its use and why it exists, as well as how to use it. It is a natural part of the dialog directive, but it does not stop us from getting at what the user truly said while also allowing us to categorize user responses.
Using Cards to Display Information
In this lesson, we talk about providing text for Alexa devices with a screen. Cards are used to provide information for the screen. It is important to note the only way to thoroughly test cards is with the Alexa app on your phone, either Android or iOS. Lesson Links Alexa Cards
Request, Session, and Persistent Attribute Scope: Part 1
In this lesson, we talk about attributes and how to keep data available for use later in other intents or other sessions of the skill. It is important to know the scope of the attributes so you know when they will be available and when they will disappear forever. We will examine the qualities of request, session, and persistent attributes and see an example of session attributes. Lesson Links Attribute Documentation
Request, Session, and Persistent Attribute Scope: Part 2
In this lesson, we continue exploring attribute scope.
Now Your Journey Begins
Where to Go from Here
There are a number of courses and labs to help you in building Alexa skills. The first will show employers you are skilled in AWS and could open many doors for future employment: Course: AWS Certified Solutions Architect - Associate Level The next few are aimed at specific skills that will help you better understand and build Alexa skills: Course: Lambda Deep DiveHands-On Lab: Testing and Debugging Lambda FunctionsCourse: Amazon DynamoDB Deep DiveHands-On Lab: Managing Data in S3 with Versioning and Lifecycle Rules
Take this course and learn a new skill today.
Transform your learning with our all access plan.Start 7-Day Free Trial