Alexa Skills Kit (ASK) Command Line Interfaces
Last updated 4 days ago by ask-dev-tools .
Apache 2.0 · Original npm · Tarball · package.json
$ cnpm install ask-cli 
SYNC missed versions from official npm registry.

The Alexa Skills Kit Command Line Interface (ASK CLI) is a tool for you to manage your Alexa skills and related AWS Lambda functions. With the ASK CLI, you can now quickly and easily create new skills and update your existing skills from the command line and local development environment.


total npm downloads for ask-cli monthly npm downloads for ask cli

Step 1: Prerequisites for ASK CLI

Step 2: Install ASK CLI

Use npm to install ASK CLI. Run the npm global install command into the ask-cli folder:

$ npm install -g ask-cli

If you are using Linux, the installation may require sudo. We recommend using nvm (node version manager) to install Node.js and npm to avoid permissions issues. See [Using a version manager to install Node.js and npm]

$ (sudo) npm install -g ask-cli

Step 3: Initialize ASK CLI

The first time you use ASK CLI, you must call the init command to initialize the tool with your Amazon developer account.

$ ask init

You will be prompted to select your profile and to log in to your developer account. Once the initialization is complete, you can use ASK CLI to manage your skills.

Step 4: Use ASK CLI Commands to Manage Your Skills

Creating a new skill

The ask new command allows you to quickly create a new Alexa skill.

$ ask new --skill-name 'my-skill'
$ cd my-skill
$ ask deploy

This will create a fully working "Hello World" skill that can be enabled and invoked immediately. If you make any subsequent changes, just use ask deploy again to deploy all of your changes.

Working on an existing skill

The ask clone command allows you to set up a local project from your existing skill.

$ ask clone --skill-id 'amzn1.ask.skill.UUID'
$ cd my-existing-skill-name
# make some changes here
$ ask deploy

ask deploy will deploy all of your changes to skill manifest, interaction models, and AWS Lambda function(s).

To see all of the commands available in ASK CLI, refer to the ASK CLI Reference.

Change Log

Feb 13, 2020


  • Add slot type commands.
  • Skill developers can create slot types outside the context of a skill and use it across multiple skills.

Dec 31, 2019


  • Remove stderr check from hook script execution.
  • Fix deprecation of sinon.sandbox.create() warnings.


  • Bug fix for multiple regions runtime warning false positive.


  • Hosted skill Node.js 10 migration.

Dec 26, 2019


  • Upgrade Nodejs from v8 to v10.

Dec 12, 2019


  • Add new API commands "ask api get-task" and "ask api search-task"

Oct 31, 2019


  • Add new API commands "ask api publish-skill" and "ask api get-skill-publications".
  • Add publication method option in "ask api submit"

Oct 31, 2019


Oct 7, 2019


Sep 12, 2019


  • Support "python3.7" runtime for Alexa hosted skill's Lambda function in command "ask create-hosted-skill".

Sept 5, 2019


  • Added 12 new APIs for reference based catalog management.
  • Reference based Catalog management APIs allow you to create a custom slot which is populated by external data in the form of an https endpoint.
  • Developers can create catalogs outside the context of a skill and use it across multiple skills.

Sep 4, 2019


  • Update to the “create-account-linking” command to let users configure App-to-App Account Linking

Sep 3, 2019


  • Add NLU Annotation Set and NLU Evaluation commands.

Jul 31, 2019


  • Add support for using the CLI behind a proxy server using the ASK_CLI_PROXY environment variable.

Jul 18, 2019


  • Bug fix for validateEndpointSettingsOverExistingResources to check if arn exists.
  • Bug fix in displaying errors on create-isp.

Jul 16, 2019


  • Bug fix to support any Lambda-supported nodejs runtime greater then or equal to v8.

Jul 9, 2019


  • Detect the inconsistency between the vendor id associated with CLI profile and the one in browser when validating captcha for the first hosted skill creation.

Jul 8, 2019


  • Added new command: "ask create-hosted-skill".
  • Ability to deploy an Alexa Hosted Skill while having uncommitted changes.
  • Less verbose output when cloning and deploying an Alexa Hosted Skill.

Jul 2, 2019


  • Enhance "ask deploy" to better support user who doesn't use the default "us-east-1" AWS region. Now, ask-cli will verify if the Lambda settings (both Lambda function name and AWS region) from users are consistent with the Lambda resources tracked in .ask/config before each deploy.

Jun 20, 2019


  • Lock our dependency for command line interaction (inquirer.js) to v6.3.1 to avoid any hanging issue introduced by it.

