Nuanced Pterodactyl Monk
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »


1.4.9 • Public • Published

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

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.

August 21, 2018


  • Add a new command "ask dialog" for public beta release.

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 " 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.



npm i ask-cli

Downloadsweekly downloads





Apache 2.0

last publish


  • avatar
Report a vulnerability