= Building a New Alexa Skill
== Template
- Start Fresh with a new template
== Package
- Fill out package.json, at a minimum:
- name
- description
- Fill out config/lambda-config.js
== Brainstorm
- Edit Examples.txt and brainstorm interactions between a user and the skill
- Start with simple queries
- Add wording variations
- Envision where slots would be and create examples that use slots
- Move on to interactive examples (much more difficult to code)
== Create Intents === Structure
- Using the simple examples, create an Intent named by the intended output === Utterances
- Start to fill in the utterances; use alternation where possible
- Add potential slots to the utterances for that intent
- Repeat for other intents that generate different types of responses ==== Test
- Use the UI to test the utterances your code generates
== Add Code
== Test via UI
== Build Alexa Skill
=== Generate Assets
gulp build-assets
== Connect to AWS === Credentials
- Create a new user (alexa-skill-author)
- Permissions: AWSLambdaFullAccess (can tweak)
- Add to ~/.aws/credentials, use "new user" profile name
== Add New Lambda Endpoint
- Log into AWS Management Console https://console.aws.amazon.com/console/home?region=us-east-1#
- Click on Lambda
- Create a Lambda function
- Select blueprint Blank Function
- Configure triggers Click on dotted outline (empty) box and select Alexa Skills Kit
- Configure function
- Configure function
- Input Name (same as in lambda-config.js)
- Input Description
- Leave Runtime as Node.js 4.3
- Lambda function code
will upload code later
- Code entry type: Edit code inline
- Leave sample Lambda function code
- Set any necessary environment variables
- Lambda function handler and role
- Handler: index.handler
- Role: Choose an existing role
- Existing role: lambda_basic_execution
- Advanced settings
- Memory (MB): 128
- Timeout: 0 min 3 sec
- DLQ Resource: None
- VPC: No VPC
- KMS key: (default) aws/lambda
- Configure function
- Create function == Add New Skill in Amazon Developer Console
- Create Skill
- https://developer.amazon.com/home.html
- Click on ALEXA tab (top)
- Click on Alexa Skills Kit -- Get Started > button
- Click on Add a New Skill button (top right)
- Fill Out Skill Information Form
Skill Type: Custom Interaction Model
Language: English (U.S.)
Name: Code Camp Tweets
Invocation Name: code camp tweets
Audio Player: No
- Press Next button (bottom right)
- Fill Out Interaction Model
Must have previously generated assets with
gulp build-assets
- Copy contents of assets/speech/IntentSchema.json and paste into Intent Schema
- Copy contents of assets/speech/SampleUtterances.txt and paste into Sample Utterances
- Fill Out Configuration tab Service Endpoint Type: AWS Lambda ARN, North America -- fill in ARN Account Linking: No