Learning the basics of building a skill in Alexa
Software Consultation and Development
Belief:
Hacking Love into the software development
Mission:
Building a better Future with Software
Your Conversational Interface
AKA
Chat-bot Builder Framework
"the alexa service"
Lamps
Intercoms
Trucks
Robots
Refrigerators
The Alexa Skills Kit is a collection of self-service APIs, tools, documentation and code samples that make it fast and easy for you to add skills to Alexa.
User Issues Command
"Alexa, tell me a
dog fact."
Parse text and determines Skill is "Dog Facts"
Send Http Post Request
with optional Json Payload to
Skill Endpoint
Convert Audio Command into Text
Alexa Host Device (Echo)
Preforms some action determined by post request
Sends post response with text and graphicical response (card)
Process Post Request
"Dog Fact"
Skill Endpoint
Web Service
Plays Audio
Send Card Graphics to Alexa Companion App
Convert Post Response into Audio and Graphics
Alexa Host Device (Echo)
User Listens to Response
User Views Card
Wake Word
Invocation
Intent
Alexa
Ask A Dog Fact
NONE
Alexa
Tell MyCare
I'm in Danger
Alexa
Open Jepardy
NONE
Alexa
Tell FreeBusy
My name is Terrance
Intent
/*
* An intent is the representation of some
* action that needs to be performed.
*/
{
"intent": "MyNameIsIntent", //<----Intent Name
"slots": [
{
"name": "Name",
"type": "LITERAL"
}
}
Slot
/*
* Slots are what you could consider
* as arguments for an intent.
*/
{
"intent": "MyNameIsIntent",
"slots": [ //<----Slot Array
{
"name": "Name", //<----Slot Name
"type": "LITERAL" //<----Slot Type
}
}
Full Intent JSON Listing
{
"intents": [
{
"intent": "MyNameIsIntent",
"slots": [
{
"name": "Name",
"type": "LITERAL"
}
]
},
{
"intent": "WhatsMyNameIntent",
"slots": []
}
]
}
Built-In Intents and Slots
Prefer Built-In Intents and Slots over custom
Phrases that you want your skill to be able to respond to.
MyNameIsIntent my name is {john|Name}
MyNameIsIntent I am {terrance|Name}
WhatsMyNameIntent whats my name
WhatsMyNameIntent what is my name
WhatsMyNameIntent say my name
WhatsMyNameIntent tell me my name
WhatsMyNameIntent tell me what my name is
Software Consultation and Development
Focus:
We Focus on Tech Empowerment for Humans
Belief:
Hacking Love into the software development
Mission:
Building a better Future with Software