Three ways for you to build skills with Alexa

Ayumu Suzuki Dec 06, 2022
Share:
Alexa Skills
Blog_Header_Post_Img

Providing selection and choice is one of our guiding philosophies at Amazon – be it for the extensive product selection on our storefront, or in enabling developers with multiple tools to build with Alexa.

When it comes to building Alexa skills, you can build skills end-to-end in three ways: through either the Alexa developer console, the Alexa Skills Kit Command Line Interface (ASK CLI), through the Skill Management API (SMAPI), or using a combination of the three. We also offer additional coding tools like the Alexa Skills Kit (ASK) SDK and ASK Toolkit for Visual Studio (VS) Code for easier skill development.

This article provides insights on additional capabilities on the skill building tools listed above.

1.     Alexa Developer Console

The Alexa developer console provides a streamlined experience to help you create, manage, and publish skills. It is a one-stop-shop for new and experienced skill developers alike. The console provides almost everything for Alexa skill development in one place. This tool allows you to build voice models, write code, access AWS resources, test, submit skills for certification and see analytics for your skills. You can access the Alexa developer console as soon as you create an Amazon developer account. 

2.     Alexa Skills Kit Command Line Interface (ASK CLI)

The Alexa Skills Kit Command Line Interface (ASK CLI) helps you perform most Alexa skills-related tasks from the command line. With the ASK CLI, you can create new skills, update and build your skill’s interaction model, deploy your code and build models to either Alexa-hosted or AWS endpoint. The ASK CLI also enables you to test and publish your skills.

You can get creative with visuals using Alexa Conversations Design Language (ACDL) through the ASK CLI. With the ASK CLI, you can accomplish most tasks on your local computer, helping you be more efficient especially as you become more comfortable with skill development. You can even automate skill development through the ASK CLI. Learn more here, and for more information about the ASK CLI’s commands, check out our technical documentation.

3.     Skill Management API (NodeJS, Python, Java)

The Alexa Skill Management API (SMAPI) provides RESTful HTTP interfaces for programmatically performing Alexa skill management tasks. You can use SMAPI through the ASK CLI or your tool of choice to call APIs. When you make a request to SMAPI, you must provide an access token in the header of the request. Once you get the access token, you can send requests to our API endpoint.

Through RESTful HTTP interfaces, you can do things like create a new skill or update an interaction model, without ever having to open your Alexa developer console. Because the API authenticates the caller through Login with Amazon, any developer can build tools or services to create and update Alexa skills on behalf of their users. In fact, the developer console and ASK CLI both use SMAPI to interact with skills. Learn more here.

 

Tool

Pros

Cons

1

Alexa Developer Console

Easy to use, good for beginners
No need to set up
Guiding features like Sample Utterance Recommendations help with skill development

Loading each page might be frustrating for experienced developers (less efficient)
Some features may not be available (Custom Tasksand Reference based Catalog Management)

2

ASK CLI

Productive for experienced developers (more efficient)
CI/CD integration, for example GitHub workflow
Custom Tasks and Reference based Catalog Management available

Install and set up required
No guiding features like Sample Utterance Recommendations

3

SMAPI

Can programmatically perform tasks
Custom Tasks and Reference based Catalog Management available

Calling API each time may be time consuming
No guiding features like Sample Utterance Recommendations

 

Other Tools for Skill Code Development

ASK SDK (NodeJS, Java, Python)

While not skill development tools, the Alexa Skills Kit (ASK) SDKs are software development tools and libraries that give you programmatic access to Alexa features. The ASK SDKs can help make it easier to build Alexa skills by giving you more time to implement features instead of writing boilerplate code. The available tools include the following:

·      ASK SDK for Node.js

·      ASK SDK for Java

·      ASK SDK for Python

Alexa Skills Kit (ASK) Toolkit for Visual Studio (VS) Code

The ASK toolkit provides a dedicated workspace for Alexa skills in VS Code. You can create, edit, and deploy Alexa skills, create and preview APL documents, and locally test and debug your skills with the Alexa simulator. Because the Alexa Skill Toolkit allows you to test your skill code locally, you can verify changes to skill code without deploying to Amazon Web Services (AWS) Lambda. You can test your skill without leaving VS Code by using the VS Code Alexa simulator page. Learn more here.

All these tools are great choices for skill development, and we hope this article helps demystify when and why you might use each one. As always, we are available to help with any skill development questions through the Contact Us page of your developer console. Happy building!

Recommended Reading

Alexa Skills Kit Command Line Interface (ASK CLI) Overview
Use the Developer Console to create a skill for an app or website (No code)
Amazon product leader Sid Dube explains how skill builders can capitalize on the holiday season to grow revenue

Subscribe