Alexa Skills Toolkit for Visual Studio Code is an extension that makes it easier for you to create, test, and deploy Alexa skills. It provides a dedicated workspace for Alexa Skills in VS Code and provides features for managing and previewing APL documents along with the ability to test and debug your skills in VS Code with local debugging.
See the getting started documentation
- To create and deploy Alexa-hosted skills, download Git and install it. We recommend the latest version of
git
to have a seamless experience. - Install and configure VSCode Python extension, if you plan to develop skills using python.
Note :
ASK CLI
is no longer a requirement for the extension and the commands are no longer available in the VSCode Command Palette. Please install and use theASK CLI
directly.
- Set up skill project
- Quickly set up an Alexa skill project by creating a skill or downloading an existing skill or opening a local skill. Any skill that follows the ASK CLI v2 skill structure is supported. Use the Skill Management tab under the extension, to try these out.
- Once opened, your skill project will appear under the Skills pane in the extension sidebar.
Note: Currently, Alexa Skills Toolkit only supports creation and deployment of Alexa-hosted skills.
- Build or Download Interaction Model
- Edit the Interaction Model JSON under
Skill Package
folder of your skill project. - Alternatively, download the updated Interaction Model JSON from developer console using the Download option under Skills pane -> YourAwesomeSkill -> Interaction model.
- Edit the Interaction Model JSON under
Note: Currently, only saved and built interaction models can be downloaded from developer console.
-
Build or Download Skill Manifest
- Edit the Skill Manifest JSON under
Skill Package
folder of your skill project. - Alternatively, download the updated Skill Manifest JSON from developer console using the Download option under Skills pane -> YourAwesomeSkill -> Skill manifest.
- Edit the Skill Manifest JSON under
-
Create, Download & Preview APL Documents
- Create new APL documents using the Create option under Skills pane -> YourAwesomeSkill -> Alexa Presentation Language (APL).
- Download saved APL documents in the APL Authoring tool, using Download option under Skills pane -> YourAwesomeSkill -> Alexa Presentation Language (APL).
- Preview APL documents in
Skill Package
, using Preview option under Skills pane -> YourAwesomeSkill -> Alexa Presentation Language (APL). - Optionally, change the viewport of the preview to a different device, using Change viewport profile option under Skills pane -> YourAwesomeSkill -> Alexa Presentation Language (APL).
-
Test & Debug Skills Locally
- Add default Node/Python debug configurations in your skill's
launch.json
debug configuration file, install dependencies (ask-sdk-local-debug
) and start a local debug session. More information can be found on the getting started documentation - Simulate alexa requests through local simulator in the extension.
- Save and replay the simulate session through the local simulator.
- Add default Node/Python debug configurations in your skill's
Note: If you are using any existing profiles, we recommend you to recreate them again from the Skill Management tab -> hamburger (
...
) menu -> Profile Manager view, so that the profile will contain all LWA scopes needed for local debugging.
- Deploy your skill
- Deploy all committed changes in your skill, using the Deploy & Build option under Skills pane -> YourAwesomeSkill.
Note: Currently, Alexa Skills Toolkit only supports deployment of Alexa-hosted skills, using Git. Commit any changes you wish to deploy to your skill's
master
branch. You can use VS Code's built-in Git support or any Git client.
-
Documentation
- Quickly jump to Alexa Skills Kit docs using the links under Documentation pane.
-
Profile Manager
- Create or delete profiles using Profile Manager under the hamburger menu (
...
) of Skill Management pane. - Quickly jump between multiple developer profiles using the
ASK Profile
status bar item.
- Create or delete profiles using Profile Manager under the hamburger menu (
and many more ...
-
How do I setup and configure Alexa Skills Kit Toolkit extension when doing Visual Studio Code Remote Development using SSH?
Note: Install Remote - SSH extension on Visual Studio Code, then connect to remote machine over SSH.
- Install Alexa Skills Kit Toolkit extension on SSH after connecting to remote machine over SSH.
- Forward port 9090 on Remote-SSH extension, please refer to Forwarding a port / creating SSH tunnel.
- Click on the Alexa activity tab icon and sign in.
-
What if I failed to sign in Amazon account over SSH remote development?
- Please refer to Forwarding a port / creating SSH tunnel to check whether you have forwarded port 9090.
-
Why do I get a prompt for Git credentials when an Alexa hosted skill is created or downloaded?
- The git credential is used to access the AWS CodeCommit repository that the hosted skill resides at. This is one of the AWS resources Alexa-hosted skills service provides when creating a skill, explained here.
- To get the hosted skills' git credentials, you can call SMAPI API manually, or use the ASK CLI command. The git credentials are short-lived, and need to be refreshed periodically, to keep being able to access the locally cloned hosted skill git.
- The ASK Toolkit extension is able to automatically configure the credential helper for the hosted skills, and fetch the credentials whenever executing git operations. However, we observed that some specific versions(2.26.x and 2.25.x) of git cannot configure the credential helper properly, leading to the Git credentials prompt.
- Therefore, we suggest checking your git version using
git version
. If it is versions 2.25.x or 2.26.x, you need to update to Git >= 2.27.x. This should prevent being asked for Git credentials again. - Otherwise, we suggest you create an issue report.
We would like to hear about your bugs, feature requests, questions or quick feedback.
- Write us a review
- Upvote 👍 feature requests
- Ask a question
- Request a new feature
- File an issue
The Alexa Skill Toolkit for VSCode extension is distributed under the Apache License, Version 2.0. Any marks/logos displayed as part of the extension GUI are not licensed under an open source license, but instead subject to Amazon’s Trademark Guidelines, available here.
The Alexa Skill Toolkit for VSCode extension collects usage data and sends it to Amazon to help improve our products and services. This extension respects the Ask: Telemetry Enabled
/ ask.telemetryEnabled
setting under the extension settings.