Jun 11, 2019


  • Remove the spinner when ask-cli is running "git clone" request during "ask new". This unblocks the usage of "ask new --url ${privateGithubRepo}", as the spinner UI disturbs the Github account and password input.

Apr 23, 2019


  • Dialog command official release.

Apr 18, 2019

v1.7.1 Brings Alexa Hosted Skills experience to ASK CLI:

  • "ask clone" command now supports Alexa Hosted Skills.
  • "ask deploy" command now supports Alexa Hosted Skills.
  • "ask diff" command now supports Alexa Hosted Skills.
  • New API commands: "ask api get-alexa-hosted-skill" & "ask api get-git-credentials".

Apr 9, 2019


  • Add new API commands "ask api list-certifications" and "ask api get-certification".
  • Bug fix for dialog command when detecting SessionEndedRequest for multiple invocations case.

Mar 25, 2019


  • Improve the result display for "ask diff" command to divide the diff result into version's diff and content's diff.
  • Add new command "ask api list-model-versions". Modify "ask api get-model" by adding "--model-version" option to retrieve the interaction model for a certain version.
  • Fix the bug that AWS Environmental Variable is not read correctly for AWS client.

Mar 12, 2019


  • Fix the "ask init" issue which quits when trying to overwrite existing profiles.
  • Modify the logic how CLI resolves "uri" field. CLI will check if the "uri" is Lambda ARN or Lambda function name (it's regarded as the name when it satisfies the regex of /a-zA-Z0-9-_/). If the "uri" field doesnt hit either of them, it will be passed to update-skill API which will be consumed by SMAPI.

Feb 6, 2019


  • Fix the NPE when .aws/config doesn't exist.

Feb 5, 2019


  • Supported reciprocalAccessTokenUrl in accountLinkingInfo. Added direct validation for each field when calling create-account-linking API to be able to fail invalid input earlier.

Jan 24, 2019


  • Flow re-design for command "ask init" to provide a simplified profile setup experiences.

Jan 12, 2019


  • Resurface deployment error if AWS Lambda region is not supported by Alexa skills.

Jan 10, 2019


  • Changed the fixed region mapping rule (originally it's always <NA, us-east-1>) for the default endpoint to start to use the same logic as AWS region resolving chain. Users can customize the aws-region for their default endpoint by setting the profile region either in the shared INI file or use specific AWS environment variable now.
  • Add a new API command "ask api nlu-profile"

Dec 11, 2018


  • Added stage option to simulate, simulate-skill, get-simulation, dialog and invoke command to support both live and development skill stage.
  • Added command name to user agent.
  • Fix the "ask init" bug for Windows users who are using NodeJs version over v10.2.0.

Nov 21, 2018


  • Added warning messages when CLI is to deploy Lambda function using "runtime" and "handler" with Nodejs8.10 setting.
  • Removed the validation logic between skill name and skill project name.

Nov 20, 2018


  • Supported Python runtime for Lambda functions and provided official Python templates.
  • Alexa skill project structure change: added hooks folder with command-hook scripts (pre-deploy and post-new) in the project. Supported bash script for Unix and powershell script for Windows.
  • Revisited the "ask new" command to make it better focused on templates provision, including Alexa official templates and 3p custom templates.
  • User experiences improvement on "ask deploy" command.
    • Combined "sourceDir" and "uri" fields in skill.json for users to specify Lambda endpoint in one place.
    • Resolved create/update logic for Lambda function based on the Lambda function name automatically.
    • Enabled the update of Lambda configuration, such as "runtime" and "handler" fields in the project config file.
  • Multiple bug fixes, including the Lambda AWS region mapping logic fix and the Lambda upload command fix.

Nov 8, 2018


  • Bug fix for get-simulation command.

Nov 8, 2018


  • Added dialog command which can simulate multi-turn skill in interactive mode for public beta release.
  • Added replay function for dialog command which replays the user inputs automatically within a replay file.
  • Added !record special command for dialog record the user inputs in the latest session.

Nov 6, 2018


  • Bug fix for beta testing commands.

Oct 29, 2018


  • Start to support catalog APIs. Added new "ask api" commands including "list-catalogs", "create-catalog", "get-catalog", "list-catalog-uploads", "get-catalog-upload", "associate-catalog-with-skill", "upload-catalog".

Sep 28, 2018


  • Use environment variable "ASK_DEPLOY_ROLE_PREFIX" to set IAM Role prefix for ask deploy.

Sep 26, 2018


  • Start to support skill beta testing management. Added new commands "get-beta-test", "create-beta-test", "update-beta-test", "start-beta-test", "end-beta-test", "list-beta-testers", "add-beta-testers", "remove-beta-testers", "send-reminder-to-beta-testers", "request-feedback-from-beta-testers" in ask api command namespace.

Sep 12, 2018


  • Update to Account Linking Request Schema to let users enable the skill without account linking.
  • Bug fix: Skill will now only be enabled when it contains single custom api during deploy.
  • Multiple error message improvements.
  • Added support for Consumable in-skill products.

Aug 14, 2018


  • Bug fix: When AWS environmental variable (AWS_ACCESS_KEY_ID || AWS_SECRET_ACCESS_KEY) exists, CLI used "ENVIRONMENT_ASK_PROFILE" as profile if --profile not specified. Change to use "default" profile for this case, and only use "ENVIRONMENT_ASK_PROFILE" when AWS credential, access token or refresh token, and vendorId environmental variable exist.

July 12, 2018


  • Create Lambda function with runtime "nodejs8.10" and make sure the runtime of Lambda function is "nodejs8.10" for each deploy.
  • Use environmental variable "ASK_DOWNSTREAM_CLIENT" to denote ask-cli's downstream client.
  • Add a new command "ask api get-skill-credentials".
  • Multiple bug fixes.

June 21, 2018


  • Start to support eTag through skill project for all the skill resources: skill.json, models, Lambda functions and In-Skill Products.
  • Improved "ask deploy" by avoiding the potential project overwriting with eTag support. Added "--force" option to deploy the local skill project regardless of eTags, and overwrite the existing skill in the server.
  • Added new command "ask diff" to display the list of differences between local and remote versions of the specified target.
  • Added "resources" field in the project's config ({skill_project}/.ask/config) file to store resource information including eTag(s).

May 16, 2018


  • Supported --file option as file input for create-account-linking API.

May 10, 2018


  • "ask validate" becomes generally available now.

May 3, 2018


  • Started supporting In-Skill Product management.
  • Added new commands "ask add isp" and "add remove isp" to add/remove In-Skill Products to/from the local skill project.
  • Added new command "ask status --isp" which can be used to track the deploy status of In-Skill Products.
  • Modified "ask deploy" command to support deploying In-Skill Products with Skill.
  • Added a new target "isp" to the "ask deploy --target <target>" command to support standalone In-Skill Product deployment.
  • Modified "ask clone" command to support cloning In-Skill Products associated with existing Skill.
  • Added list of new API commands to support In-Skill Products management.
  • Integrated the AWS credentials setup functionality into the CLI. CLI can use environment variables (ASK_REFRESH_TOKEN, AWS_ACCESS_KEY_ID, and so on) to run all the operations.
  • New command "ask util generate-lwa-token", which enables the users to generate access token from their own 3P client credential.
  • Changed the timeout for CLI generated Lambda function to 8s.

April 26, 2018


  • Supported the usage of profile for "ask new --template".
  • Changed the invocation name of the hello world template to "greeter".
  • Avoid enabling skill when using "ask deploy --no-wait" to create the skill and model for the first time.

April 25, 2018


  • Enforced the regex pattern of profile name for ASK CLI to be /[a-zA-Z0-9-_]+/.

April 18, 2018


  • Changed the SDK dependency of the HelloWorld template skill for "ask new" comand to "ask-sdk-core" v2 and "ask-sdk-model".
  • Changed the runtime setting for CLI's creation of Lambda function from v6.10 to v8.10 to support latest Javascript syntax.
  • Provided better error handling for "ask new --url" when the url or its content is invalid.
  • Fixed the bug for "ask clone" with a profile where the name of the AWS profile is different than the ASK profile.
  • Modified "Hello World" template by removing the US_FIRST_NAME intent to support non-US users.

April 11, 2018


  • Added two new API commands: get-validation and validate-skill.
  • Added new command "ask validate" which can be used to validate a skill before submission for certification or at any time during development as regression testing.

April 10, 2018


  • Added new API command: intent-requests-history.
  • Fixed bug for transforming skill manifest from v0 to v1.

March 12, 2018


  • Bug fix for "ask clone" with a non-default profile.

January 31, 2018

v1.1.0 brings the ASK CLI out of beta, with a few notable changes.

  • Added new API commands: delete-account-linking, enable-skill, disable-skill, get-skill-enablement.
  • Added get-skill-status API and remove get-model-status API. Response for get-skill-status will include the status for manifest and all interaction models for the skill.
  • Added optional "stage" parameter for the following API commands, allowing retrieval of live skill details: get-skill, get-model, head-model, get-account-linking.
  • skill.json now has "manifest" instead of "skillManifest" as the top-level key. The merge field in /.ask/config will also be changed to "manifest".

December 28, 2017

  • Version: 1.0.0-beta.9
  • Support the setting for default expiration time for create-account-linking API.

December 7, 2017

  • Version: 1.0.0-beta.8
  • "ask new --template" message improvements.

November 30, 2017

  • Version: 1.0.0-beta.6
  • Publish private skill management for ask-cli.

November 22, 2017

  • Version: 1.0.0-beta.5
  • "ask new" supports option usage of "--template" now. User can select specific template as the start of skill development.

October 27, 2017

  • Version: 1.0.0-beta.4
  • Support Lambda for India and FarEast region.

October 13, 2017

  • Version: 1.0.0-beta.3
  • Add delete-skill command in "api" namespace.
  • Check port usage for ask init to avoid port conflict.
  • Forbid empty string for account linking creation.

October 6, 2017

  • Version: 1.0.0-beta.2
  • Add constraints and filtering for skill names.

September 12, 2017

  • Version: 1.0.0-beta.1
  • Error message improvement for Lambda operations.

September 5, 2017

  • Version: 1.0.0-beta.0
  • Birthday for ask-cli.

Current Tags

  • 1.7.23                                ...           latest (4 days ago)

69 Versions

  • 1.7.23                                ...           4 days ago
  • 1.7.22                                ...           a month ago
  • 1.7.21                                ...           a month ago
  • 1.7.20                                ...           2 months ago
  • 1.7.19                                ...           2 months ago
  • 1.7.18                                ...           2 months ago
  • 1.7.17                                ...           4 months ago
  • 1.7.16                                ...           4 months ago
  • 1.7.15                                ...           4 months ago
  • 1.7.14                                ...           5 months ago
  • 1.7.13                                ...           5 months ago
  • 1.7.12                                ...           5 months ago
  • 1.7.11                                ...           5 months ago
  • 1.7.10                                ...           7 months ago
  • 1.7.9                                ...           7 months ago
  • 1.7.8                                ...           7 months ago
  • 1.7.7                                ...           7 months ago
  • 1.7.6                                ...           7 months ago
  • 1.7.5                                ...           7 months ago
  • 1.7.4                                ...           8 months ago
  • 1.7.3                                ...           8 months ago
  • 1.7.2                                ...           10 months ago
  • 1.7.1                                ...           10 months ago
  • 1.6.6                                ...           10 months ago
  • 1.6.5                                ...           a year ago
  • 1.6.4                                ...           a year ago
  • 1.6.2                                ...           a year ago
  • 1.6.1                                ...           a year ago
  • 1.6.0                                ...           a year ago
  • 1.5.4                                ...           a year ago
  • 1.5.3                                ...           a year ago
  • 1.5.2                                ...           a year ago
  • 1.5.1                                ...           a year ago
  • 1.5.0                                ...           a year ago
  • 1.4.9                                ...           a year ago
  • 1.4.8                                ...           a year ago
  • 1.4.7                                ...           a year ago
  • 1.4.6                                ...           a year ago
  • 1.4.5                                ...           a year ago
  • 1.4.4                                ...           a year ago
  • 1.4.3                                ...           a year ago
  • 1.4.2                                ...           2 years ago
  • 1.4.1                                ...           2 years ago
  • 1.4.0                                ...           2 years ago
  • 1.3.3                                ...           2 years ago
  • 1.3.1                                ...           2 years ago
  • 1.3.0                                ...           2 years ago
  • 1.2.2                                ...           2 years ago
  • 1.2.1                                ...           2 years ago
  • 1.2.0                                ...           2 years ago
  • 1.1.6                                ...           2 years ago
  • 1.1.5                                ...           2 years ago
  • 1.1.4                                ...           2 years ago
  • 1.1.3                                ...           2 years ago
  • 1.1.2                                ...           2 years ago
  • 1.1.1                                ...           2 years ago
  • 1.1.0                                ...           2 years ago
  • 1.0.0-beta.9                                ...           2 years ago
  • 1.0.0-beta.8                                ...           2 years ago
  • 1.0.0-beta.7                                ...           2 years ago
  • 1.0.0-beta.6                                ...           2 years ago
  • 1.0.0-beta.5                                ...           2 years ago
  • 1.0.0-beta.4                                ...           2 years ago
  • 1.0.0-beta.3                                ...           2 years ago
  • 1.0.0-beta.2                                ...           2 years ago
  • 1.0.0-beta.1                                ...           2 years ago
  • 1.0.0-beta.0                                ...           2 years ago
  • 1.0.0                                ...           2 years ago
  • 0.7.0                                ...           3 years ago
Maintainers (1)
Today 0
This Week 0
This Month 18
Last Day 0
Last Week 17
Last Month 145
Dependencies (34)
Dev Dependencies (10)

Copyright 2014 - 2017 © |