Skip to content

Latest commit

 

History

History
97 lines (85 loc) · 3.06 KB

Steps.md

File metadata and controls

97 lines (85 loc) · 3.06 KB

= Building a New Alexa Skill

== Template

  1. Start Fresh with a new template

== Package

  1. Fill out package.json, at a minimum:
    • name
    • description
  2. Fill out config/lambda-config.js

== Brainstorm

  1. Edit Examples.txt and brainstorm interactions between a user and the skill
    1. Start with simple queries
    2. Add wording variations
    3. Envision where slots would be and create examples that use slots
    4. Move on to interactive examples (much more difficult to code)

== Create Intents === Structure

  1. Using the simple examples, create an Intent named by the intended output === Utterances
  2. Start to fill in the utterances; use alternation where possible
  3. Add potential slots to the utterances for that intent
  4. Repeat for other intents that generate different types of responses ==== Test
  5. Use the UI to test the utterances your code generates

== Add Code

== Test via UI

== Build Alexa Skill

=== Generate Assets

  1. gulp build-assets

== Connect to AWS === Credentials

  1. Create a new user (alexa-skill-author)
  2. Permissions: AWSLambdaFullAccess (can tweak)
  3. Add to ~/.aws/credentials, use "new user" profile name

== Add New Lambda Endpoint

  1. Log into AWS Management Console https://console.aws.amazon.com/console/home?region=us-east-1#
  2. Click on Lambda
  3. Create a Lambda function
    1. Select blueprint Blank Function
    2. Configure triggers Click on dotted outline (empty) box and select Alexa Skills Kit
    3. Configure function
      1. Configure function
        1. Input Name (same as in lambda-config.js)
        2. Input Description
        3. Leave Runtime as Node.js 4.3
      2. Lambda function code will upload code later
        1. Code entry type: Edit code inline
        2. Leave sample Lambda function code
        3. Set any necessary environment variables
      3. Lambda function handler and role
        1. Handler: index.handler
        2. Role: Choose an existing role
        3. Existing role: lambda_basic_execution
      4. Advanced settings
        1. Memory (MB): 128
        2. Timeout: 0 min 3 sec
        3. DLQ Resource: None
        4. VPC: No VPC
        5. KMS key: (default) aws/lambda
    4. Create function == Add New Skill in Amazon Developer Console
  4. Create Skill
    1. https://developer.amazon.com/home.html
    2. Click on ALEXA tab (top)
    3. Click on Alexa Skills Kit -- Get Started > button
    4. Click on Add a New Skill button (top right)
  5. 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
    1. Press Next button (bottom right)
  6. Fill Out Interaction Model Must have previously generated assets with gulp build-assets
    1. Copy contents of assets/speech/IntentSchema.json and paste into Intent Schema
    2. Copy contents of assets/speech/SampleUtterances.txt and paste into Sample Utterances
  7. Fill Out Configuration tab Service Endpoint Type: AWS Lambda ARN, North America -- fill in ARN Account Linking: No