• This repository has been archived on 01/May/2023
  • Stars
    star
    113
  • Rank 310,115 (Top 7 %)
  • Language
    JavaScript
  • License
    Other
  • Created almost 5 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Support code for "Zero to Hero": A comprehensive course to building an Alexa Skill

Zero to Hero: A comprehensive course to building an Alexa Skill

Support code for "Zero to Hero: A comprehensive course to building an Alexa Skill", an ASK training course in multiple languages. This is progressive code that starts from scratch and adds features on each module. The Learn more links below are suitable for learning (and teaching) how to code Alexa skills (see the README file on each module for video links and instructions on how to evolve the code departing from the previous module).

Zero to Hero, Part 1: Alexa Skills Kit Overview

  1. Development and Production Lambda Stages (AHS branches)
  2. Lambda Dependencies (package.json, requires in code)
  3. Handler as processor of incoming requests. Handler structure
  4. Request Types (LaunchRequest, IntentRequest, SessionEndedRequest)
  5. Skill Builder (custom vs standard) and its functions
  6. Reflector (catch all intent handler)
  7. Out-of-domain utterances (*)

Learn more

Zero to Hero, Part 2: Skill Internationalization (i18n), Interceptors & Error Handling

  1. Multiple models per locale
  2. Key/value string resources for i18n
  3. Enriching handlerInput with t function via interceptor
  4. Attribute manager as key/value store
  5. High level attribute types (session(short term), persistent(long term))
  6. Changing locale on Build tab and on Test tab (test both locales)

Learn more

