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.
Alexa Developer Console
Easy to use, good for beginners
Install and set up required
Calling API each time may be time consuming
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:
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!