5. Alexa Skill - When all you need is a
Invoking a skill:
● Alexa, ask / tell <Skill Name> <Utterance>
○ <Utterance>
○ ..
● Alexa, open <Skill Name>
○ <Utterance>
○ ..
● Help
● Cancel / Stop
6. Alexa Skill - When all you need is a
Where is us-east-1?
7. Alexa Skill - When all you need is a
Phases:
● Development
● Testing
● Versioning - arn:aws:lambda:..:WhereIs:1
● Certification
● Monitoring
● Alarming
8. Alexa Skill - When all you need is a
Testing:
● Skill Testing
9. Alexa Skill - When all you need is a
Testing:
● Skill Testing
● Lambda test event
10. Alexa Skill - When all you need is a
Testing:
● Skill Testing
● Lambda test event
● Echosim.io
11. Alexa Skill - When all you need is a
Testing:
● Skill Testing
● Lambda test event
● Echosim.io
● Alexa
12. Alexa Skill - When all you need is a
Testing:
● Skill Testing
● Lambda test event
● Echosim.io
● Alexa
● aws lambda invoke
● ask api invoke-skill
13. Alexa Skill - When all you need is a
How Far:
● Alexa, ask How Far is Yellowstone Park?
○ <Destination>
○ <Destination> from <Origin>
○ How Far is <Destination> from <Origin>
14. Alexa Skill - When all you need is a
How Far:
● Alexa, ask How Far is Yellowstone Park?
○ <Destination>
○ <Destination> from <Origin>
○ How Far is <Destination> from <Origin>
● Anything else becomes a <Destination>!
○ “Garbage” in, garbage out
15. Alexa Skill - When all you need is a
● Batman House
● North Korea
● Jamaica
● New Delhi
● Erevan
● Good morning
● Thank you
● You suck?
16. Alexa Skill - When all you need is a
● Batman House
● North Korea
● Jamaica
● New Delhi
● Erevan
● Good morning
● Thank you
● Issaquah!
17. Alexa Skill - When all you need is a
State management:
● Application state
○ const ALEXA_ENDPOINT = 'api.amazonalexa.com';
● Session state / cache:
○ this.attributes.sessionStarted = Date.now();
○ Session stats, “Default Origin” cache
○ Multi-turn dialogs or skill’s state machine
● userId / deviceID state:
○ const dynamodb = new AWS.DynamoDB();
18. Alexa Skill - When all you need is a
Testing:
● Skill Testing
● Lambda test event
● Echosim.io
● Alexa
● aws lambda invoke
● ask api invoke-skill
19. Alexa Skill - When all you need is a
Gotchas:
● emit(response) ends Lambda function
● HTTP errors, timeouts, retries, alarming on metrics
●
20. Alexa Skill - When all you need is a
Tools & Friends:
● Alexa2Lambda
● Echosim.io
● alexafsm
● Skill metrics
● CloudWatch - Logs, Dashboard, Metrics, Alarms
● SNS + Pushover (poor man on-calls)
● Bespoken.io - local Skill development (+ logging/monitoring)
21. Alexa Skill - When all you need is a
Wish List:
● Built-in HTTP client (errors, timeouts, retries)
● Errors reporting, alarming on “graceful failures”
● Built-in testing with certification checklist
● CI / Canary testing with sample utterances
● Proper communication channel with skill users!
○ Forum, announcements, skill guide
○ Allow to reply to reviews
● Version control when enabling (v1, v2, $LATEST)
22. Alexa Skill - When all you need is a
Where to go for more:
● developer.amazon.com/alexa-skills-kit
● github.com/alexa/alexa-cookbook
● github.com/evgeny-goldin/how-far-alexa-skill
● youtube.com/c/alexadevelopers
● developer.amazon.com/blogs/alexa/tag/Alexa
● forums.developer.amazon.com/spaces/165/index.html
● ASK CLI and API
● References: SSML, Request, Request / Response
● hackster.io/amazon-alexa