Zero to Hero, Part 3: Slots, Slot Validation & Automatic Dialog Delegation

  1. Slots explanation
  2. Built in and custom slot types
  3. Synonyms (minimal, we're not using synonyms, eg. January -> first month)
  4. Required Slots & Prompts
  5. Slot Validation
  6. Auto-Delegate, Dialog Delegation Strategy
  7. Utterance Profiler
  8. Intent Confirmation
  9. Basic Intent Chaining

Learn more

Zero to Hero, Part 4: Persistence

  1. Session attributes
  2. Persistent attributes
  3. Persistence adapters (S3 and DynamoDB) / detect if lambda is Alexa hosted
  4. Copy session attributes to and from persistent attributes via interceptors
  5. Async/await
  6. Session counter (to say eg. "welcome back")

Learn more

Zero to Hero, Part 5: Accessing ASK APIs

  1. Service API (User Profile API - given name)
  2. Settings API (timezone)
  3. SSML (speechcons and audio files)
  4. Array capable localisation interceptor
  5. String replacement with plurals support

Learn more

Zero to Hero, Part 6: Reminders API

  1. Reminders API
  2. AMAZON.SearchQuery
  3. Intent Confirmation (again)

Learn more

Zero to Hero, Part 7: Accessing External APIs

  1. Fetch external API (async/await)
  2. Progressive Response

Learn more

Zero to Hero, Part 8: Alexa Presentation Language (APL), Part 1

  1. APL RenderDocument and APL Directive
  2. APL Databinding and APL Authoring Tool
  3. APL Styles, Layouts and ViewPorts
  4. APL Transformers (Text to Hint)
  5. Home Cards
  6. Media storage in Alexa-hosted Skills

Learn more

Zero to Hero, Part 9: Alexa Presentation Language (APL), Part 2

  1. APL Authoring Tool
  2. APL Layouts & Sequences
  3. APL Transformers (Text to Hint)
  4. APL Touch Wrapper

Learn more

Zero to Hero, Part 10: The ASK Command Line Interface (CLI)

  1. Configuring the ASK-CLI with personal AWS account support
  2. Cloning an Alexa Hosted Skill
  3. Editing a skill in code and deploying the skill

Learn more

Zero to Hero, Part 11: Publishing

  1. Distribution tab in developer console
  2. Skill metadata for publication
  3. Submitting a skill for certification

EN/DE/FR/IT (EN version includes the following subtitles: EN, DE, PT)

License

This library is licensed under the Amazon Software License

More Repositories

1

skill-sample-nodejs-fact

Build An Alexa Fact Skill
JavaScript
1,138
star
2

alexa-smarthome

Resources for Alexa Smart Home developers.
Python
682
star
3

skill-sample-nodejs-adventure-game

This tool provides an easy to use front-end that allows developers to instantly deploy code for your story, or use the generated code as a starting point for more complex projects.
HTML
510
star
4

skill-sample-nodejs-audio-player

An Alexa Skill Sample showing how to play long form audio in 3P-skills
JavaScript
458
star
5

skill-sample-nodejs-quiz-game

An Alexa Skill Sample showing how to build a quiz game skill.
JavaScript
262
star
6

skill-sample-nodejs-trivia

JavaScript
258
star
7

skill-sample-nodejs-howto

This tutorial will walk first-time Alexa skills developers through all the required steps involved in creating a parameter-based skill using a template called ‘Minecraft Helper’. Ask how to craft an item, and this skill will give you instructions.
JavaScript
245
star
8

skill-sample-nodejs-hello-world

JavaScript
206
star
9

skill-sample-nodejs-city-guide

An Alexa Skill Sample showing how to build a skill featuring a single city's landmarks and news.
JavaScript
197
star
10

skill-sample-nodejs-decision-tree

An Alexa Skill Sample that progresses through a series of questions and then provides a career suggestion. Demonstrates an 'expert system' approach as opposed to a 'branching tree' approach.
JavaScript
166
star
11

skill-sample-python-first-skill

This Alexa Skills Kit sample skill shows how to build a simple skill called Cake Time that counts down the number of days until the customer's birthday.
Python
141
star
12

skill-sample-python-fact

An Alexa Skill Sample showing how to build a fact skill in Python.
Python
119
star
13

skill-sample-nodejs-feed

An Alexa Skill Template to help create skills that read RSS/Atom feeds.
JavaScript
105
star
14

skill-sample-nodejs-highlowgame

The high low game is a game where the player tries to guess the target number. After each incorrect guess, the player is informed if the target number is higher or lower than their current guess. This continues until the target number is guessed or the player gives up. This sample Alexa Skill is written in Node.js and demonstrates the use of session and persistent attributes.
JavaScript
104
star
15

skill-sample-nodejs-petmatch

This Alexa Skill Kit sample shows how to build a skill using Dialog Management and Entity Resolution.
JavaScript
99
star
16

Alexa-Gadgets-Raspberry-Pi-Samples

This repository enables you to prototype an Alexa Gadget using Raspberry Pi. It includes Python-based software, sample projects, and step-by-step instructional guides that walk you through how to use key features of the Alexa Gadgets Toolkit to create new, engaging customer interactions with gadget devices.
Python
91
star
17

skill-sample-python-helloworld-classes

This tutorial will walk first-time Alexa skills developers through all the required steps involved in creating a skill using this hello world template, called ‘hello world’. This post assumes you have some familiarity with Python (or a similar programming language) and the Alexa Skills Kit.
Python
73
star
18

skill-sample-node-device-address-api

This is a sample skill written in JavaScript that demonstrates how to use device ID and the API endpoint values to make a request to the Alexa Device Address API.
JavaScript
67
star
19

skill-sample-python-quiz-game

An Alexa Skill Sample showing how to build a quiz game skill in Python.
Python
61
star
20

skill-sample-nodejs-fact-in-skill-purchases

Demonstrates how to use the new in-skill purchasing (ISP) features of Alexa skills by offering different packs of facts behind a purchase, and a subscription to unlock all of the packs at once
JavaScript
60
star
21

skill-sample-python-audio-player

This project demonstrates the use of Alexa Audio Player for skills, using the ASK Python SDK
Python
56
star
22

skill-sample-nodejs-smarthome-switch

This is a basic Alexa Smart Home skill sample that implements a virtual switch. It shows the discovery and directive handling process for a virtual device implementing Alexa Smart Home switch capabilities.
JavaScript
56
star
23

skill-sample-nodejs-team-lookup

An Alexa Skill Sample showing how to build a team lookup skill.
JavaScript
46
star
24

skill-sample-nodejs-first-skill

This Alexa Skills Kit sample skill shows how to build a simple skill called Cake Time that counts down the number of days until the customer's birthday.
JavaScript
44
star
25

skill-sample-python-smarthome-switch

This is a basic Alexa Smart Home skill sample that implements a virtual switch. It shows the discovery and directive handling process for a virtual device implementing Alexa Smart Home switch capabilities.
Python
43
star
26

skill-sample-nodejs-the-foodie

This Alexa Skills Kit sample shows how to build a conversational skill.
JavaScript
41
star
27

skill-sample-csharp-fact

An Alexa Skill Sample showing how to build a fact skill in C#.
C#
39
star
28

Alexa-Gadgets-Embedded-Sample-Code

C sample code for assisting developers to develop Alexa Gadgets for embedded platforms
C
37
star
29

skill-sample-nodejs-web-api-my-cactus

JavaScript
34
star
30

skill-sample-nodejs-test-automation

This sample skill demonstrates how to automate testing an Alexa Skill.
JavaScript
32
star
31

skill-sample-nodejs-buttons-trivia

This is a sample trivia skill that will allow developers to get a head start on their trivia games using Echo Buttons. It allows for roll-call of the players, asking trivia questions, and determining whether the voice inputs matched the answers.
JavaScript
32
star
32

skill-sample-nodejs-salesforce

This project demonstrates how to build an Alexa private skill that integrates with your Salesforce data, utilizing account linking and a personal voice code.
JavaScript
31
star
33

skill-sample-nodejs-responsive-layouts

Alexa Presentation Language (APL) tutorial skill demonstrate Alexa Responsive Components and Responsive Templates and how to use them. Simply open the skill and follow the instructions from there.
JavaScript
30
star
34

alexa-oauth-sample

A sample code for Alexa Skill developers to set up an OAuth 2.0 server.
Java
29
star
35

skill-sample-java-quiz-game

An Alexa Skill Sample showing how to build a skill using V2 of the Java SDK
Java
28
star
36

skill-sample-python-city-guide

This Alexa sample skill is a template for a basic city-guide skill. Provided some data about a city's restaurants, attractions, Alexa will recommend a restaurant based on the meal type or recommend an attraction. It can also suggest the current temperature and weather conditions of the city.
Python
28
star
37

skill-sample-python-smarthome-sandbox

This is Alexa skill sample code for showing how several areas of a Smart Home model come together to define and provide endpoint devices using Lambda, IoT Core, DynamoDB, and API Gateway services.
Python
26
star
38

skill-sample-nodejs-college-finder

This is a complex Node.js sample skill with examples of DynamoDB integration, display templates, dialog management, state management, contextual help and errors, and entity resolution.
JavaScript
25
star
39

skill-sample-python-petmatch

Pet Match matches the user with a pet. When launched, this Alexa Skill will prompt the user for the information it needs to determine a match. Once all of the required information is collected, it will send the data to an external web service which processes the data and returns the match. Through this workshop, you will learn how to use advanced Alexa Skills Kit features to create and configure an Alexa Skill and AWS Lambda.
Python
23
star
40

skill-sample-nodejs-berry-bash

Demonstrates the use of interactive render template directives through multi modal screen design.
JavaScript
22
star
41

skill-sample-java-fact

An Alexa Skill Sample to demonstrate how to write skills for Echo Show and Echo Spot in Java using the Alexa Skills Kit (ASK) SDK v2
Java
21
star
42

alexa-guided-walkthrough-using-node-sdk

Code walkthrough guides to show the ins and outs of the new SDK by providing a step-by-step code overview of the new features. We will also build a new skill from scratch, bit by bit, as we progress through the series.
JavaScript
20
star
43

skill-sample-python-trivia

An Alexa Skill Sample showing how to build a trivia skill in Python. (This sample does not use the beta version of the Alexa Skills Kit SDK for Python.)
Python
20
star
44

alexa-video-multimodal

This repository contains sample code and reference materials for Alexa Video Skills for Echo Show. For technical issues using this repository please reach out to https://forums.developer.amazon.com/spaces/232/video-skills-kit-vsk.html or through https://developer.amazon.com/alexa/console/contact-us
JavaScript
20
star
45

skill-sample-nodejs-first-apl-skill

This Alexa Skills Kit sample skill extends the original simple skill that counts down the number of days until the customers birthday with visuals using Alexa Presentation Language.
JavaScript
19
star
46

skill-sample-python-howto

This tutorial will walk first-time Alexa skills developers through allthe required steps involved in creating a parameter-based skill using atemplate called ‘Minecraft Helper’. Ask how to craft an item in thegame Minecraft, and this skill will give you instructions.
Python
19
star
47

alexa-presentation-language-apl-button-and-voice-interactivty-demo

JavaScript
19
star
48

skill-sample-python-highlowgame

The high low game is a game where the player tries to guess the target number between 1 to 100. After each incorrect guess, the player is informed if the target number is higher or lower than their current guess. This continues until the target number is guessed or the player gives up. This sample Alexa Skill is written in Python and demonstrates the use of session and persistent attributes.
Python
19
star
49

skill-sample-nodejs-buttons-colorchanger

Color Changer buttons skill opens with buttons roll call and asks the user to push buttons to change their colors with various animations. It covers roll call, starting and stopping the Input Handler, and defining animations for different button events. It also demonstrates how Echo Buttons can interrupt text-to-speech (TTS).
JavaScript
19
star
50

skill-sample-nodejs-premium-hello-world

An Alexa sample skill that demonstrates how to use In-Skill Purchasing (ISP) features by offering a "Greetings Pack” and a “Premium Subscription that greets the customer in a variety of languages in different accents using Amazon Polly.
JavaScript
18
star
51

skill-sample-csharp-smarthome-switch

This is a basic Alexa Smart Home skill sample that implements a virtual switch. It shows the discovery and directive handling process for a virtual device implementing Alexa Smart Home switch capabilities.
C#
18
star
52

skill-sample-nodejs-linked-profile

Sample custom skill which demonstrates account linking. The linked accounts are from an Amazon Cognito user pool.
JavaScript
17
star
53

skill-sample-python-helloworld-decorators

This tutorial will walk first-time Alexa skills developers through all the required steps involved in creating a skill using this hello world template, called ‘hello world’. This post assumes you have some familiarity with Python (or a similar programming language) and the Alexa Skills Kit. This tutorial provides an alternate way to build Alexa skills using python decorators. If you are interested in developing skills using classes, please look at the skill-sample-python-helloworld-classes sample.
Shell
17
star
54

skill-sample-python-fact-in-skill-purchases

Demonstrates how to use the new in-skill purchasing (ISP) features of Alexa skills by offering different packs of facts behind a purchase, and a subscription to unlock all of the packs at once.
Python
16
star
55

skill-sample-java-smarthome-switch

This is a basic Alexa Smart Home skill sample that implements a virtual switch. It shows the discovery and directive handling process for a virtual device implementing Alexa Smart Home switch capabilities.
Java
16
star
56

skill-sample-controls-fruit-shop

JavaScript
13
star
57

alexa-skills-kit-intent-validator

This package provides a stub lambda function to use to test your Alexa interaction model from your Alexa-enabled device.
JavaScript
13
star
58

skill-sample-nodejs-buttons-hellobuttons

Hello World buttons skill opens with buttons roll call and asks the user to push two buttons. On button one press, she changes the color to red and on button two press she changes the color to blue. Then closes. This skill demonstrates how to send directives to, and receive events from, Echo Buttons.
JavaScript
13
star
59

skill-sample-csharp-quiz-game

An Alexa Skill Sample showing how to build a quiz game skill in C#.
C#
11
star
60

skill-sample-python-colorpicker

The color picker skill is a simple skill where alexa asks you to pick a color and responds back with the color you chose, when you ask it what is your favorite color. This sample Alexa Skill is written in Python and demonstrates the use of session attributes.
Python
11
star
61

skill-sample-nodejs-facts-aws-microservice

JavaScript
10
star
62

skill-sample-controls-hello-world

JavaScript
9
star
63

alexa-sample-fire-tv-app-only-integration

Java
9
star
64

skill-sample-nodejs-name-the-show

A sample skill which demonstrates the use of the consumable type of in-skill purchasing (ISP) within an Alexa skill. Search github.com/alexa for samples with other types of in-skill purchases.
JavaScript
9
star
65

skill-sample-smarthome-fireplace-python

An Alexa skill that simulates a virtual fireplace to illustrate the Alexa Smart Home Skill APIs.
JavaScript
8
star
66

community-templates

JavaScript
8
star
67

skill-sample-plant-care-widget

Sample Skill for Alexa Widget
JavaScript
8
star
68

skill-sample-nodejs-pet-tales

This sample shows how to build a skill with APL and APL for Audio
JavaScript
8
star
69

skill-sample-nodejs-multi

This is an Alexa skill sample that shows how to handle both custom and smart home requests for a skill that supports both models. It shows the discovery and request/response handling of a skill implementing Alexa custom and smart home capabilities
JavaScript
8
star
70

alexa-salesforce-notes-sample

This skill demonstrates how to build a private Alexa skill to access Salesforce data. This skill identifies a given opportunity then tracks a series of statements that a user gives, then posts those either as a note or as a Chatter post.
JavaScript
8
star
71

skill-sample-nodejs-web-api-hello-world

This is minimal sample of using the Alexa Web API for Games feature
JavaScript
7
star
72

alexa-skills-cicd-pipeline

A sample CICD Deployment Pipeline for your Alexa Skills, using AWS CDK, CodeBuild and CodePipeline
TypeScript
7
star
73

skill-sample-java-premium-hello-world

An Alexa sample skill in Java that demonstrates how to use In-Skill Purchasing (ISP) features by offering a "Greetings Pack” and a “Premium Subscription" that greets the customer in a variety of languages in different accents using Amazon Polly.
Java
7
star
74

skill-sample-java-city-guide

This Alexa sample skill is a template for a basic city-guide skill. Provided some data about a city's restaurants, attractions, Alexa will recommend a restaurant based on the meal type or recommend an attraction. It can also suggest the current temperature and weather conditions of the city. This sample Alexa Skill is written in Java and demonstrates the use of external API calls and localization for multiple locale.
Java
7
star
75

skill-sample-python-sauce-boss

Learn how to build a multimodal skill with APL.
Python
7
star
76

skill-sample-nodejs-cloudformation-guide

Intro and sample projects for Alexa Skills Kit (ASK) CLI's AWS CloudFormation deployer
JavaScript
6
star
77

skill-sample-nodejs-trivia-pal

Alexa Skill Sample to learn how to use advanced dialog management. It creates a trivia dynamically from an array of questions and answers
JavaScript
6
star
78

skill-sample-node-js-build-scale-test

An Alexa skill sample based the fact skill to demonstrate load testing.
6
star
79

skill-sample-java-how-to

This tutorial will walk first-time Alexa skills developers through all the required steps involved in creating a parameter-based skill using a template called ‘Minecraft Helper’. Ask how to craft an item in the game Minecraft, and this skill will give you instructions. This sample Alexa Skill is written in Java and demonstrates the use of localization for multiple locales.
Java
6
star
80

skill-sample-nodejs-demo-store-amazon-pay

This demo store showcases how to integrate Amazon Pay into your shopping experiences on Alexa.
JavaScript
5
star
81

skill-sample-csharp-trivia

An Alexa Skill Sample showing how to build a trivia skill in C Sharp
C#
5
star
82

skill-sample-nodejs-alexa-conversations-weather-bot

JavaScript
5
star
83

skill-sample-nodejs-alexa-conversations-pet-match

This skill was built with Alexa Conversations and recommends dogs through a multi-turn conversation.
JavaScript
5
star
84

alexa-smart-home-e2e-solution-workshop

JavaScript
4
star
85

ama-sample-client

Alexa Mobile Accessory (AMA) Sample Client
C++
4
star
86

skill-sample-python-send-change-report

Python
4
star
87

skill-sample-acdl-flightsearch-tutorial

JavaScript
3
star
88

skill-sample-python-multi

Python
3
star
89

apl-video-demo

JavaScript
3
star
90

skill-sample-nodejs-shopping-actions

Sample skill with handlers for the Add to Cart and Buy Product actions in the Alexa Shopping Actions feature.
JavaScript
3
star
91

skill-sample-java-highlowgame

The high low game is a game where the player tries to guess the target number between 1 to 100. After each incorrect guess, the player is informed if the target number is higher or lower than their current guess. This continues until the target number is guessed or the player gives up. This sample Alexa Skill is written in Java and demonstrates the use of session and persistent attributes.
Java
3
star
92

skill-sample-nodejs-multistream-audio-player

JavaScript
3
star
93

skill-sample-nodejs-gift-idea

Alexa Skill Sample to learn how to use advanced dialog management
JavaScript
3
star
94

progressive-response-demo

JavaScript
2
star
95

reminders-demo

JavaScript
2
star
96

error-notification-sample-skill

JavaScript
2
star
97

alexa-samples-pin-confirmation

This sample demonstrate how to use new Pin Confirmation feature of Alexa skills to inform user to provide voice pin to proceed further with skill functionality.
JavaScript
2
star
98

skill-sample-python-buttons-hellobuttons

This is a sample skill used to show 3P developers how to develop for Echo Buttons. It is the exact same functionality as the existing alexa/skill-sample-nodejs-buttons-hellobuttons except this one is written using the Python ASK SDK.
Python
2
star
99

skill-sample-python-intro-to-alexa-conversations

Python
1
star
100

amazon-kendra-skill-sample-python

Python
1
star